Welcome to the Hangar Open Beta. Please report any issue you encounter on GitHub!
OrzMCPlugin
多平台机器人集成的 Paper 服务器管理插件(QQ / Discord / Lark / EasyBot 网关)
插件针对 PaperMC 服务器进行开发,由于
PaperAPI兼容BukkitAPI和SpigotAPI, 所以插件开发对有 Bukkit 和 Spigot 插件开发经验的开发者也比较友好
插件能力
| 功能模块 | 能力说明 |
|---|---|
| 白名单管理 | 控制服务器准入,管理员可通过 Bot 命令($a/$r/$w)添加/移除白名单,自动清理不活跃玩家,非白名单玩家踢出时附带提示 |
| 多平台 Bot 系统 | 接入 QQ(NapCatQQ / OneBot 11)、Discord(Bot API)、Lark(Webhook)、EasyBot 网关五端,9 个 Bot 命令实现玩家管理/查询/互动,30 余个可定制消息模板将服务器事件推送到对应群聊或频道 |
| 跨服传送门 | 管理员可创建或删除传送门,玩家踩踏传送门时跨服 transfer 跳转,可选集成 LoginSecurity 验证身份后再传送 |
| TNT 保护 | 限制 TNT 放置范围,允许区域白名单豁免,TNT 爆炸时群聊通知,并可控制重生锚的爆炸行为 |
| 安全控制 | 按 GeoIP 判断玩家所在国家限制加入,精确 IP/CIDR 段/通配符三种黑名单模式,可选集成 LoginSecurity 二次验证 |
| 传送弓 | 射箭即可传送至落点,自动检测落点安全性(固体方块/不危险),落点不安全时就近搜索安全位置,可配置生物传送策略 |
| 世界维护 | 一键备份或优化世界地图文件,实时进度报告,维护期间 MOTD 自动切换提示玩家 |
| 玩家通知 | 玩家加入/退出/被踢出时向群聊推送详情(含角色名、原因),玩家消息前显示角色标识/头衔 |
| 新手指南书 | 首次进服自动发放一本指南书,内容通过 YAML 配置,服主可自定义引导信息 |
| 运行时配置 | 使用 /config 命令在游戏内管理 24 项配置,修改后热重载生效,无需重启服务器 |
| OrzMC 菜单 | 游戏内呼出功能菜单,集成各项操作的便捷入口(开发中) |
详情可阅读:插件全部功能
安装插件
下载插件后,放到PaperMC服务端插件目录plugins/下,启动服务端后,插件会创建相同名称的数据目录。本插件在运行期间,配置被加载到内存中,服务端停止时会写回配置文件。
机器人服务配置
OrzMC 的机器人功能需配合外部 IM 网关使用,支持两种接入方案,可按需选择或同时启用:
| 方案 | 配置文件 | 适用场景 |
|---|---|---|
| NapCatQQ | bot.yml |
仅需 QQ Bot(OneBot 11 协议) |
| EasyBot 网关 | easybot.yml |
多平台统一管理(QQ / Telegram / Discord / 飞书 / 微信) |
QQ Bot(NapCatQQ)
QQ Bot 基于 NapCatQQ(OneBot 11)运行:
- 部署 NapCatQQ(支持 Windows GUI / Docker / Linux 脚本)
- 启动后 NapCatQQ 暴露 HTTP API(
:3000)和 WebSocket(:3001) - 在插件
bot.yml中填入连接地址和群号,设置enable_qq_bot: true - 重启服务端或执行
/config reload生效
详细参数:QQ Bot 配置指南
多平台 Bot(EasyBot 网关)
EasyBot 统一管理 QQ / Telegram / Discord / 飞书 / 微信:
- 部署 EasyBot 网关服务
- 在插件
easybot.yml中填入 EasyBot 连接地址 api_key从 EasyBot 后台创建客服类 API Key 获取admin_group等目标值非平台原生 ID,需从 EasyBot 后台的会话管理获取会话 key(如qq:conv_xxxxxxxx)
详细路由规则:EasyBot 配置指南
Discord & Lark
- Discord Bot:创建 Discord Application 获取 Bot Token,Base64 编码后填入
bot.yml的discord_bot_token_base64_encoded - Lark(飞书):在飞书开放平台创建机器人,获取 Webhook 地址填入
bot.yml的lark_bot_webhook(仅单向推送通知)
更新插件
PaperMC服务端在插件目录下提供一个名称为update/的目录,把需要更新的插件jar文件放到这个目录下面。下次服务端重启时,插件会被自动移到plugins/目录下面,完成插件升级。
问题反馈
如果你在使用过程中发现问题,欢迎给项目提建议:issue
也可以进入QQ频道反馈问题:
