客户端资源版本与连接信息
萌芽引擎在客户端连接服务端时,会把客户端信息同步给 GermPlugin。服务端可以据此判断玩家资源是否过旧,也可以在插件开发中读取玩家当前客户端版本和资源版本。
这套能力由双端配合完成:
- GermMod 读取客户端
GermMod.cfg中的clientVersion、resourceVersion。 - 玩家连接完成后,GermMod 将这些字段上报给 GermPlugin。
- GermPlugin 按服务端
Config.yml判断是否允许进入,并在GermClientLinkedEvent中暴露字段。
客户端配置
客户端配置位于:
.minecraft/config/GermMod.cfg
常用字段:
settings {
# 客户端版本标识,可以用于区分整包、渠道或定制客户端。
S:clientVersion=pc-vlatest
# 客户端资源版本号,建议每次发布新资源包时递增。
I:resourceVersion=1
}
clientVersion 更适合写可读的客户端标识,例如 pc-v2025-09、launcher-a、rpg-pack-2。
如果 clientVersion 中包含 dev,客户端会被视为开发/测试客户端。开发客户端适合直接调试 .minecraft/GermCache 中的明文资源;正式玩家使用的客户端不要包含 dev,这样才能按正式资 源加载规则读取加密后的本地 source。
resourceVersion 对应客户端 EngineConfig.resourceVersion,建议只写整数。每次发布新的正式客户端资源包、调整加密资源或替换客户端本地 source 后,都应该同步递增这个值。服务端的最低版本检测只会比较这个数字,不会自动逐个校验客户端文件内容。
例如正式资源包从 10 更新到 11 后,客户端需要同步修改:
settings {
I:resourceVersion=11
}
服务端最低资源版本
服务端配置位于:
plugins/GermPlugin/Config.yml
在 Settings 下配置:
Settings:
resourceVersionCheck: 10
resourceVersionMsg: "§c你的客户端资源过旧,请更新客户端"
含义:
| 配置 | 作用 |
|---|---|
resourceVersionCheck | 最低资源版本。设置为 -1 时不检测。 |
resourceVersionMsg | 玩家资源版本过低时的踢出提示。 |
例如服务器当前资源包版本是 10,玩家客户端 GermMod.cfg 中仍是 8,连接时会被服务端拒绝,并显示 resourceVersionMsg。