IPLocker

IPLock是一个专为运行在Paper 1.21.1的Minecraft服务器设计的插件,旨在通过将账户绑定到特定的IP地址来增强玩家账户的安全性。

资源图片
IPLock 是一个专为运行 Paper 1.21.1 的 Minecraft 服务器设计的插件,旨在通过将账户绑定到特定的 IP 地址来增强玩家账户的安全性。该插件限制账户仅能从注册的 IP 地址访问,从而有助于防止账户受损时的未经授权登录。所有消息都可以通过语言文件进行完全自定义,使其适用于具有多种语言偏好的服务器。 插件功能 自动 IP 绑定: 玩家首次登录服务器时,他们的 UUID(唯一标识符)和 IP 地址将自动存储在 ipdata.yml 文件中。 这确保了在无需玩家执行任何操作的情况下进行无缝 IP 注册。 登录时的 IP 验证: 每次玩家登录时,插件会将他们的当前 IP 地址与存储在 ipdata.yml 中的 IP 地址进行比较。 如果 IP 地址不匹配,则拒绝登录,并且玩家将收到自定义的错误消息(默认: "§c您的 IP 地址与此账户的注册 IP 地址不符!")。 这可以防止从未知的设备或网络访问帐户。 IP 解除绑定命令: 该插件提供 /ipdel 命令,仅服务器操作员可以访问。 此命令删除指定玩家的 IP 绑定,允许他们在下一次尝试时从新的 IP 地址登录。 与命令相关的消息(例如,成功、错误或未找到绑定)可以完全自定义。 可定制的消息: 所有插件消息都存储在 lang.yml 文件中,该文件在首次启动时生成在 plugins/IPLock/ 文件夹中。 消息支持 Minecraft 颜色代码 (§) 和占位符(例如,{player} 表示玩家的姓名,{error} 表示错误详细信息)。 可定制消息的示例: 登录错误:"§c您的 IP 地址与此账户的注册 IP 地址不符!"。 成功解除绑定:"§a{player} 的 IP 绑定已移除!"。 命令错误:"§c用法:/ipdel ”。 管理员可以编辑 lang.yml 以修改文本、语言或样式,而无需重建插件。 数据存储: IP 绑定数据存储在 ipdata.yml 文件中,格式为 UUID: IP。 该文件在玩家登录或使用 /ipdel 命令时自动创建和更新。 YAML 的使用确保了可读性和可靠的数据持久性。 安全性和性能: 该插件使用 UUID 而不是玩家名称来避免因名称更改而引起的问题。 仅在登录时执行 IP 检查,以最大限度地减少服务器负载。 语言文件在启动时加载一次,从而确保操作期间没有性能影响。 用法 对于玩家: 无需执行任何操作——IP 绑定在首次登录时自动发生。 如果玩家的 IP 地址发生更改(例如,由于动态 IP),他们将无法登录,直到操作员使用 /ipdel 删除旧的绑定。 对于管理员: 使用 /ipdel 来重置玩家的 IP 绑定。 在 lang.yml 中自定义消息,以匹配服务器的风格(例如,将其翻译为另一种语言或添加唯一的后缀)。 检查 ipdata.yml 以查看当前的 IP 绑定(对于调试很有用)。 示例工作流程 玩家 Steve 从 IP 192.168.1.1 登录: 插件保存到 ipdata.yml: Steve_UUID: 192.168.1.1。 Steve 尝试从 IP 192.168.1.2 登录: 插件拒绝登录并显示:"§c您的 IP 地址与此账户的注册 IP 地址不符!"。 操作员运行 /ipdel Steve: 插件从 ipdata.yml 中删除绑定并发送:"§aSteve 的 IP 绑定已移除!"。 Steve 再次从新的 IP 地址登录,绑定过程重复。 技术细节 兼容性:Paper 1.21.1。 依赖项:Maven、Paper API(包含在 pom.xml 中)。 插件文件: IPLock.java — 主代码 (package org.example.iplock.iplock)。 plugin.yml — 插件配置。 ipdata.yml — IP 绑定存储。 lang.yml — 可自定义的消息。 构建:使用 Maven (mvn clean install)。 限制: 每个账户仅支持一个 IP 地址。动态 IP 需要通过 /ipdel 手动解除绑定。 没有内置的重新加载 lang.yml 的支持,而无需服务器重启(如果需要可以添加)。 总结 IPLock 是一个简单有效的工具,可用于保护 Minecraft 服务器上的玩家账户。它结合了自动 IP 绑定、操作员控制的解除绑定以及完全可定制的消息,使其对玩家和管理员都易于使用。该插件非常适合优先考虑账户安全的服务器,其灵活的消息系统允许无缝集成到任何服务器的品牌或语言中。