物理钥匙、服务器锁
Locksmith密码、铁钥匙、真正的访问控制
Locksmith 使用实际密钥锁定块而不是声明权限。用秘密密码注册一把铁钥匙,锁上门或箱子,然后让匹配的钥匙决定谁可以打开它。
安装注意事项
兼容性 客户端、服务器、集成
客户
服务器
单人游戏
核心循环
锁定块 玩家可以携带的钥匙

可堆叠直至注册
空白铁钥匙可以堆叠。右键单击主手上的一个以打开注册屏幕。

密码成为访问权限
服务器对密码进行哈希处理,存储注册的工具提示数据,并使密钥不可堆叠。

共享同一个锁
使用已注册的钥匙和空白钥匙制作副本。源密钥返回到网格,副本携带相同的锁哈希。
特征
Locksmith 专注于访问控制,而不是坚不可摧的块。它决定谁可以打开一个块,而保护模块可以处理破坏和爆炸。
钥匙是实体的
铁钥匙一开始是空白的并且可以堆叠。使用秘密密码进行注册,服务器将存储 SHA-256 密钥哈希以及注册玩家的姓名。
块上的锁
右键单击已配置的门或箱子,并使用已注册的钥匙将其锁定。玩家只有携带具有匹配哈希值的钥匙才能打开它。
复制而不失大师
铸造配方使用一把注册钥匙和一把空白钥匙。源密钥保留在网格中,空白密钥成为复制密钥,工具提示标记主角色和复制角色。
多人优先
锁定数据保存在服务器端,在登录时同步到客户端,在块消失时清理,并由服务器交互处理程序强制执行。
如何使用
从空白键 到锁着的门
- 01 用两个铁块上方的一个铁锭制作一把铁钥匙。
- 02 右键单击空白键并输入秘密密码。
- 03 使用该注册钥匙右键单击已配置的门、箱子或受困箱子。
- 04 当其他玩家需要访问时,将复制的钥匙与铸造配方一起分发。
服务器配置文件
普通默认值 已准备好模组块
Locksmith 写了一个服务器权威的 locksmith_profiles.json 文件。配置文件定义了哪些块是可锁定的,它们的行为是否像门或箱子,以及可见铁锁应该呈现在哪里。
{
"id": "reinforced_doors",
"type": "door",
"blocks": ["modid:steel_door"],
"render": {
"offsetY": 0.5,
"scale": 0.75,
"hingeNudgeLeft": 0.18
}
}
门
锁定的门在锁定后强制关闭,使用后可以自动关闭,并且当两半都有效配合时可以同步配对的锁定双门。
宝箱
双箱子标准化为一个规范的锁位置,因此一个锁可以保护整对箱子,而不是仅保护被点击的一半。
反馈
客户端接收同步锁定状态以进行即时拒绝反馈,而服务器对每个访问决策保持权威。
制作人员 代码+资产
核心学分
- 作者和开发:Z2SIX
- 项目视觉效果和提供的页面资源:Z2SIX
合法的 许可+范围
定制许可证: Z2SIX Mod 许可证(代码 + 资产)