V1 with rcon

This commit is contained in:
Marc Tönsing 2018-12-19 16:56:18 +01:00
parent b663f39fa6
commit 0a769a9ed5
12 changed files with 93 additions and 43 deletions

BIN
.DS_Store vendored Normal file

Binary file not shown.

View file

@ -47,13 +47,28 @@ COPY --from=build /opt/minecraft/server/paperspigot.jar /opt/minecraft/server/pa
########################
### Obtain starth.sh ###
########################
ADD start.sh /opt/minecraft/server/start.sh
ADD dockerfiles/start.sh /opt/minecraft/server/start.sh
############################
### Obtain server config ###
###########################
ADD dockerfiles/server.properties /opt/minecraft/server/server.properties
###############
### Volumes ###
###############
VOLUME "/data"
###############
### RCON ###
###############
ARG RCON_CLI_VER=1.4.0
ARG ARCH=amd64
ADD https://github.com/itzg/rcon-cli/releases/download/${RCON_CLI_VER}/rcon-cli_${RCON_CLI_VER}_linux_${ARCH}.tar.gz /tmp/rcon-cli.tgz
RUN tar -x -C /usr/local/bin -f /tmp/rcon-cli.tgz rcon-cli && \
rm /tmp/rcon-cli.tgz
#############################
### Expose minecraft port ###
#############################

View file

@ -1 +0,0 @@
*/1 * * * * /opt/minecraft/server/restart.sh

View file

@ -0,0 +1,44 @@
#Minecraft server properties
#Wed Dec 19 15:40:50 GMT 2018
generator-settings=
force-gamemode=false
allow-nether=true
enforce-whitelist=false
gamemode=0
broadcast-console-to-ops=true
enable-query=true
player-idle-timeout=0
difficulty=1
broadcast-rcon-to-ops=true
spawn-monsters=true
op-permission-level=4
pvp=true
snooper-enabled=true
level-type=DEFAULT
rcon.ip=
hardcore=false
enable-command-block=false
max-players=9
network-compression-threshold=256
resource-pack-sha1=
max-world-size=29999984
rcon.port=25575
server-port=25565
debug=false
server-ip=
spawn-npcs=true
allow-flight=false
level-name=world
view-distance=10
resource-pack=
spawn-animals=true
white-list=false
rcon.password=mcserver
generate-structures=true
online-mode=true
max-build-height=256
level-seed=
prevent-proxy-connections=false
use-native-transport=true
enable-rcon=true
motd=A DOCKER Minecraft Server

3
dockerfiles/start.sh Normal file
View file

@ -0,0 +1,3 @@
#/bin/sh
cd /data
/opt/jdk1.8.0_192/jre/bin/java -jar -Xms800M -Xmx800M -Dcom.mojang.eula.agree=true /opt/minecraft/server/paperspigot.jar

View file

@ -1,24 +0,0 @@
#!/bin/sh
# Marc Tönsing - V1.2 - 18.05.2018
# Minecraft Server restart
docker exec -i -t mcserver screen -Rd minecraft -X stuff "say Server is restarting in 30 seconds! $(printf '\r')"
sleep 23s
docker exec -i -t mcserver screen -Rd minecraft -X stuff "say Server is restarting in 7 seconds! $(printf '\r')"
sleep 1s
docker exec -i -t mcserver screen -Rd minecraft -X stuff "say Server is restarting in 6 seconds! $(printf '\r')"
sleep 1s
docker exec -i -t mcserver screen -Rd minecraft -X stuff "say Server is restarting in 5 seconds! $(printf '\r')"
sleep 1s
docker exec -i -t mcserver screen -Rd minecraft -X stuff "say Server is restarting in 4 seconds! $(printf '\r')"
sleep 1s
docker exec -i -t mcserver screen -Rd minecraft -X stuff "say Server is restarting in 3 seconds! $(printf '\r')"
sleep 1s
docker exec -i -t mcserver screen -Rd minecraft -X stuff "say Server is restarting in 2 seconds! $(printf '\r')"
sleep 1s
docker exec -i -t mcserver screen -Rd minecraft -X stuff "say Server is restarting in 1 second! $(printf '\r')"
sleep 1s
docker exec -i -t mcserver screen -Rd minecraft -X stuff "say Closing server...$(printf '\r')"
docker exec -i -t mcserver screen -Rd minecraft -X stuff "stop $(printf '\r')"
sleep 15s
echo "Restarting now."
./run.sh

26
restart_docker.sh Executable file
View file

@ -0,0 +1,26 @@
#!/bin/sh
# Marc Tönsing - V1.2 - 18.05.2018
# Minecraft Server restart
echo "Starting countdown via rcon-cli."
docker exec -i -t mcserver rcon-cli --port 25575 --password mcserver say Server is restarting in 30 seconds!
sleep 23s
docker exec -i -t mcserver rcon-cli --port 25575 --password mcserver say Server is restarting in 7 seconds!
sleep 1s
docker exec -i -t mcserver rcon-cli --port 25575 --password mcserver say Server is restarting in 6 seconds!
sleep 1s
docker exec -i -t mcserver rcon-cli --port 25575 --password mcserver say Server is restarting in 5 seconds!
sleep 1s
docker exec -i -t mcserver rcon-cli --port 25575 --password mcserver say Server is restarting in 4 seconds!
sleep 1s
docker exec -i -t mcserver rcon-cli --port 25575 --password mcserver say Server is restarting in 3 seconds!
sleep 1s
docker exec -i -t mcserver rcon-cli --port 25575 --password mcserver say Server is restarting in 2 seconds!
sleep 1s
docker exec -i -t mcserver rcon-cli --port 25575 --password mcserver say Server is restarting in 1 second!
sleep 1s
echo "Stopping server."
docker exec -i -t mcserver rcon-cli --port 25575 --password mcserver say Closing server...
docker exec -i -t mcserver rcon-cli --port 25575 --password mcserver stop
sleep 15s
echo "Restarting now."
./run_docker.sh

View file

@ -1,12 +1,7 @@
docker build -t minecraftpaperserver .
docker run \
--rm \
--name mcserver \
--entrypoint=/bin/bash \
-v ~/server:/data:rw \
-p 25565:25565 \
-itd minecraftpaperserver:latest
# --entrypoint=/bin/bash \

View file

@ -1,7 +0,0 @@
#/bin/sh
cd /data
/usr/bin/screen -S minecraft /opt/jdk1.8.0_192/jre/bin/java -jar -Xms800M -Xmx800M -Dcom.mojang.eula.agree=true /opt/minecraft/server/paperspigot.jar
screen -ls
#java -version
#java -jar $JAVA_ARGS -Dcom.mojang.eula.agree=true /opt/minecraft/server/paperspigot.jar $SPIGOT_ARGS $PAPERSPIGOT_ARGS

View file

@ -1,4 +0,0 @@
#!/bin/sh
# Marc Tönsing - V1.2 - 18.05.2018
docker exec -i -t mcserver screen -Rd minecraft -X stuff "say Closing server...$(printf '\r')"
docker exec -i -t mcserver screen -Rd minecraft -X stuff "stop $(printf '\r')"

3
stop_docker.sh Executable file
View file

@ -0,0 +1,3 @@
#!/bin/sh
docker exec -i -t mcserver rcon-cli --port 25575 --password mcserver say server will shut down
docker exec -i -t mcserver rcon-cli --port 25575 --password mcserver stop