mc-server / Dockerfile
asfag654's picture
Upload 2 files
2631f60 verified
raw
history blame
1.27 kB
FROM openjdk:21-jdk-slim
# 更新包列表并安装 curl
RUN apt-get update && apt-get install -y curl
# 创建缓存目录并设置权限
RUN mkdir -p /minecraft/cache && chmod -R 777 /minecraft/cache
# 创建必要的目录并设置权限
RUN mkdir -p /minecraft/versions/1.21 && chmod -R 777 /minecraft/versions
# 设置工作目录
WORKDIR /minecraft
# 复制 Paper jar 文件到工作目录并设置权限
COPY paper.jar /minecraft/paper.jar
COPY 1.21.jar /minecraft/1.21.jar
RUN chmod 777 /minecraft/paper.jar
RUN chmod 777 /minecraft/1.21.jar
# 复制配置文件
COPY server.properties /minecraft/server.properties
COPY eula.txt /minecraft/eula.txt
# 获取并输出公网 IP 到控制台
RUN curl ifconfig.me
# 暴露 Minecraft 服务器默认端口
EXPOSE 25565
RUN chmod -R 777 /minecraft
# 启动命令
CMD ["java", "-Xms4G", "-Xmx8G", "-XX:+UseG1GC", "-XX:MaxGCPauseMillis=50", "-XX:+UnlockExperimentalVMOptions", "-XX:+ParallelRefProcEnabled", "-XX:+AlwaysPreTouch", "-XX:G1HeapWastePercent=5", "-XX:G1MixedGCCountTarget=4", "-XX:G1MixedGCLiveThresholdPercent=90", "-XX:InitiatingHeapOccupancyPercent=15", "-XX:G1NewSizePercent=30", "-XX:G1MaxNewSizePercent=40", "-XX:G1HeapRegionSize=16M", "-jar", "1.21.jar", "nogui"]