使用koishi与mc互通
2023/9/7...大约 3 分钟
最近有想法做了个mc服务器spigot插件与koishi的onebot互通的项目
 顺便把这篇博客当作详细文档了
jar更新日志
koishi插件更新日志
使用koishi与mc互通
最近有想法做了个mc服务器spigot插件与koishi的onebot互通的项目
 本插件已更新至v2.0,本教程不适用2.0版本
准备
1、一个jdk17环境运行的spigot-1.16以上版本的mc服务器(paper也可以)
 2、去我的github仓库下载所需插件
 也可以点击下面下载
3、下载好后把插件丢进plugins文件夹即可
 4、把服务器的RCON服务打开
- 编辑服务器
server.properties中enable-rcon设置为true - 再设置
rcon.port为rcon的端口,可以不动 与rcon.password(强烈建议设置密码) 然后保存,关闭 
提示
插件启动时会自动生成配置文件,里面只有两个配置项
- host Socket服务器启动地址
 - port Socket服务器启动端口
如果你不懂,不建议修改 
安装koishi插件
- 1、插件市场搜索
minecraft-sync-msg安装即可 - 2、安装完成后去配置插件,详情看koishi插件配置
 
MC服务器插件配置项
| 配置项 | 说明 | 注意 | 
|---|---|---|
| host | Socket服务器启动地址 | |
| port | Socket服务器启动端口 | |
| token | Socket服务器验证令牌 | |
| CMDprefix | 控制台输出接收数据的前缀 | |
| CHATprefix | 聊天栏广播接收数据的前缀 | 
koishi插件配置
| 配置项 | 说明 | 注意 | 
|---|---|---|
| socketServerHost | socket服务器的地址 | |
| socketServerPort | socket服务器的端口 | |
| socketServerToken | socket服务器的验证令牌 | |
| rconServerHost | RCON服务器的地址 | |
| rconServerPort | RCON服务器的端口 | |
| rconPassword | RCON服务器的密码 | |
| alluser | RCON指令是否所有人可用 | (不推荐) | 
| superuser | 可以用所有RCON的用户ID | |
| commonCmd | 普通用户可用的指令 | (只能执行无参数的命令) | 
| cannotCmd | 任何用户都不能用的指令 | (强烈建议禁用restart) | 
| sendToChannel | mc服务器内消息发送到群组 | (请看下面的注意) | 
| chatOnly | 只接收聊天消息 | (v0.2.0) | 
注意
sendToChannel 是发送的群组数组,格式为平台:群组id如发送到qq群onebot:123456
 能力有限,目前commonCmd只能做到无参数指令,像list,help,tps这些
 RCON更多指令详情可以百度
其他玩法
- mc服务器内发送<at id="用户id(如QQ号)"/>可以at平台用户
 - mc服务器内发送<image url="图片地址"/>可以发送图片到平台
 - 聊天平台(如qq群)使用
。#(消息)或.#(消息)给mc服务器发送消息&+数字可以跟mc改变颜色
示例: .#你好&6呀 - 聊天平台(如qq群)使用
#/(指令)可以给RCON发送指令
示例: #/list (等价于mc内输入/list) 
注意事项
- 1、如果koishi的socket与服务器断开不会自动重连,需要重启插件
我也想过做自动重连但是logger会爆炸 - 2、java我也是看着来写的,真心不会,所以大概率不会更新
 
