资源包加密
Nukkit-MOT 支持使用加密资源包保护您的作品。本指南将帮助您通过简单的三步配置实现资源包加密。
新手须知
该加密基于 AES 对称算法,虽然能有效提高资源包安全性,但无法完全杜绝抓包等专业手段破解
📦 加密资源包
推荐使用开源命令行工具 EncryptMyPack 进行加密,操作流程:
-
下载工具
从 GitHub Releases 下载最新版程序 -
准备资源包
- 必须为
.zip格式(可直接重命名 .mcpack 文件) - 压缩包根目录必须包含
manifest.json文件 - 支持包含子资源包(Sub Packs)
- 必须为
-
加密
inputZip 为输入的压缩包文件全名,例如 example.zip
outputZip 为输出的压缩包文件全名,例如 example.zip
key 为自定义的 32 位密钥,若不指定 key 则使用默认密钥 liulihaocai123456789123456789123
- Windows
- macOS
- Linux
EncryptMyPack.exe encrypt <inputZip> <outputZip> [key]
EncryptMyPack encrypt <inputZip> <outputZip> [key]
添加可执行权限
chmod +x EncryptMyPack
方可继续使用
./EncryptMyPack encrypt <inputZip> <outputZip> [key]
重要提醒
Nukkit-MOT 仅负责向客户端传递密钥,不参与实际的加密/解密过程
🔑 配置加密密钥
加密密钥在服务端 resource_packs 文件夹中的 packs.yml 文件里配置(旧的 <包名>.mcpack.key 同名文件已不再被读取)。该文件会在首次启动时自动生成,以资源包 UUID 为键,UUID 可在资源包 manifest.json 的 header.uuid 中找到。
📁resource_packs
📄示例资源包.mcpack
📄packs.yml
# resource_packs/packs.yml
"12c2b614-796a-3d8e-9364-cb39c86cebfa":
key: "0123456789abcdefGHIJKLMNOPQRSTUV" # 32 位加密密钥
cdn: "https://cdn.example.com/packs/示例资源包.mcpack" # 可选
key:该资源包的 32 位加密密钥,留空表示不加密cdn(可选):该资源包的 CDN 下载地址。客户端会优先从该地址下载资源包,失败时自动降级为服务器分块传输
网易版资源包
文件名包含 netease 的资源包仅会发送给使用网易版客户端的玩家
🔄 重启服务端
修改配置后必须重启服务器才能使加密生效(Nukkit-MOT 仅在启动时加载资源包配置)
❓ 常见问题解答
| 问题 | 解答 |
|---|---|
| 加密后资源包能被破解吗? | 可能会遭受专业手段破解,但比未加密资源包安全得多 |
| 加密是否影响游戏性能? | 完全不会影响客户端和服务端性能 |
| 支持多个加密包吗? | 可以同时部署多个加密包,只需在 packs.yml 中为每个资源包的 UUID 添加对应配置 |
完成!
现在您的玩家加载资源包时,客户端会自动使用配置的密钥进行解密加载