Skip to content

Commit c103457

Browse files
Merge pull request #301 from Dans-Plugins/release/v1.13.0
Release/v1.13.0
2 parents 0891876 + ef324f0 commit c103457

16 files changed

Lines changed: 116 additions & 4 deletions

File tree

.devcontainer/Dockerfile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
FROM maven:3.8-eclipse-temurin-21-alpine
2+
3+
WORKDIR /workspaces/Medieval-Roleplay-Engine
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
docker build . -t mre-dev-container
2+
docker run -it -v %cd%\..\:/workspaces/Medieval-Roleplay-Engine mre-dev-container /bin/bash
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
docker build . -t mre-dev-container
2+
docker run -it -v $(pwd)/../:/workspaces/Medieval-Roleplay-Engine mre-dev-container /bin/bash

.testcontainer/README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Test Container
2+
The test container builds a minecraft server and the plugin to test it. It is used to test the plugin in a real environment.
3+
4+
## Modifying ops.json
5+
The ops.json file is used to give players operator permissions. This file is located in the server directory. To make a player an operator, add their username & UUID to the file.

.testcontainer/ops.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
[
2+
{
3+
"uuid": "0a9fa342-3139-49d7-8acb-fcf4d9c1f0ef",
4+
"name": "DanTheTechMan",
5+
"level": 4,
6+
"bypassesPlayerLimit": false
7+
}
8+
]

.testcontainer/post-create.sh

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
echo "Running 'post-create.sh' script..."
2+
if [ -z "$(ls -A /testmcserver)" ]; then
3+
echo "Setting up server..."
4+
# Copy server JAR
5+
cp /testmcserver-build/spigot-1.20.6.jar /testmcserver/spigot-1.20.6.jar
6+
7+
# Create plugins directory
8+
mkdir /testmcserver/plugins
9+
10+
# Install MedievalRoleplayEngine
11+
cp /mre-build/target/Medieval-Roleplay-Engine-*.jar /testmcserver/plugins
12+
13+
# Copy config files
14+
cp /resources/ops.json /testmcserver
15+
16+
# Accept EULA
17+
cd /testmcserver && echo "eula=true" > eula.txt
18+
else
19+
echo "Server is already set up."
20+
fi
21+
22+
java -jar /testmcserver/spigot-1.20.6.jar

.vscode/settings.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"java.configuration.updateBuildConfiguration": "disabled"
3+
}

Dockerfile

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
FROM maven:3.8-eclipse-temurin-21-alpine
2+
3+
# Install dependencies g`
4+
RUN apk add --no-cache git wget
5+
6+
# Build server
7+
WORKDIR /testmcserver-build
8+
RUN wget -O BuildTools.jar https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar
9+
RUN git config --global --unset core.autocrlf || :
10+
RUN java -jar BuildTools.jar --rev 1.20.6
11+
12+
# Build plugin
13+
WORKDIR /mre-build
14+
COPY . .
15+
RUN mvn package
16+
17+
# Copy resources and make post-create.sh executable
18+
COPY ./.testcontainer /resources
19+
RUN chmod +x /resources/post-create.sh
20+
21+
# Run server
22+
WORKDIR /testmcserver
23+
EXPOSE 25565
24+
ENTRYPOINT /resources/post-create.sh

compose.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
services:
2+
testmcserver:
3+
build: .
4+
image: mre-test-mc-server
5+
container_name: mre-test-mc-server
6+
ports:
7+
- "25565:25565"

down.bat

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
docker compose down --remove-orphans

0 commit comments

Comments
 (0)