nonebot-plugin-mc-whitelist-controller
Project description
nonebot-plugin-mc-whitelist-controller
✨一个控制管理Minecraft服务器白名单的机器人插件✨
[!NOTE] 该项目目前还处于开发中,还不属于完全体,还不是很稳定!
📖 介绍
这是一个控制管理Minecraft服务器白名单的机器人插件,将mc服务器中的玩家id与QQ号绑定,实现对服务器内所有玩家的追根溯源,支持正版服务器和离线服务器。本插件可以在QQ中将玩家id注册入服务器白名单,同时会生成一个包含每个玩家id与其绑定的QQ号信息的json文件,供服务器管理员参看。
在使用前,请务必仔细阅读README.md中的“使用前配置”与“Bot配置”内容,以免出现问题。让这个Bot达到应有的效果,需要你对你的mc服务器进行一些配置,并且给Bot填写一些必填的首选项。
💿 安装
使用pip安装
在nonebot2项目插件目录下,打开命令行,输入以下安装命令pip install nonebot-plugin-mc-whitelist-controller
使用git clone安装
可以将本项目克隆到你已经建立好的Nonebot机器人的目录内,并在project.toml中配置好本插件的安装目录git clone https://github.com/leaf2006/nonebot-plugin-mc-whitelist-controller.git
⚠️使用前配置
这部分内容很重要,跟Bot配置一样重要!因为在一般情况下,mc服务器的白名单在更新后是不会立刻生效的,在什么都不做的情况下,需要你在服务器中输入/whitelist reload指令才会使更改后的白名单生效。这里就需要做一些操作让服务器自动重载白名单
- 给服务器添加定时/计划任务,定期执行
/whitelist reload指令(最简单,推荐)
很多人会选择使用服务器控制面板或租用面板服,大部分的面板或面板服都支持添加定时/计划任务。可以添加一个任务,每900秒(15分钟)执行一次/whitelist reload指令,实现定时自动重载白名单的功能。
- 给服务器添加智能重载白名单mod(最智能,还在试验)
我同时为该插件编写了一个基于Fabric的mod:Minecraft Whitelist Watcher ,这个专为Fabric服务端的mod可以实现实时监视白名单,白名单文件内容发生变动时会自动为服务器重载白名单。但这个mod仍在开发,目前支持的mc版本较少,本人正在尽快更新使其支持更多版本。
⚙️ Bot配置
在 nonebot2 项目的.env文件中添加下表中的必填配置
| 配置项 | 必填 | 默认值 | 说明 |
|---|---|---|---|
| WHITELIST_PATH | 是 | 无 | 服务器whitelist.json的绝对路径 |
| PROFILE_PATH | 否 | profile.json | 存放玩家id和QQ号的文件的绝对路径(若不存在该文件会自动创建),如果未填该配置会自动在机器人根目录创建profile.json |
| SERVER_STATUS | 否 | offile | 填写服务器状态(正版/离线服务器):online/offline |
| ADMINISTRATOR_ID | 否 | [0] | 本插件管理员账户QQ号,可以查看玩家信息,可设置多个管理员 |
- WHITELIST_PATH配置示例:
# .env
# 本示例中给出的地址为虚构地址,仅供演示
WHITELIST_PATH=C:\Users\Minecraft\whitelist.json
- PROFILE_PATH配置示例:
# .env
# 本示例中给出的地址为虚构地址,仅供演示
PROFILE_PATH=C:\Users\Minecraft\profile.json
此处PROFILE_PATH可以是绝对路径内的任意路径,但是在路径最后必须包括文件名,即使这个文件还未被创建
- ADMINISTRATOR_ID配置实例:
# .env
# 本示例中给出QQ号为虚构QQ号,仅供演示
ADMINISTRATOR_ID=[1111111111,2222222222]
🎉 使用
指令表
| 指令 | 权限 | 需要@ | 范围 | 说明 |
|---|---|---|---|---|
| /注册 或 /register + [玩家id] | 群员 | 否 | 群聊 | 向服务器白名单注册玩家信息 |
| /注销 或 /unregister + [玩家id] | 群员 | 否 | 群聊 | 注销已注册的玩家信息 |
| /指令列表 | 群员 | 否 | 群聊 | 查看指令列表 |
| /玩家列表 | 注册管理员 | 是 | 私聊或群聊@ | 查看玩家信息,仅已在.env注册过的管理员可用 |
[!IMPORTANT] 在首次使用本插件前,或切换过SERVER_STATUS参数后,请务必手动清除whitelist.json中除"[]"号外的所有内容,防止出现错误
效果
场景:当你向机器人注册玩家id:
example:
🤵:/注册 leaf2006
🤖:成功注册玩家leaf2006到白名单!
此时whitelist.json会自动添加以下语句:
[
// whitelist.json
...
{
"uuid": "dbc89c79-8236-36b0-b2cf-7dd0b9989b27",
"name": "leaf2006"
}
]
此时profile.json会自动添加以下语句,包括注册者的玩家id与QQ号:
[
...
// nonebot_plugin_mc_whitelist_controller/data/profile.json
{
"name": "leaf2006",
"qq": "此处代表该人的QQ号"
}
]
注:以上示例为离线服务器场景
旧版版本
下载或使用旧版版本请前往Pypi
Copyright © Leaf developer 2023-2026,遵循MIT开源协议
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nonebot_plugin_mc_whitelist_controller-1.0.1.tar.gz.
File metadata
- Download URL: nonebot_plugin_mc_whitelist_controller-1.0.1.tar.gz
- Upload date:
- Size: 15.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f316c34849f2c774adf61ab83ad41ee600fd92e383057cc300fef8421c367aee
|
|
| MD5 |
57e2b42fb9f024b7a490e01df250bc9a
|
|
| BLAKE2b-256 |
29d2f084ba628d812305b8ae308713686d8e9a6c3a70781f94895570d35a0027
|
File details
Details for the file nonebot_plugin_mc_whitelist_controller-1.0.1-py3-none-any.whl.
File metadata
- Download URL: nonebot_plugin_mc_whitelist_controller-1.0.1-py3-none-any.whl
- Upload date:
- Size: 14.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9199ade779395620b1ec679de5c90b51b18f2c373620a936ba8f8af7d9d36f22
|
|
| MD5 |
69de2d3878479bac3f84451c28b525ac
|
|
| BLAKE2b-256 |
19cccc340ec40f1d4a05b09531c7f9f3b6b3c510bc6e1f3dc7f8791c771cdcb8
|