Installation command
!!MCDR plugin install player_ip_logger
Repository
Synced at
...
Last update
...
Latest version
Total downloads
3
Back to catalogue
Player IP Logger for MCDReforged
插件简介
Player IP Logger 是一款为 MCDReforged (MCDR) 开发的插件,主要功能是记录玩家的 IP 地址。该插件通过监控玩家的登录和断开连接事件,记录玩家对应的 IP 地址,并提供便捷的 API 供服务器管理员进行查询、封禁或解禁操作。
功能
- 自动记录玩家 IP: 插件会自动监控玩家的登录和断线信息,捕获并保存 IP 地址。
- 封禁与解禁功能: 支持通过命令封禁或解禁玩家或 IP 地址,适用于服务器管理。
- 多格式支持: 支持多种日志格式解析,确保不同场景下都能正确提取玩家的 IP 地址。
- IP 地址存储: 将玩家所有历史 IP 地址保存到配置文件中,避免重复记录。
- 支持 API 调用: 提供了多种 API,方便插件调用,或让管理员查询玩家的 IP 信息。
安装与配置
-
安装: 将插件文件放入 MCDReforged 的
plugins
目录中,启动服务器。 -
配置: 插件会自动生成一个
config.json
配置文件,存储用户和 IP 记录。文件格式如下:{ "users": { "玩家名称": [ "玩家的IP1", "玩家的IP2" ] }, "banned_player": [], "banned_ips": [] }
命令
- !!ip ban
<player/ip>
: 封禁指定玩家或 IP。 - !!ip pardon
<player/ip>
: 解禁指定玩家或 IP。 - !!ip list: 显示当前封禁的玩家和 IP。
事件处理
- 当玩家登录或断开连接时,插件会自动解析相关日志信息,并提取玩家名称和 IP 地址。
- 如果玩家的 IP 地址尚未记录,将其添加到配置文件中,并自动保存。
支持的事件格式
该插件支持以下日志格式的解析:
玩家名[/IP地址:端口] logged in with entity id
Disconnecting 玩家名 (/IP地址:端口)
玩家名 (/IP地址:端口) lost connection
使用
插件会自动运行并自动监听玩家的登录与断开事件,并记录 IP 地址,不需要任何配置。管理员可以快速对玩家或 IP 进行封禁或解禁操作,或者查看封禁列表。
API 开发
-
is_player(name: str) -> bool
- 描述: 检查某个玩家是否存在于 IP 记录中。
- 参数:
name
:玩家名称。
- 返回: 如果玩家存在记录返回
True
,否则返回False
。
示例:
if is_player("Shusao"): print("Shusao 的 IP 已被记录。")
-
get_player_ips(name: str) -> list
- 描述: 获取指定玩家的所有 IP 地址。
- 参数:
name
:玩家名称。
- 返回: 包含玩家所有历史 IP 地址的列表。如果玩家没有记录,返回空列表。
示例:
ips = get_player_ips("Shusao") print(f"Shusao 的 IP 历史: {ips}")
-
get_player_names(ip: str) -> list
-
描述: 获取使用该 IP 地址的所有玩家名称。
-
参数:
ip
:IP地址。
-
返回: 包含玩家名称的列表。
-
-
ban(src, ctx)
- 描述: 封禁指定玩家或 IP 地址。
- 参数:
- 玩家ID 或 IP 地址。
-
pardon(src, ctx)
- 描述: 解禁指定玩家或 IP 地址。
- 参数:
- 玩家ID 或 IP 地址。
使用此API的插件
- PF-GUGUbot : MCDR-GUGUBot QQ机器人 群聊管理 聊天互转
用于区分真实玩家
贡献
如果发现问题,或希望贡献代码,欢迎在 GitHub 提交 Issue 或 Pull Request。
- 插件初版提供: 树梢(LoosePrince)
- 技术支持: 雪开(XueK66)
- 文档编写: 树梢(LoosePrince)、 雪开(XueK66)
未来计划
- 暂无
欢迎提建议!
README source: /README.md