本帖最后由 DreamVoid 于 2022-9-6 04:04 编辑


Whitelist4QQ —— 在QQ群内自助申请Minecraft白名单


介绍

什么是 Whitelist4QQ?

Whitelist4QQ 是一个基于 MiraiMC 的 Bukkit 插件,能够让玩家在 QQ 群内自助申请 Minecraft 白名单。

这和 QWhiteList 有什么关系?这个插件的作者参与了 W4Q 的开发吗?

最开始我想基于这款插件进行 MiraiMC 的适配,plugin.yml 的 authors 是一开始就写好的。然后我写着写着发现我没有用一行这个插件的代码,但是我还是保留了他的 ID,毕竟是这款插件给了我灵感和思路(好像没有思路)。

开始使用

服主

  • 下载插件,并将插件文件放入 plugins 文件夹;
  • 下载 MiraiMC 插件(如果尚未下载),并将插件文件放入 plugins 文件夹;
  • 启动服务端(如果尚未启动)或使用诸如PlugMan的插件加载插件;
  • 使用指令“ /mirai login <账号> <密码> ”登录你的机器人账号;
  • 调整插件的配置文件;
  • 重新启动服务器(请不要热重载,可能会出现问题);
  • 享受插件吧!

玩家

  • 加入服主指定的 QQ 群;
  • 在群内发送消息“申请白名单+你的ID”或是服主指定的消息前缀加上你的ID。例如:“申请白名单Steve”

