0.2.11 • Published 11 months ago

koishi-plugin-mcsmanager-custplugin v0.2.11

Weekly downloads
-
License
MIT
Repository
-
Last release
11 months ago

koishi-plugin-mcsmanager-custplugin

npm

基于Mcsmanager 9 面板的服务器实例管理插件 (部分兼容Mcsmanager 10)

CHANGELOG

v0.2.11

修复

  • 使用QQ官方机器人时无法发送消息的问题

v0.2.10

新增

  • 检测待添加的用户名是否为合法的MC玩家ID

v0.2.9

修复

  • 本插件无法在指令管理界面设置别名和等级权限的问题

修改

  • 修改触发指令#服务器面板
  • 子命令的重命名与等级设置均交予指令管理界面进行设置,仅在插件设置中保留触发命令的别名
  • 精简插件设置

v0.2.8

修复

  • 插件无法启动的问题(开发环境下没查出来)

v0.2.7

修复

  • 添加玩家至全局白名单中的冲突问题

修改

  • 数据库表名由mcsmanager-custplugin.global.whitelist 改为 mcsmanager_custplugin.global.whitelist

v0.2.6

修复

  • 获取实例白名单时获取不到正确玩家人数和玩家列表的BUG(正则没写全是这样的)
  • 执行MC指令时指令前缀缺失的问题

新增

  • 全局白名单数据库
  • 全局白名单同步到指定实例/全体实例

v0.2.5

修改

  • Koishi的权限系统消息提示由自定义消息提示改为官方消息提示
  • 完善日志显示(匹配Koishi终端格式,以 mcsm 开头)
  • 修改操作为子指令,以适配Koishi官方操作
  • 修改白名单内部操作为白名单子指令,以适配Koishi官方操作 (均支持 点操作 调用和 空格操作 调用) 例如:面板.开启 = 面板 开启 = 服务器 开启 = 服务器.开启

v0.2.4

新增

  • 实例白名单命令,拥有如下子命令

    1. 开启
    2. 关闭
    3. 添加 <玩家名称>
    4. 移除 <玩家名称>
    5. 列表
    6. 重载
  • 实例白名单插件相关设置入口

  • 判断实例的白名单是否启用功能

v0.2.3

新增

  • Markdown文档内添加更新日志

修复

  • 为兼容Mcsm10舍弃正则表达式导致 列表 命令无法使用
  • 实例假死时导致 玩家列表 功能无法正常使用

v0.2.2

新增

  • Mcsmanager 10 查询实例列表的 API
  • Mcsmanager 10 兼容开关

修改

  • 插件描述更改为基于 Mcsmanager 9,部分兼容Mcsmanager 10
  • 尝试兼容Mcsmanager 10的实例列表展示功能
  • 玩家列表 功能舍弃正则匹配转用简单切片取值

修复

  • 日志 命令输出乱码日志

v0.2.1

修改

  • 拆分整个插件为三个部分:设置、工具、插件核心,方便维护

v0.2.0

新增

  • 插件设置界面 列表命令时是否显示Uuid
  • 插件设置界面 列表命令时是否显示实例IP地址
  • 插件设置界面 列表命令时是否显示实例域名地址

v0.1.10

新增

  • 插件设置界面 每个二级命令可以设置别名

修复

  • 插件设置界面的默认值无法被插件识别造成程序出错

v0.1.9

修改

  • 优化插件设置界面
  • 插件设置按命令分组
  • 每个命令分组具有独立开关,未开启时尝试使用命令将会提示
  • 标记 尝试显示玩家列表 功能为实验性功能

v0.1.8

修改

  • 启用 尝试显示玩家列表 功能时在线人数和最大人数将与列表同步

v0.1.7

新增

  • 尝试显示玩家列表 功能,尝试模拟RCON拉取玩家列表
  • 插件设置界面 尝试显示玩家列表,默认关闭

v0.1.6

新增

  • 执行 命令,可对目标实例发起执行指令操作
  • 日志 命令,可拉取目标实例的最新的日志,默认10行

v0.1.5

新增

  • 引入Koishi权限系统
  • 插件设置界面 每个命令添加了默认最小权限等级,可自行调整

v0.1.4

新增

  • 插件设置界面 自定义启动命令
  • 为列表命令添加了快捷命令 面板列表

v0.1.3

新增

  • 插件设置界面 显示实例的完整Uuid开关
  • 插件设置界面 显示实例的人数信息开关

v0.1.2

移除

  • Jsonpath-plus库

v0.1.1

新增

  • 此Markdown文档及其说明

