使用微信公众号或者QQ机器人来帮助你添加白名单与管理Minecraft服务器!
开发与问题反馈交流群
微信公众号 <=======(rcon)=======>
玩家<====> <====>WeAuth Minecraft Server
QQ 机器人 ==(MCSManager API)==>WeAuth架起一座连接微信公众号(QQ机器人)与Minecraft服务器的桥梁。
你可以直接在微信公众号(或者QQ机器人)对Minecraft服务器进行指令操作。
此外,WeAuth可以单独作为微信公众号验证开发者服务器url地址使用。
- 白名单添加与管理
- 管理员直接通过公众号发送指令(单向)
- 微信公众号验证开发者服务器URL地址
- CdKey生成与兑换系统 (1.5.0起支持)
- 从Minecraft能反向输出信息到微信公众号(仅支持rcon)(1.4.0起支持)
- 执行定时脚本
- https支持
- 可直接在微信公众号运行WeAuth指令
- log系统
- 通过Flask与微信公众号服务器交互
- 通过Flask与QQ机器人服务器交互
- 通过MCSManager的API与Minecraft服务器交互(单向)
- 通过rcon协议与Minecraft服务器交互(双向) (1.4.0起支持)
- 通过MCDReforged插件与Minecraft服务器交互
- 集成的SQLite3
- MySQL连接支持
Python>=3.8
服务器的80端口必须可以被访问*- 微信公众号只会通过80(http)或443(https)与开发者服务器进行交互。
- 如果您运行WeAuth的服务器是在大陆境内的云服务器,只有经过备案才能使用80/443端口。
- 如果您运行WeAuth的服务器使用的家庭宽带,则80/443端口无法使用。
您可以购买一台便宜的云服务器,经过备案后专门运行WeAuth。此时,如果您的Minecraft服务器无法连接到WeAuth服务器 (比如IPv6原因,云服务器厂商一般不提供IPv6访问),可以使用frp等工具解决。
WeAuth已上传至Pypi,您可以直接通过pip指令安装。
pip3 install weauth # 使用官方Pypi源pip3 install -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple weauth # 使用清华源加速安装完成后,此时,你已经可以直接在控制台使用weauth指令来运行WeAuth。但我们建议您在新建的文件夹内运行WeAuth。
mkdir WeAuth
cd WeAuth
weauth首次运行WeAuth会自动生成config.yaml与ops.yaml文件。
您需要在文件内填入合适信息才能正式运行WeAuth。
该文件包含WeAuth连接微信/QQ服务器所需要的凭证与连接MCSManager或rcon所需要的信息。
您可以在启动WeAuth时添加参数(见下一节),这些参数的优先级高于config.yaml中的内容。
该文件保存着管理员ID信息(指游戏角色ID)。
该管理员是指可以通过微信公众号直接发送指令到游戏内执行。
请勿将WeAuth管理员与游戏内op混淆,但是在未来,WeAuth将支持从游戏服务器拉取op玩家ID信息。
只有ops.yaml文件支持热重载
该文件储存CDKey系统的礼物元数据,每个礼物对应一个哈希值。该文件通过CDKey系统自动生成与管理,具体见CDKey系统说明。
该文件储存所有未兑换的CDKeys(兑换码)。该文件本质是一个Python字典,键为礼物的哈希值(对应gift_list.yaml)
,键值为该礼物对应所有兑换码的列表。
玩家成功兑换CDKey时会自动从该文件中删除对应兑换码。该文件通过CDKey系统自动生成与管理,具体见CDKey系统说明。
weauth
-v # 查看版本信息
-h # 查看启动参数帮助信息
-p [port] # 启动后在port端口监听。默认为80端口
-r [route] # web服务路由。默认为“/wx”
-w # 微信服务器验证模式,需配合 -t指令使用
-t [token] # 微信服务器验证用的token,也就是您在微信公众号后台输入的token内容
-g # 进入CDKey生成系统
-op [ID] # 将ID加入ops.yaml中的普通管理员(可以在公众号发出游戏内指令)
-sop [id] # 将ID加入ops.yaml中的超级管理员(可以在公众号中发出WeAuth指令)
-test # 以测试模式启动,仅用于开发测试在绝大多数情况下,您无需输入任何参数,直接使用weauth启动即可。
程序将在http://127.0.0.1/wx监听来自微信的请求。
WeAuth指令使用!开头, 只有超级管理员可以使用该功能
!op [ID] # 将ID加入ops.yaml中的普通管理员(可以在公众号发出游戏内指令)
!sop [ID] # 将ID加入ops.yaml中的超级管理员(可以在公众号中发出WeAuth指令)
!v # 查看WeAuth版本信息
!g [mineID] [mineNum] [cdkeyNum] [comment] # 生成礼物 暂未支持WeAuth is released under the GPLv3.0 license.
pyyaml : MIT
tcping : MIT
rcon: GPLv3
Flask: BSD-3-Clause license