49 lines
2.3 KiB
Docker
49 lines
2.3 KiB
Docker
FROM docker.io/eclipse-temurin:25-jre-alpine
|
|
EXPOSE 25565
|
|
|
|
ENV MINECRAFT_VERSION=26.2
|
|
|
|
VOLUME /mnt
|
|
WORKDIR /data
|
|
RUN apk add --no-cache curl jq
|
|
RUN curl -s "https://fill.papermc.io/v3/projects/paper/versions/$MINECRAFT_VERSION/builds/latest" \
|
|
| jq -r '.downloads."server:default".url' \
|
|
| xargs curl -o server.jar
|
|
|
|
RUN mkdir -p /data/plugins
|
|
RUN wget -P /data/plugins \
|
|
https://download.luckperms.net/1652/bukkit/loader/LuckPerms-Bukkit-5.5.65.jar \
|
|
https://hangarcdn.papermc.io/plugins/ViaVersion/ViaVersion/versions/5.11.0/PAPER/ViaVersion-5.11.0.jar \
|
|
https://hangarcdn.papermc.io/plugins/ViaVersion/ViaBackwards/versions/5.11.0/PAPER/ViaBackwards-5.11.0.jar
|
|
COPY ./plugins/LuckPerms /data/plugins
|
|
|
|
COPY --chmod=755 entrypoint.sh /entrypoint.sh
|
|
COPY ./server.properties /data
|
|
RUN mkdir -p /data/config
|
|
COPY ./paper-global.yml /data/config
|
|
COPY ./ops.json /data
|
|
|
|
RUN printf eula=true > eula.txt
|
|
RUN java -Xms3072M -Xmx3072M --add-modules=jdk.incubator.vector -XX:+UseG1GC \
|
|
-XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 \
|
|
-XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch \
|
|
-XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 \
|
|
-XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 \
|
|
-XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 \
|
|
-XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 \
|
|
-Dusing.aikars.flags=https://mcflags.emc.gs \-Daikars.new.flags=true \
|
|
-XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M \
|
|
-XX:G1ReservePercent=20 -jar server.jar --nogui --initSettings
|
|
|
|
ENTRYPOINT ["/entrypoint.sh"]
|
|
CMD ["java", "-Xms3072M", "-Xmx3072M", "--add-modules=jdk.incubator.vector", \
|
|
"-XX:+UseG1GC", "-XX:+ParallelRefProcEnabled", "-XX:MaxGCPauseMillis=200", \
|
|
"-XX:+UnlockExperimentalVMOptions", "-XX:+DisableExplicitGC", \
|
|
"-XX:+AlwaysPreTouch", "-XX:G1HeapWastePercent=5", "-XX:G1MixedGCCountTarget=4", \
|
|
"-XX:InitiatingHeapOccupancyPercent=15", "-XX:G1MixedGCLiveThresholdPercent=90", \
|
|
"-XX:G1RSetUpdatingPauseTimePercent=5", "-XX:SurvivorRatio=32", \
|
|
"-XX:+PerfDisableSharedMem", "-XX:MaxTenuringThreshold=1", \
|
|
"-Dusing.aikars.flags=https://mcflags.emc.gs", "-Daikars.new.flags=true", \
|
|
"-XX:G1NewSizePercent=30", "-XX:G1MaxNewSizePercent=40", \
|
|
"-XX:G1HeapRegionSize=8M", "-XX:G1ReservePercent=20", \
|
|
"-jar", "server.jar", "--nogui"]
|