修改

  • help的帮助信息
  • 支持通过实例名称对服务器实例进行相关操作

v0.1.0

发布

  • 支持查询当前的服务器实例列表
  • 支持通过uuid对服务器实例进行重启、开启、关闭、强制关闭操作
  • 支持插件设置内填入所需参数

Command

HelpMenu

以下是两个帮助示例

面板 -h

>> 面板 -h
指令:面板
别名:面板。
可用的子指令有:
    面板 关闭  
    面板 列表  
    面板 开启  
    面板 强制关闭  
    面板 执行  
    面板 日志  
    面板 白名单  
    面板 重启

面板 白名单 -h

>> 面板 白名单 -h
指令:面板 白名单
别名:面板.白名单,面板 白名单。
目标实例的白名单设置
可用的子指令有:
    面板 白名单 关闭  
    面板 白名单 列表  
    面板 白名单 开启  
    面板 白名单 添加  
    面板 白名单 移除  
    面板 白名单 重载

Alias -> Cust CommandName

面板 <操作> <实例名称> <custCommandName> <操作> <实例名称> ( <custCommandName> 缺省值: 服务器 )

>> 面板 重启 喷气背包猫
服务器实例 [喷气背包猫]
于 [2024-06-13 11:45:14]
重启成功
>> 面板 重启 喷气背包猫     // 此时 custCommandName 为 '面板'
服务器实例 [喷气背包猫]
于 [2024-06-13 11:45:14]
重启成功

Alias -> Fast Command

重启服务器 ( 快速重启 InitServerName 实例 )

>> 重启服务器
服务器实例 [喷气背包猫]
于 [2024-06-13 11:45:14]
重启成功

面板列表 ( 快速查看面板实例列表 )

>> 服务器列表
名称:喷气背包猫
Uuid:b940******88a0
版本:1.16.5 [运行]
人数:0 / 10

Warning

使用插件前,先填写并设置好所需信息

基础设置

以下5个插件前端基础信息,均为必填 1. baseUrl 目标Mcsmanager面板的网址。(一般端口:23333)

  1. remoteUuid ( 也称 DaemonIdGID节点ID ) 目标Mcsmanager面板的守护id。

  2. initUuid ( 也称InstanceIdUID实例ID ) 缺省实例的Uuid。( 需要与下述initServerName对应 )

  3. initServerName 缺省实例的名称。 ( 需要与上述initUuid对应 )

  4. apiKey 管理员 / 用户 的 Token

上述信息均可以通过Mcsmanager面板控制台或者浏览器抓包获得!

额外设置

此外,还包含1个选填的插件自定义启动的命令

  1. custCommandName ( 缺省值:面板 )
>> 面板 列表

>> <custCommandName> 列表

命令设置

此插件为每条指令引入开关与Koishi权限系统 可简单设置指令的开启关闭和使用权限等级

列表 设置

  1. enabledList 是否启用 <列表> 指令。 ( 缺省值:关闭,若要使用请 设定为开启并保存设置 )

8. custShowListCmdAlias 指令 <列表> 的别名。 ( 缺省值:列表 )

9. showListLevel 使用指令 <列表> 所需的最低权限等级。 ( 缺省值:1 )

  1. isShowAddress 查看服务器列表时是否显示实例地址 ( 带端口 ) 。 ( 默认 关闭 )

  2. isTryReplaceIp 实验性功能 服务器地址若显示为内外IP,可尝试用域名替换IP。 ( 默认 关闭 )

>> 面板 列表
名称:喷气背包猫
版本:1.16.5 [运行]
人数:0 / 10

>> 面板 列表
名称:喷气背包猫
地址:192.168.1.100:25565
版本:1.16.5 [运行]
人数:0 / 10

>> 面板 列表
名称:喷气背包猫
地址:example.com:25565
版本:1.16.5 [运行]
人数:0 / 10
  1. isShowUuid 查看服务器列表时是否显示实例Uuid。 ( 默认 关闭 )

  2. isShowFullUuid 查看服务器列表时是否显示完整实例Uuid。 ( 默认 关闭 :即仅显示 XXXX**XXXX,安全且美观 )

>> 面板 列表
名称:喷气背包猫
版本:1.16.5 [运行]
人数:0 / 10

>> 面板 列表
名称:喷气背包猫
Uuid:b940******88a0
版本:1.16.5 [运行]
人数:0 / 10

>> 面板 列表
名称:喷气背包猫
Uuid:b940295358c943c4844cc9d53fd788a0
版本:1.16.5 [运行]
人数:0 / 10
  1. isShowPlayerCount 查看服务器列表时是否显示服务器人数信息。 ( 默认开启:若服务器在运行,则显示 在线人数 / 最大人数 )
>> 面板 列表
名称:喷气背包猫
Uuid:b940******88a0
版本:1.16.5 [运行]
人数:0 / 10

>> 面板 列表
名称:喷气背包猫
Uuid:b940******88a0
版本:1.16.5 [运行]
  1. isShowPlayerList 实验性功能 查看服务器列表时是否显示服务器玩家列表。 ( 默认关闭:若服务器在运行且有玩家在线,尝试显示玩家列表,并计算新在线人数) PS: 这是一种新尝试,尝试模拟RCON,理论上在线人数获取速度和准度均较面板API优越
>> 面板 列表
名称:喷气背包猫
Uuid:b940******88a0
版本:1.16.5 [运行]
人数:2 / 10
玩家:Aegiszhy, huazhongxian
  1. isCompatibleWithMcsm10 实验性功能 列表显示异常时,且使用的是Mcsmanager10时,可尝试开启。 ( 默认关闭 )
>> 面板 列表 // Mcsm10时列表异常的状态
名称:FORGE_1.20.1
地址:未设置相关地址
Uuid:7665******7038
版本:无法获取 [未运行]
人数:-1 / -1

>> 面板 列表     // 尝试兼容Mcsm10的结果
名称:FORGE_1.20.1
地址:未设置相关地址
Uuid:7665******7038
版本:未知 (MCSM10?) [运行]
人数:2 / 20
玩家:Aegiszhy, huazhongxian

重启 设置

  1. enabledRst 是否启用 <重启> 指令。 ( 缺省值:关闭,若要使用请 设定为开启并保存设置 )

18. custRstCmdAlias 指令 <重启> 的别名。 ( 缺省值:重启 )

19. restartLevel 使用指令 <重启> 所需的最低权限等级。 ( 缺省值:1 )

开启 设置

  1. enabledStart 是否启用 <开启> 指令。 ( 缺省值:关闭,若要使用请 设定为开启并保存设置 )

21. custStartCmdAlias 指令 <开启> 的别名。 ( 缺省值:开启 )

22. startLevel 使用指令 <开启> 所需的最低权限等级。 ( 缺省值:2 )

关闭 设置

注意:使用此命令时请将Mcsmanager内的 关闭实例命令 设置为^C否则当前实例会变成假关闭并卡死,需要手动去Mcsmanager才能操作

  1. enabledStop 是否启用 <关闭> 指令。 ( 缺省值:关闭,若要使用请 设定为开启并保存设置 )

24. custStopCmdAlias 指令 <关闭> 的别名。 ( 缺省值:关闭 )

25. stopLevel 使用指令 <停止> 所需的最低权限等级。 ( 缺省值:2 )

强制关闭 设置

  1. enabledKill 是否启用 <强制关闭> 指令。 ( 缺省值:关闭,若要使用请 设定为开启并保存设置 )

27. custKillCmdAlias 指令 <强制关闭> 的别名。 ( 缺省值:强制关闭 )

28. killLevel 使用指令 <强制停止> 所需的最低权限等级。 ( 缺省值:2 )

执行 设置

  1. enabledExec 是否启用 <执行> 指令。 ( 缺省值:关闭,若要使用请 设定为开启并保存设置 )

30. custSendCmdAlias 指令 <执行> 的别名。 ( 缺省值:执行 )

31. sendCmdLevel 使用指令 <执行> 所需的最低权限等级。 ( 缺省值:4 )

日志 设置

  1. enabledLog 是否启用 <日志> 指令。 ( 缺省值:关闭,若要使用请 设定为开启并保存设置 )

33. custCmdLogAlias 指令 <日志> 的别名。 ( 缺省值:日志 )

34. cmdLogLevel 使用指令 <日志> 所需的最低权限等级。 ( 缺省值:2 )

  1. cmdLogLine 使用指令 <日志> 的默认输出行数。 ( 缺省值:10 )

白名单 设置 实验性功能

  1. enabledWhiteList 是否启用 <白名单> 指令。 ( 缺省值:关闭,若要使用请 设定为开启并保存设置 )

33. custWhiteListAlias 指令 <白名单> 的别名。 ( 缺省值:白名单 )

34. whiteListLevel 使用指令 <白名单> 所需的最低权限等级。 ( 缺省值:4 )

  1. isCheckWListStatus 实验性功能 是否显示子命令 列表 的检测白名单状态。 ( 缺省值:关闭 )

全局白名单 设置 实验性功能

36. enabledGlobalWhite 是否启用 <全局白名单> 指令。 ( 缺省值:关闭,若要使用请 设定为开启并保存设置 )

37. custGlobalWhiteAlias 指令 <全局白名单> 的别名。 ( 缺省值:日志 )

  1. globalWhiteLevel 使用指令 <全局白名单> 所需的最低权限等级。 ( 缺省值:1 )

  2. dbAdministrator必填 使用指令 <全局白名单> 的管理员账户。

  3. writeMode 同步白名单数据库至实例的模式。 ( 缺省值:增量模式 )

Usage

列表 命令

面板 列表 查看当前面板所有的服务器实例信息 显示实例的信息如下:

>> 面板 列表
名称:乌托邦探险之旅3.1
地址:example.com:25565
Uuid:a281******f07b
版本:1.20.1 [运行]
人数:0 / 20

名称:喷气背包猫
地址:example.com:25566
Uuid:b940******88a0
版本:1.16.5 [运行]
人数:2 / 10
玩家:Aegiszhy, huazhongxian

名称:月亮工厂
地址:example.com:25567
Uuid:2516******7610
版本:无法获取 [未运行]

重启 命令

面板 重启 <实例名称> 针对目标实例发起 重启 操作 ( 缺省值:initServerName )

>> 面板 重启
服务器实例 [喷气背包猫]
于 [2024-06-13 11:45:14]
重启成功

>> 面板 重启 乌托邦探险之旅3.1
服务器实例 [乌托邦探险之旅3.1]
于 [2024-06-13 11:45:20]
重启成功

开启 命令

面板 开启 <实例名称> 针对目标实例发起 开启 操作 ( 缺省值:initServerName )

>> 面板 开启
服务器实例 [喷气背包猫]
于 [2024-06-13 11:45:14]
开启成功

>> 面板 开启 乌托邦探险之旅3.1
服务器实例 [乌托邦探险之旅3.1]
于 [2024-06-13 11:45:20]
开启成功

关闭 命令

面板 关闭 <实例名称> 针对目标实例发起 关闭 操作 ( 缺省值:initServerName )

>> 面板 关闭
服务器实例 [喷气背包猫]
于 [2024-06-13 11:45:14]
关闭成功

>> 面板 关闭 乌托邦探险之旅3.1
服务器实例 [乌托邦探险之旅3.1]
于 [2024-06-13 11:45:20]
关闭成功

强制关闭 命令

面板 强制关闭 <实例名称> 针对目标实例发起 强制关闭 操作 ( 缺省值:initServerName )

>> 面板 强制关闭
服务器实例 [喷气背包猫]
于 [2024-06-13 11:45:14]
强制关闭成功

>> 面板 强制关闭 乌托邦探险之旅3.1
服务器实例 [乌托邦探险之旅3.1]
于 [2024-06-13 11:45:20]
强制关闭成功

执行 命令

面板 执行 <实例名称> <...命令> 针对目标实例发起 执行命令 操作

( 注意:此指令无实例名称缺省,必须指定实例名称 ) ( 注意:此指令无命令缺省,必须指定待发送命令 )

>> 面板 执行 喷气背包猫 say hello
服务器实例 [喷气背包猫]
于 [2024-06-13 11:45:14]
执行命令成功

日志 命令

面板 日志 <实例名称> <输出行数> 针对目标实例发起 获取日志 操作 ( 输出行数 -> 缺省值: 10 )

( 注意:此指令无实例名称缺省,必须指定实例名称 )

>> 面板 日志 喷气背包猫 20
> 
[11:18:48] [Server thread/INFO] [sereneseasons/]: Season time skipped by 20038250 in minecraft:overworld
> weather clear

[11:18:56] [Server thread/INFO] [minecraft/DedicatedServer]: Set the weather to clear
> say hello

[11:45:13] [Server thread/INFO] [minecraft/DedicatedServer]: [Server] hello
> say hello

[11:45:14] [Server thread/INFO] [minecraft/DedicatedServer]: [Server] hello
> 
[12:53:41] [Server thread/WARN] [minecraft/Connection]: handleDisconnection() called twice
> 
[12:53:47] [Server thread/WARN] [minecraft/Connection]: handleDisconnection() called twice
>

白名单 命令

开启 子命令

面板 白名单 开启 <实例名称> 针对目标实例发起 开启白名单 操作

>> 面板 白名单 开启 喷气背包猫
服务器实例 [喷气背包猫]
于 [2024-07-09 11:45:14]
白名单 [开启] 成功

>> 面板 白名单 开启 喷气背包猫
请勿重复开启白名单

关闭 子命令

面板 白名单 关闭 <实例名称> 针对目标实例发起 关闭白名单 操作

>> 面板 白名单 关闭 喷气背包猫
服务器实例 [喷气背包猫]
于 [2024-07-09 11:45:14]
白名单 [关闭] 成功

>> 面板 白名单 关闭 喷气背包猫
请勿重复关闭白名单

添加 子命令

面板 白名单 添加 <实例名称> <玩家名称> 针对目标实例发起 添加玩家至白名单中 操作

>> 面板 白名单 添加 喷气背包猫 Steve
服务器实例 [喷气背包猫]
于 [2024-07-09 11:45:14]
白名单 [添加 Steve] 成功

>> 面板 白名单 添加 喷气背包猫 Steve
玩家Steve已存在

移除 子命令

面板 白名单 移除 <实例名称> <玩家名称> 针对目标实例发起 从白名单中移除玩家 操作

>> 面板 白名单 移除 喷气背包猫 Steve
服务器实例 [喷气背包猫]
于 [2024-07-09 11:45:14]
白名单 [移除 Steve] 成功

>> 面板 白名单 移除 喷气背包猫 Steve
玩家Steve不存在

列表 子命令

面板 白名单 列表 <实例名称> 针对目标实例发起 查看白名单玩家列表 操作

>> 面板 白名单 列表 乌托邦探险之旅3.1
名称:乌托邦探险之旅3.1
白名单状态:开启 (共 6 人)
白名单列表:Player1, Player2, Player3, Player4, Player5, Player6

>> 面板 白名单 列表 喷气背包猫
名称:喷气背包猫
白名单状态:关闭 (共 0 人)
白名单列表:[ 无玩家列表 ]

>> 面板 白名单 列表 喷气背包猫
名称:喷气背包猫
白名单列表:[ 无玩家列表 ]

重载 子命令

面板 白名单 重载 <实例名称> 针对目标实例发起 重载白名单 操作

>> 面板 白名单 喷气背包猫 重载
服务器实例 [喷气背包猫]
于 [2024-07-09 11:45:14]
白名单 [重载] 成功

全局白名单 命令

应甲方要求,需要增加一个数据库用于管理群组上的MC玩家(QQ与MCID绑定),并可以使用该功能将数据库内玩家ID同步到一个至多个实例当中。 此功能支持增量同步(已有白名单中进行追加)和覆盖同步(覆盖已有白名单) !!! 此功能为实验性功能,如非必要无需开启 !!!

列表 子命令

面板 全局白名单 列表

>> 面板 全局白名单 列表
群组来源:#
绑定个人:Alice
绑定玩家:Steve

群组来源:#
绑定个人:Bob
绑定玩家:Alex
……

添加 子命令

面板 全局白名单 添加 <玩家名称>

>> 面板 全局白名单 添加 Steve
此功能暂仅支持群聊模式

>> 面板 全局白名单 添加 Steve
添加玩家 [Steve] 成功

>> 面板 全局白名单 添加 Steve
玩家 [Steve] 已被 [Alice] 添加过了

移除 子命令

面板 全局白名单 移除 <玩家名称>

>> 面板 全局白名单 移除 Steve
此功能暂仅支持群聊模式

>> 面板 全局白名单 移除 Steve
移除玩家 [Steve] 成功

>> 面板 全局白名单 移除 Steve
移除玩家 [Steve] 失败

同步 子命令

面板 全局白名单 同步 [实例名称]

>> 面板 全局白名单 同步
正在同步所有实例 [增量模式]……
已同步至所有实例

>> 面板 全局白名单 同步
正在同步所有实例 [覆盖模式]……
已同步至所有实例

>> 面板 全局白名单 同步 喷气飞机猫
正在同步当前实例 [增量模式]……
已同步至当前实例

>> 面板 全局白名单 同步 喷气飞机猫
正在同步当前实例 [覆盖模式]……
已同步至当前实例

End

都看到这了不得去试一下? -- Aegiszhy

0.2.11

11 months ago

0.2.10

12 months ago

0.2.9

12 months ago

0.2.8

12 months ago

0.2.7

12 months ago

0.2.6

12 months ago

0.2.5

1 year ago

0.2.4

1 year ago

0.2.3

1 year ago

0.2.2

1 year ago

0.2.1

1 year ago

0.2.0

1 year ago

0.1.10

1 year ago

0.1.9

1 year ago

0.1.8

1 year ago

0.1.7

1 year ago

0.1.6

1 year ago

0.1.5

1 year ago

0.1.4

1 year ago

0.1.3

1 year ago

0.1.2

1 year ago

0.1.1

1 year ago

0.1.0

1 year ago