Minecraft Server Deploy Skill Skill Name minecraft_server_deploy --- Skill Description 在具有网络访问能力但没有公网 IPv4 的 Linux 容器环境中,自动部署 Minecraft 服务器,并通过 FRP 实现公网访问。 功能: 1. 询问 Minecraft 版本 2. 询问服务端类型 3. 自动匹配并部署 Dragonwell JDK 4. 部署 Minecraft 服务端 5. 部署 FRP 6. 验证环境 7. 输出启动方式 --- Global Constraints Workspace Restriction 所有文件操作必须限制在: workspace/ 禁止访问: / ~/ /root /etc /usr /opt /tmp /var 禁止: sudo su apt apt-get yum dnf apk 禁止安装系统软件。 禁止修改 PATH。 所有文件必须位于: workspace/minecraft/ --- Directory Structure workspace/ └── minecraft/ ├── server/ │ ├── server.jar │ ├── eula.txt │ ├── server.properties │ ├── world/ │ └── logs/ │ ├── java/ │ └── jdk/ │ ├── frp/ │ ├── launcher/ │ ├── frpc │ └── frpc.toml │ ├── downloads/ └── logs/ --- Trigger Conditions 触发词包括: 搭建Minecraft服务器 搭建我的世界服务器 开个MC服 部署MC服务器 Minecraft Deploy --- User Requirement Collection 开始前必须询问: Minecraft版本 例如: 1.12.2 1.20.1 1.21.1 --- 服务端类型 A. Vanilla B. Paper Purpur C. Forge NeoForge Fabric D. Mohist Arclight Banner --- 是否需要FRP 是否需要通过FRP实现公网访问? 推荐开启。 --- Server Core Acquisition Policy 用户上传核心优先原则 在下载服务端核心前必须先询问: 为了提高部署成功率,建议您自行下载服务端核心后直接上传给我。 推荐镜像站: https://www.fastmirror.net/#/home 如果直接上传核心文件,我可以立即开始部署。 如果让我自行下载,可能出现: - 下载耗时很长 - 镜像源失效 - 下载超时 - 下载失败 --- 用户上传模式 若用户上传: paper.jar purpur.jar server.jar forge-installer.jar fabric-server.jar neoforge-installer.jar Agent必须: 验证文件存在 验证文件大小 验证版本匹配 复制为: workspace/minecraft/server/server.jar 然后继续部署。 --- 用户拒绝上传 若用户坚持: 继续 自己下载 则允许进入自动下载模式。 --- 自动下载优先级 FastMirror推荐源 ↓ BMCLAPI ↓ MCSLAPI ↓ 官方API ↓ 官方下载源 自动执行镜像切换。 --- 下载失败 必须告知: 未能成功获取服务端核心。 建议前往: https://www.fastmirror.net/#/home 下载对应服务端核心后上传给我。 禁止伪造下载成功。 --- Minecraft Server Selection Logic Vanilla 官方 Vanilla Server --- 插件端 优先: Paper 其次: Purpur --- 模组端 Fabric Forge NeoForge --- 混合端 优先: Mohist ↓ Arclight ↓ Banner --- Java Installation Policy Rootless Policy 由于 Agent 运行在 Docker 容器: 禁止: apt install yum install dnf install apk add Java 必须通过下载压缩包部署。 --- Dragonwell JDK Java 8 适用于: 1.12.2 1.16.5及以下 https://dragonwell.oss-cn-shanghai.aliyuncs.com/8.29.28/Alibaba_Dragonwell_Standard_8.29.28_x64_linux.tar.gz --- Java 17 适用于: 1.17.x 1.18.x 1.19.x 1.20.x https://dragonwell.oss-cn-shanghai.aliyuncs.com/**.**.**.**.20%2B10/Alibaba_Dragonwell_Standard_17.**.**.**.**.10_x64_linux.tar.gz --- Java 21 适用于: 1.21.x https://dragonwell.oss-cn-shanghai.aliyuncs.com/**.**.**.**.11%2B10/Alibaba_Dragonwell_Standard_21.**.**.**.**.10_x64_linux.tar.gz --- Java 25 适用于: 未来高版本 https://dragonwell.oss-cn-shanghai.aliyuncs.com/**.**.**.**.3%2B9/Alibaba_Dragonwell_Standard_25.**.**.**.**.9_x64_linux.tar.gz --- Java Mapping Minecraft| Java ≤1.16.5| Java 8 1.17.x| Java 17 1.18.x| Java 17 1.19.x| Java 17 1.20.x| Java 17 1.21.x| Java 21 ≥1.26.x| Java 25 --- 安装位置 workspace/minecraft/java/jdk/ 使用: workspace/minecraft/java/jdk/bin/java 禁止依赖系统 Java。 --- Server Initialization 生成: workspace/minecraft/server/eula.txt 内容: eula=true --- 生成: workspace/minecraft/start.sh 示例: #!/bin/bash JAVA="workspace/minecraft/java/jdk/bin/java" "$JAVA" \ -Xms2G \ -Xmx4G \ -jar workspace/minecraft/server/server.jar \ nogui --- FRP Deployment Logic SakuraFrp优先原则 必须先询问: 推荐使用 SakuraFrp。 是否使用 SakuraFrp? --- FRP Client Preference Policy 官方客户端优先 若服务商提供: Launcher CLI Agent 必须优先使用。 禁止优先: frpc frpc.toml --- SakuraFrp 优先下载: https://nya.globalslb.net/natfrp/client/launcher-unix/3.1.8/natfrp-service_linux_amd64.tar.zst 安装: workspace/minecraft/frp/launcher/ --- SakuraFrp流程 向用户索取: 登录令牌(Token) 隧道编号(Tunnel ID) 流程: 下载Launcher ↓ 解压 ↓ 验证 ↓ 配置Token ↓ 配置Tunnel ID ↓ 启动 ↓ 验证状态 --- 允许使用frpc的情况 仅限: Launcher不可用 用户明确要求 服务商无官方客户端 --- 用户帮助原则 如果用户不会操作 FRP: 优先查询: 官网 官方帮助中心 官方Wiki 官方GitHub 然后指导用户。 禁止优先依赖第三方教程。 --- Validation 部署结束后必须检查: Java workspace/minecraft/java/jdk/bin/java -version --- Server workspace/minecraft/server/server.jar 存在且大于: 10MB --- EULA workspace/minecraft/server/eula.txt 存在。 --- Start Script workspace/minecraft/start.sh 存在且可执行。 --- FRP Launcher模式: Launcher存在 Token已配置 Tunnel已配置 运行正常 FRPC模式: frpc --version 返回版本号。 --- Completion Criteria 仅当以下全部满足: ✓ Java已下载 ✓ Java版本正确 ✓ 服务端核心已获取 ✓ 服务端核心可运行 ✓ EULA已配置 ✓ 启动脚本已生成 ✓ FRP已配置 ✓ 所有文件位于workspace目录 ✓ 所有检查通过 才允许输出: Minecraft服务器部署完成 服务器目录: workspace/minecraft/ 启动命令: bash workspace/minecraft/start.sh --- Agent Execution Principles 1. 必须先确认Minecraft版本。 2. 必须先确认服务端类型。 3. 下载服务端核心前必须优先询问用户是否愿意上传核心文件。 4. 推荐用户使用 FastMirror 下载核心后上传。 5. 用户上传核心时必须优先采用上传模式。 6. 仅在用户拒绝上传时才进入自动下载模式。 7. 自动下载失败时再次建议用户上传核心文件。 8. Java必须使用预设Dragonwell下载地址。 9. 禁止使用apt/yum/dnf/apk安装Java。 10. Java必须解压到workspace目录。 11. 所有文件只能存放在workspace目录。 12. 不得修改系统环境。 13. 优先使用国内镜像源。 14. 必须支持镜像自动切换。 15. 必须优先推荐SakuraFrp。 16. 若FRP服务商提供Launcher、CLI或Agent,必须优先使用。 17. SakuraFrp默认使用Launcher模式。 18. 用户不会操作FRP时优先查阅官方文档。 19. 必须验证Java。 20. 必须验证服务端核心。 21. 必须验证FRP组件。 22. 未通过检查不得宣告完成。 23. 不得伪造下载结果。 24. 不得伪造校验结果。 25. 所有关键步骤必须向用户报告进度。