First commit
This commit is contained in:
parent
d2fe502e6c
commit
ad7415d87d
5 changed files with 111 additions and 0 deletions
71
Dockerfile
Normal file
71
Dockerfile
Normal 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
0
crontab
Normal file
26
restart.sh
Normal file
26
restart.sh
Normal 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
11
run_example.sh
Executable 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
3
start.sh
Normal 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
|
Loading…
Add table
Reference in a new issue