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"]