Skip to main content

nonebot-plugin-mc-whitelist-controller

Project description

NoneBotPluginLogo

NoneBotPluginText

nonebot-plugin-mc-whitelist-controller

GitHub License GitHub last commit GitHub last commit PyPI - Version

✨一个控制管理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指令,实现定时自动重载白名单的功能。

server-timer

  • 给服务器添加智能重载白名单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

nonebot_plugin_mc_whitelist_controller-1.0.1.tar.gz (15.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file nonebot_plugin_mc_whitelist_controller-1.0.1.tar.gz.

File metadata

File hashes

Hashes for nonebot_plugin_mc_whitelist_controller-1.0.1.tar.gz
Algorithm Hash digest
SHA256 f316c34849f2c774adf61ab83ad41ee600fd92e383057cc300fef8421c367aee
MD5 57e2b42fb9f024b7a490e01df250bc9a
BLAKE2b-256 29d2f084ba628d812305b8ae308713686d8e9a6c3a70781f94895570d35a0027

See more details on using hashes here.

File details

Details for the file nonebot_plugin_mc_whitelist_controller-1.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for nonebot_plugin_mc_whitelist_controller-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9199ade779395620b1ec679de5c90b51b18f2c373620a936ba8f8af7d9d36f22
MD5 69de2d3878479bac3f84451c28b525ac
BLAKE2b-256 19cccc340ec40f1d4a05b09531c7f9f3b6b3c510bc6e1f3dc7f8791c771cdcb8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page