logo
0
0
WeChat Login
refactor: 重构项目包结构并更新构建配置

Fs-plugin

Version Supported Versions Java

一个集成了 飞书 (Feishu/Lark)QQ 机器人 的 Minecraft 插件。旨在通过即时通讯软件增强服务器管理与玩家互动。

🌟 核心功能

🐦 飞书集成 (Feishu)

  • 账号绑定:玩家可通过飞书私聊获取绑定码,在游戏内执行指令完成绑定。
  • 在线玩家查询:已绑定的飞书用户可随时查询服务器当前在线人数及名单。
  • 公告推送:服务器发布的公告将自动推送到所有已绑定的飞书用户。
  • 长连接技术:基于 WebSocket 协议,无需公网 IP 即可接收飞书事件。

🐧 QQ 集成 (QQ Bot)

  • 零门槛查询:QQ 群内玩家无需绑定账号,直接 @机器人 并发送“在线玩家”即可查询。
  • 公告同步:自动将服务器公告同步推送到指定的 QQ 群。
  • 官方 API V2:基于腾讯 QQ 开放平台最新 API 实现,稳定可靠。

🛠️ 安装与构建

环境要求

  • Java 21 或更高版本
  • 支持 Spigot/Paper 1.21.x 核心(理论兼容 1.7.x 以上版本)

构建步骤

git clone https://cnb.cool/JeffreyMing/Minecraft/Feishu-plugin.git
cd Fs-plugin
./gradlew shadowJar

生成的 JAR 文件位于 build/libs/Fs-plugin-1.1.jar

📜 插件指令

指令描述权限
/bind <绑定码>将当前游戏账号与飞书账号绑定所有人
/announce <内容>发布公告并同步推送到飞书与 QQfsplugin.announce 或 OP

⚙️ 配置文件预览 (config.yml)

feishu:
  appId: "你的飞书AppID"
  appSecret: "你的飞书AppSecret"
  keyword: "获取绑定码"

qq:
  enabled: true
  appId: "你的QQ机器人AppID"
  token: "你的QQ机器人Token"
  secret: "你的QQ机器人Secret"
  # 需要推送公告的 QQ 群 OpenID 列表
  announceGroups: 
    - "GROUP_OPENID_1"

bindingCode:
  ttlSeconds: 600
  length: 8

⚠️ 注意事项

  • 彻底重启:由于插件使用了高性能异步线程池,在更新插件或大幅修改配置后,建议彻底重启服务器而非使用 /reload,以确保旧线程被完全释放。
  • 安全隔离:本插件对所有依赖库进行了 Shading 与 Relocation 处理,有效避免与其他插件产生类加载冲突。

仓库地址https://cnb.cool/JeffreyMing/Minecraft/Feishu-plugin