📜 项目介绍
LoginGuard 是一个针对 BungeeCord 服务器的登录保护插件,旨在增强服务器管理员的账户安全。通过结合网页端验证和 IP 绑定机制,LoginGuard 可以防止恶意玩家通过获取管理员密码进行登录。只有经过身份验证的管理员,且其 IP 地址与存储的准许 IP 匹配,才能成功登录并管理服务器。
网页文件获取:https://github.com/SenalMC/LoginGuard/
该插件使用 JSON 文件来记录管理员数据,提供了可自定义的配置文件,支持按需更新管理员数据和实时的 IP 地址验证。
功能特点- 管理员验证:管理员首次登录时通过网页验证其账号,并将其 IP 地址绑定到服务器。
- IP 匹配机制:验证时,插件会比较存储的 IP 地址前三段与玩家登录时的 IP 地址是否一致,即使最后一段 IP 地址不同,依然可以成功验证。
- 自动更新管理员数据:当管理员登录时,插件会自动更新管理员数据,确保 IP 地址的有效性。
- 配置文件:插件支持自定义配置,JSON 文件存储管理员信息,配置文件(config.yml)支持编辑 JSON 文件地址和踢出玩家提示等内容。
- 兼容性:支持 BungeeCord 服务器,适用于多个游戏服务器环境。
安装方法- 下载 LoginGuard 插件的最新版本,并将 .jar 文件上传到你的 BungeeCord 服务器的 plugins 文件夹中。
- 运行服务器,插件会自动生成默认配置文件 config.yml。你可以编辑该文件来配置 JSON 文件的地址和其他相关设置。
- 在 BungeeCord 启动完成后,插件会自动加载管理员数据,并在每次管理员登录时进行 IP 地址验证。
- (不支持热更新,若需更新JSON文件地址,在编辑完毕后请重启服务器)
⚙️ 配置说明
- # LoginGuard 插件配置文件
- # JSON 数据的地址
- #请把地址改为你的JSON文件地址修改为你服务器的JSON文件地址.
- #https://github.com/SenalMC/LoginGuard
- #请访问我们的Github页面来获得我们的网站页面.
- json_url: "https://example.com/abc.json"
- # 未通过验证时显示的提示(使用 & 符号来改变颜色)
- kick_message: "&c您的 IP 未授权或已过期!\n请访问:\n&6https://ur.website"
复制代码 🌐 管理员验证流程- 管理员通过网页访问验证页面并输入玩家 ID 和绑定邮箱地址。
- 系统通过 PHPMailer 向管理员的邮箱发送一个验证码。
- 管理员输入验证码,验证成功后,系统会记录管理员的当前 IP 地址并允许登录。
- 该 IP 地址在 12 小时内有效,12 小时后,管理员需要重新进行验证。
- 如果管理员尝试使用不匹配的 IP 登录,将被踢出,并显示配置文件中设置的 kick_message。
⚡ 使用注意事项- 插件只对具有 lg.use 权限的管理员有效。普通玩家不会受到限制。
- json_url 配置项需要确保指向一个有效的管理员数据 JSON 文件,该文件需包含管理员的 ID 和绑定的 IP 地址。
- 请确保服务器的外网 IP 不会发生频繁变动,否则可能导致管理员无法正常登录。
📄 JSON 文件结构管理员数据的 JSON 文件(admins.json)应遵循以下结构:
(JSON文件获取请参考我们的Github地址)
- {
- "admins": {
- "playerID1": {
- "email": "admin1@example.com",
- "allowed_ip": "111.111.111.111",
- "expire_time": 1633541234
- },
- "playerID2": {
- "email": "admin2@example.com",
- "allowed_ip": "222.222.222.222",
- "expire_time": 1633541234
- }
- }
- }
复制代码 网页文件获取:https://github.com/SenalMC/LoginGuard/
致谢:LoginProtect by LegendOfHero
|