MineWiki
Java 版开服教程配置文件

资源包与数据包

资源包负责客户端视觉内容,数据包负责世界数据和函数;两者的部署方式与风险不同

资源包和数据包经常被一起提起,但它们解决的是不同问题。资源包改变纹理、模型、声音和文本等客户端资源;数据包修改世界内的数据、战利品、配方、函数或部分世界生成行为。先分清类型,才能把文件放在正确位置,也不会因为更新失败而误伤世界。

资源包:给玩家的客户端下载内容

原版 Java 服务端可以通过 server.properties 提供资源包 URL、SHA-1 校验值、提示文字和是否强制加载等选项。资源包文件应由一个稳定的 HTTP(S) 地址提供,客户端需要能够直接下载该 ZIP 文件;不要把需要登录、会跳转到网页预览、或会随时失效的分享链接直接填进去。1

配置关注点需要确认什么
URL在无登录的浏览器或测试网络中能直接下载 ZIP。
SHA-1与当前 ZIP 文件完全匹配;改包后必须重新计算。
是否强制强制拒绝会让不接受资源包的玩家无法进入,应先在公告中说明。
提示信息说明包的用途、体积与拒绝后的影响。

不要把资源包密码、临时下载令牌或私人云盘凭据写进 server.properties。先使用测试账号连接,验证下载、应用和拒绝后的行为,再替换正式链接。

数据包:放在世界目录里

数据包是包含 pack.mcmeta 的文件夹或 ZIP。对于已有世界,放入该世界的 datapacks/ 目录;数据包可以定义配方、战利品表、函数、进度和其他游戏数据。2

典型步骤如下:

  1. 停服并备份目标世界,尤其是数据包会改动世界生成、维度或实验性内容时。
  2. 将数据包文件夹或 ZIP 放进目标世界的 datapacks/,不要额外再嵌套一层同名目录。
  3. 启动服务端后运行 /datapack list,确认它被识别。
  4. 只有在该数据包文档说明可安全重载时,才使用 /reload;涉及注册表、实验性设置或世界生成的内容通常需要重启并进行更完整的测试。

数据包有加载顺序。若多个数据包定义同一路径的内容,后加载的包可能覆盖前一个包;更新前要记录当前顺序和版本。2

先在副本上做三项测试

测试目的
新建测试世界检查世界生成、配方、函数与控制台日志。
使用现有备份副本检查与真实玩家数据、既有数据包的兼容性。
测试客户端连接检查资源包下载、提示和拒绝逻辑。

如果数据包导致世界无法正常加载,保留日志和原文件。Minecraft 的安全模式可以禁用非原版数据包以便修复,但它不是替代备份的恢复方案。2

参考

On this page