First commit

This commit is contained in:
Marc Tönsing 2018-12-18 10:39:59 +01:00
parent d2fe502e6c
commit ad7415d87d
5 changed files with 111 additions and 0 deletions

71
Dockerfile Normal file
View file

@ -0,0 +1,71 @@
################################
### We use a java base image ###
################################
FROM openjdk:8 AS build
MAINTAINER Marc Tönsing <marc@marc.tv>
#################
### Arguments ###
#################
ARG PAPERSPIGOT_CI_URL=https://papermc.io/ci/job/Paper-1.13/lastSuccessfulBuild/artifact/paperclip.jar
##########################
### Download paperclip ###
##########################
ADD ${PAPERSPIGOT_CI_URL} /opt/minecraft/server/paperclip.jar
############################################
### Run paperclip and obtain patched jar ###
############################################
RUN cd /opt/minecraft/server/ \
&& java -jar paperclip.jar; exit 0
RUN cd /opt/minecraft/server/ \
&& mv cache/patched*.jar paperspigot.jar
###########################
### Running environment ###
###########################
FROM anapsix/alpine-java:latest
RUN apk --update add screen
###################
### Environment ###
###################
ENV JAVA_ARGS "-Xmx3G"
ENV SPIGOT_ARGS ""
ENV PAPERSPIGOT_ARGS ""
#########################
### Working directory ###
#########################
WORKDIR /data
###########################################
### Obtain runable jar from build stage ###
###########################################
COPY --from=build /opt/minecraft/server/paperspigot.jar /opt/minecraft/server/paperspigot.jar
########################
### Obtain starth.sh ###
########################
ADD start.sh /opt/minecraft/server/start.sh
###############
### Volumes ###
###############
VOLUME "/data"
#############################
### Expose minecraft port ###
#############################
EXPOSE 25565
######################################
### Entrypoint is the start script ###
######################################
ENTRYPOINT sh /opt/minecraft/server/start.sh

0
crontab Normal file
View file

26
restart.sh Normal file
View file

@ -0,0 +1,26 @@
#!/bin/sh
# Marc Tönsing - V1.1 - 18.05.2018
# Minecraft Server restart
screen -Rd minecraft -X stuff "say Server is restarting in 30 seconds! $(printf '\r')"
sleep 23s
screen -Rd minecraft -X stuff "say Server is restarting in 7 seconds! $(printf '\r')"
sleep 1s
screen -Rd minecraft -X stuff "say Server is restarting in 6 seconds! $(printf '\r')"
sleep 1s
screen -Rd minecraft -X stuff "say Server is restarting in 5 seconds! $(printf '\r')"
sleep 1s
screen -Rd minecraft -X stuff "say Server is restarting in 4 seconds! $(printf '\r')"
sleep 1s
screen -Rd minecraft -X stuff "say Server is restarting in 3 seconds! $(printf '\r')"
sleep 1s
screen -Rd minecraft -X stuff "say Server is restarting in 2 seconds! $(printf '\r')"
sleep 1s
screen -Rd minecraft -X stuff "say Server is restarting in 1 second! $(printf '\r')"
sleep 1s
screen -Rd minecraft -X stuff "say Closing server...$(printf '\r')"
screen -Rd minecraft -X stuff "stop $(printf '\r')"
sleep 15s
# echo "Updating to most recent paperclip version."
# wget -q https://papermc.io/ci/job/Paper-1.13/lastSuccessfulBuild/artifact/paperclip.jar -O /home/pi/minecraft/paperclip.jar
echo "Restarting now."
sudo /sbin/reboot

11
run_example.sh Executable file
View file

@ -0,0 +1,11 @@
docker build -t minecraftpaperserver .
docker run \
--rm \
-v ~/server:/data:rw \
-p 25565:25565 \
-it minecraftpaperserver:latest
# --entrypoint=/bin/bash \

3
start.sh Normal file
View file

@ -0,0 +1,3 @@
#/bin/sh
java -version
java -jar $JAVA_ARGS -Dcom.mojang.eula.agree=true /opt/minecraft/server/paperspigot.jar $SPIGOT_ARGS $PAPERSPIGOT_ARGS