配置文件
  1. #  _          __  _   _   _   _____   _____   _       _   _____   _____   _   _   _____     _____
  2. # | |        / / | | | | | | |_   _| | ____| | |     | | /  ___/ |_   _| | | | | /  _  \   /  _  \
  3. # | |  __   / /  | |_| | | |   | |   | |__   | |     | | | |___    | |   | |_| | | | | |   | | | |
  4. # | | /  | / /   |  _  | | |   | |   |  __|  | |     | | \___  \   | |   \___  | | | | |   | | | |
  5. # | |/   |/ /    | | | | | |   | |   | |___  | |___  | |  ___| |   | |       | | | |_| |_  | |_| |_
  6. # |___/|___/     |_| |_| |_|   |_|   |_____| |_____| |_| /_____/   |_|       |_| \_______| \_______|
  7. #  Whitelist4QQ 配置文件
  8. #
  9. # 作者:xingxing520, DreamVoid
  10. # Github: https://github.com/DreamVoid/Whitelist4QQ

  11. # 插件配置
  12. general:
  13. # 允许 bStats 统计
  14. bStats: true

  15. # 白名单范围
  16. # join - 加入服务器 - 玩家加入服务器时检测是否在 MiraiMC 的绑定数据库,如果不在则踢出
  17. # action - 操作 - 玩家可以加入服务器,但如果不在 MiraiMC 的绑定数据库中则会阻止玩家进行任何操作
  18. # spec - 旁观者 - 玩家可以加入服务器,但游戏模式将设为旁观者模式。如果 action 同时启用,则不阻止玩家移动。获取白名单后游戏模式将设为 server.prop 设置的默认模式。
  19. # 注:join 只在玩家加入服务器时检测1次。action 和 spec 在玩家不在数据库中时每 10 秒检测 1 次,如果在数据库就只检测 1 次。
  20. check-range:
  21. join: true
  22. action: false
  23. spec: false

  24. # 阻止已经绑定过 QQ 的 ID 重复绑定
  25. prevent-id-rebind: true

  26. # 阻止已经绑定过 ID 的 QQ 重复绑定
  27. prevent-qq-rebind: true

  28. # 踢出信息。在踢出不在 MiraiMC 数据库的玩家时显示的踢出消息
  29. # 默认提示消息使用的是 YAML 换行符,如果想使用单行消息可以设为 kick-message: "消息内容"
  30. kick-message: |-
  31. &c你不在本服的白名单中,请加入我们的QQ群进行申请
  32. &cQQ群:123456

  33. # 游戏内消息提示。仅当 check-range 中的 join 设为 false(即允许玩家进入服务器)时才会出现。
  34. # 默认每3秒提示一次
  35. notify-message: |-
  36. &b========================================
  37. &e你不在本服的白名单内,将无法进行绝大多数操作
  38. &e要获取本服的白名单,请加入我们的QQ群进行申请
  39. &eQQ群:123456
  40. &e如果你已经获取白名单,请稍等片刻或重新进入服务器
  41. &b========================================

  42. # 验证成功提示
  43. bind-success-message: "&a你成功获取了白名单,现在可以正常游玩服务器了!"

  44. # 是否不使用MiraiMC的数据库而改为插件自存储
  45. use-self-data: false

  46. # 是否使用玩家名存储数据而非UUID
  47. # 由于MiraiMC特性,此项只会在use-self-data为true时生效
  48. use-player-name: false
  49. # 机器人配置
  50. bot:
  51. # 用于接收验证的 QQ,只有存在于以下列表的机器人 QQ 的消息才会被处理
  52. # 请至少填写一个
  53. used-bot-accounts:
  54. - 123456
  55. - 789012

  56. # 用于接收验证的 QQ 群,只有存在于以下列表的 QQ 群的消息才会被处理
  57. # 请至少填写一个
  58. used-group-numbers:
  59. - 123456
  60. - 789012

  61. # 检测玩家绑定的 QQ 是否在群内,如果不在视为没有白名单
  62. check-qq-in-group: true

  63. # 有 QQ 退群时自动移除相应的绑定
  64. # 建议设为 false,这样一来就算熊孩子搞完事退群也有 QQ 留着做记录
  65. remove-bind-when-qq-quit: false

  66. # 让 Whitelist4QQ 处理 QQ 群内的绑定命令消息
  67. # 如果启用,请勿安装 Link2QQ 插件,避免玩家通过 Link2QQ 插件更换绑定从而绕过服务器管理员的审查
  68. # 如果禁用,除非管理员手动为玩家添加绑定,否则玩家将无法自行绑定 QQ,也就无法获得白名单
  69. use-group-message-command: true

  70. # 添加绑定消息前缀
  71. # 玩家需要发送“消息前缀+自己的ID”才会添加绑定
  72. # 例如:下方设置为“申请白名单”,玩家的ID是“123456”,则玩家需要在群内发送消息“申请白名单123456”
  73. bind-command-prefix: "申请白名单"

  74. # 消息
  75. # 插件向群内发送的所有消息都在这里配置
  76. messages:
  77. # 绑定成功
  78. bind-success: "绑定成功,现在你可以游玩本服务器了!"

  79. # 绑定失败
  80. # 无论绑定失败的原因是什么,都只会发这一条
  81. # 可用变量:%id% - QQ绑定的ID
  82. bind-failed: |-
  83. 绑定失败,此ID可能已经绑定另一个QQ,或你的QQ已经绑定了一个ID,请联系管理员处理!
  84. 此QQ绑定的ID:%id%

  85. # 由于数据库原因绑定失败
  86. # 只会出现在use-self-data为true时
  87. bind-failed-selfdata: |-
  88. 绑定失败,在保存白名单文件时出现异常!
  89. 请联系管理员查看控制台处理!
复制代码


效果展示

  • 没有绑定的玩家不允许进入服务器:
  • 没有绑定的玩家允许进入服务器,但不允许进行任何操作:
  • 玩家成功绑定:
    • 服务器:
    • QQ群:


指令与权限

指令

命令 描述 权限 别名
/whitelist4qq 插件主命令 whitelist4qq.command.whitelist4qq qwl, qwhitelist
/whitelist4qq reload 重新加载配置文件 whitelist4qq.command.whitelist4qq.reload
/whitelist4qq remove <玩家名> 移除玩家的绑定 whitelist4qq.command.whitelist4qq.remove

权限

权限节点 描述 默认
whitelist4qq.command.whitelist4qq 允许使用 /whitelist4qq YES
whitelist4qq.command.whitelist4qq.reload 允许使用 /whitelist4qq reload OP
whitelist4qq.command.whitelist4qq.remove 允许使用 /whitelist4qq remove OP


下载 (正式版: ,测试版:


开源


更多帮助&外部链接



本插件所用所有代码均为原创,不存在借用/抄袭等行为

感谢你的阅读,你评分的人气就是我不断开发的动力 (评分人气不消耗自己的人气)


更新日志
可移步Github查看更为完整的更新日志: https://github.com/DreamVoid/Whitelist4QQ/releases

来自群组: Complex Studio