作者已跑路,插件没时间维护,但仍然能用(大概吧 ),有事+QQ1803422592
2022.7.22
新版本1.6.32已发布,修复许多玄学bug,改动很大无法一一列举
企鹅交流群号732562418,希望各位使用本插件的用户尽快加群,方便互相帮助与反馈问题等
1.6.32版本之后这个插件算是完善了,放心用
本插件各项功能均可单独开关
WSS1.6.29源代码链接https://github.com/xialiag/WebSockets_Server,担心后门的可以自己编译
[MD]
# WSClient-Sync 1.6.32更新后使用教程
***有问题群里提问回答(点击下方图标加群)***
***加群抢先体验新版本以及bug修复***
<a target="_blank" href="https://qm.qq.com/cgi-bin/qm/qr?k=mNKF6IJNZGdYtLXfoo0Ze-Lmxvf_B43A&jump_from=webapi"><img border="1" src="https://q4.qlogo.cn/g?b=qq&nk=1803422592&s=140" alt="WSClient-Sync插件反馈交" title="WSClient-Sync插件反馈交流"></a>
---
## ?前置知识
- 本插件分为两部分,一部分是WSClient-Sync(js插件,简称为客户端),另一部分是WebSockets_Server(exe程序,简称为服务端)
---
## ?WSClient-Sync
使用方法:
1. 从[WSClient-Sync发布页](https://www.minebbs.com/resources/wsclient-sync.3334/)下载WSClient-Sync-Pack.zip并解压
2. 将WSClient-Sync.js复制到BDS的plugins目录下
3. 启动服务器,等待WSClient-Sync输出黄色warn提示后关闭服务器
4. 进入BDS/plugins/WSClient-Sync目录,打开config.json并按自己情况修改,保存后重新启动服务器
5. 如果服务器输出了"Connected WebSockets_server",恭喜你,插件连接上了服务端,可以进入游戏享受互通插件带来的乐趣了
### ?客户端配置文件
```json
{
"Synchronization_Options": {//同步配置项
"welcomeMessage": true,//是否启用入服欢迎
"syncMessage": true,//是否启用跨服消息
"syncInventory": true,//是否启用跨服背包
"syncLLMoney": true,//是否启用跨服LLMoney
"syncScoreboard": true,//是否启用跨服计分板
"syncTags": true,//是否启用跨服Tag
"syncEnderChest": true,//是否启用跨服末影箱
"syncLevel": true,//是否启用跨服经验
"syncEffects": true//是否启用跨服药水效果
},
"WS_Connection_Options": {//WebSockets连接配置项
"WSS_ip": "127.0.0.1",//WSS的ip
"WSS_port": 9001,//WSS的端口
"passwd": "WSClient_Sync",//WSS的密码
"HookFunction": false//使插件可以和bds同时保存玩家背包
},
"WS_Client_Options": {//插件配置项
"serverName": "MyServer",//本服务器名
"detectConnectionSec": 15,//WebSockets断连检测间隔,单位:秒
"savePlayerNBTTimingMin": 5,//自动保存玩家NBT信息间隔,单位:分
"consoleLoggerLevel": 4,//服务器控制台日志输出等级,见下方输出等级详解
"fileLoggerLevel": 0//日志文件记录等级,见下方输出等级详解
},
"inGameText": {//发生事件时在游戏中发送提示
"PlayerJoinText": "${Format.MinecoinGold}[+] ${Format.Aqua}${Message.playerRealName}${Format.MinecoinGold} joined server ${parseName(msg)}",//玩家进入服务器
"PlayerLeftText": "${Format.MinecoinGold}[-] ${Format.Aqua}${Message.playerRealName}${Format.MinecoinGold} left server ${parseName(msg)}",//玩家离开服务器
"SyncMessage": "[${Format.Aqua}${parseName(msg)}${Format.Clear}] ${Message.playerRealName} >> ${Message.message}",//跨服聊天
"ServerOffLineText": "",//服务器下线
"ServerOnLineText": "",//服务器上线
"SavePlayerNBTText": "",//保存玩家数据
"ReadPlayerNBTText": ""//应用玩家数据
},
"inConsoleText": {//发生事件时在控制台输出提示
"PlayerJoinText": "Player ${Message.playerRealName} joined server ${parseName(msg)}",//玩家进入服务器
"PlayerLeftText": "Player ${Message.playerRealName} left server ${parseName(msg)}",//玩家离开服务器
"SyncMessage": "[${parseName(msg)}] ${Message.playerRealName} >> ${Message.message}",//跨服聊天
"ServerOffLineText": "",//服务器下线
"ServerOnLineText": ""//服务器上线
}
}
```
| 日志输出等级 | 对应等级名称 |实际输出日志内容 |
| :---: | :---: | :---:|
| 0 | Silent | 不输出任何日志 |
| 1 | Fatal | 仅输出严重错误信息 |
| 2 | Error | 输出 严重错误、错误信息 |
| 3 | Warn | 输出严重错误、错误、警告信息 |
| 4 | Info | 输出 严重错误、错误、警告、提示信息 |
| 5 | Debug | 输出 严重错误、错误、警告、提示和调试信息 |
---
## ?WebSockets_Server
使用方法:
1. 从[WSClient-Sync发布页](https://www.minebbs.com/resources/wsclient-sync.3334/)下载WSClient-Sync-Pack.zip并解压
2. 将WebSockets_Server.exe与config.json复制到你选择的同一目录下
3. 打开config.json,按自己情况修改后保存
4. 双击WebSockets_Server运行服务端程序
5. 如果你的WSS控制台上出现了监听端口的提示,恭喜你,服务端程序搭建完成了
### ?服务端配置文件
```json
{
"port": 9001,//端口号,注意不能与其他应用占用同一个端口
"passwd": "WSClient_Sync",//密码,即使WSS的ip与端口暴露,只要密码不暴露,其他人就无法恶意接入你的WSS依靠同步刷取物品
"DevMode": false//是否在WSS控制台上展示客户端发来的消息
}
```
---
## ?控制台命令
根命令是wscsync,使用时在控制台输入根命令加次级命令,如:"wscsync list"
下面是次级命令列表
1. list "列出此服务器本地KVDB数据库中存储的玩家数据"
2. delete <玩家名> "删除此服务器本地KVDB数据库中存储的对应玩家数据,例如:wscsync delete xialiag"
3. packdb <玩家名> "将此服务器本地KVDB数据库中存储的指定玩家的数据打包为json格式,例如: wscsync packdb xialiag(打包好的json文件会存放在BDS目录/plugins/WSClient-Sync)"
---
## 常见问题 & 注意事项
- serverName尽量不要使用带有双冒号(::)或者井号(#)的字符串,插件依靠这两种字符的位置和分割判断消息类型、消息发送方以及消息正文,如果使用这两种字符**可能会造成插件无法使用**
- **客户端的serverName不能相同**,如果客户端重名,服务端会拒绝客户端设置名字的请求,对跨服同步功能没有影响,不过跨服消息和玩家入服退服时的消息来源会显示UNNAMED
- WSClient-Sync1.6.32更新之后,由使用json存储玩家背包数据改为使用KVDB数据库存储,无法像原来一样直接删除存储的玩家背包数据,所以client注册了个控制台命令来操作玩家背包数据,用法是: wscsync list ——列出所有玩家背包数据(仅列出插件记录下的本地玩家数据),wscsync delete 玩家名 ——删除玩家数据(仅删除插件记录下的本地玩家数据)
- 玩家有背包数据,但是插件没有保存下来其数据时,应让玩家先进入希望保存背包数据的服务器,保证插件保存下玩家背包数据,再让玩家进入其他服务器,防止**玩家背包数据被新服务器中空白背包数据覆盖**
- 此插件**不兼容对同步内容修改行为的插件**,如离线修改llmoney(主要取决于有没有其他插件同时修改玩家数据),可以在配置文件中关闭冲突的配置项
- json**不要用windows自带的记事本打开**,记事本会将文件编码格式改为BOM UTF-8,导致插件无法读取,推荐使用Visual Studio Code编辑文件,如果已经使用记事本打开配置文件,请删除配置文件后运行BDS,等待重新生成配置文件后再次修改并启动BDS
- 可同步addon物品,但**各个服务器都需要**加载这个addon,不然同步过去的物品无法写入nbt
- 同步失败先**检查LL有没有更新**
- 本插件没有服务器最大数量限制(~~ 通,都可以通 ~~)
- 服务端和客户端可同主机,客户端之间也可同主机
- 分布储存,容错率高,玩家数据以各**服务器间**插件最新记录下的为准
---
# 更新日志
- 2022.7.27 client-v1.6.33 server-v1.6.29
> client-v1.6.33 1. 新增控制台次级命令:packdb
> server-v1.6.29 1. 修复中文乱码 2. 修复客户端发送数据量过大时服务端主动断开连接
- 2022.7.29 client-v1.6.34
> client-v1.6.34 1. 修复玩家跨服时掉线导致的背包误覆盖
- 2022.8.26 client-v1.6.40 server-v1.6.34
> client-v1.6.39 1. 修复自动保存失效的问题 2. 新增自定义通知消息(可自定义控制台消息与游戏内消息) 3. 修复自动保存过快时玩家无法进入服务器的问题 4. 新增WSS异常处理(serverName设置失败自动使用GUID) 5.未监听到玩家退出时进行异常处理
> server-v1.6.34 1. 优化代码逻辑 2. 将超时时长调整为1200
---
[/MD]
最好能把bds配置文件里online-mode打开
有bug加作者qq1803422592反馈
加群加群732562418 orz
2022.7.22
新版本1.6.32已发布,修复许多玄学bug,改动很大无法一一列举
企鹅交流群号732562418,希望各位使用本插件的用户尽快加群,方便互相帮助与反馈问题等
1.6.32版本之后这个插件算是完善了,放心用
本插件各项功能均可单独开关
WSS1.6.29源代码链接https://github.com/xialiag/WebSockets_Server,担心后门的可以自己编译
[MD]
# WSClient-Sync 1.6.32更新后使用教程
***有问题群里提问回答(点击下方图标加群)***
***加群抢先体验新版本以及bug修复***
<a target="_blank" href="https://qm.qq.com/cgi-bin/qm/qr?k=mNKF6IJNZGdYtLXfoo0Ze-Lmxvf_B43A&jump_from=webapi"><img border="1" src="https://q4.qlogo.cn/g?b=qq&nk=1803422592&s=140" alt="WSClient-Sync插件反馈交" title="WSClient-Sync插件反馈交流"></a>
---
## ?前置知识
- 本插件分为两部分,一部分是WSClient-Sync(js插件,简称为客户端),另一部分是WebSockets_Server(exe程序,简称为服务端)
---
## ?WSClient-Sync
使用方法:
1. 从[WSClient-Sync发布页](https://www.minebbs.com/resources/wsclient-sync.3334/)下载WSClient-Sync-Pack.zip并解压
2. 将WSClient-Sync.js复制到BDS的plugins目录下
3. 启动服务器,等待WSClient-Sync输出黄色warn提示后关闭服务器
4. 进入BDS/plugins/WSClient-Sync目录,打开config.json并按自己情况修改,保存后重新启动服务器
5. 如果服务器输出了"Connected WebSockets_server",恭喜你,插件连接上了服务端,可以进入游戏享受互通插件带来的乐趣了
### ?客户端配置文件
```json
{
"Synchronization_Options": {//同步配置项
"welcomeMessage": true,//是否启用入服欢迎
"syncMessage": true,//是否启用跨服消息
"syncInventory": true,//是否启用跨服背包
"syncLLMoney": true,//是否启用跨服LLMoney
"syncScoreboard": true,//是否启用跨服计分板
"syncTags": true,//是否启用跨服Tag
"syncEnderChest": true,//是否启用跨服末影箱
"syncLevel": true,//是否启用跨服经验
"syncEffects": true//是否启用跨服药水效果
},
"WS_Connection_Options": {//WebSockets连接配置项
"WSS_ip": "127.0.0.1",//WSS的ip
"WSS_port": 9001,//WSS的端口
"passwd": "WSClient_Sync",//WSS的密码
"HookFunction": false//使插件可以和bds同时保存玩家背包
},
"WS_Client_Options": {//插件配置项
"serverName": "MyServer",//本服务器名
"detectConnectionSec": 15,//WebSockets断连检测间隔,单位:秒
"savePlayerNBTTimingMin": 5,//自动保存玩家NBT信息间隔,单位:分
"consoleLoggerLevel": 4,//服务器控制台日志输出等级,见下方输出等级详解
"fileLoggerLevel": 0//日志文件记录等级,见下方输出等级详解
},
"inGameText": {//发生事件时在游戏中发送提示
"PlayerJoinText": "${Format.MinecoinGold}[+] ${Format.Aqua}${Message.playerRealName}${Format.MinecoinGold} joined server ${parseName(msg)}",//玩家进入服务器
"PlayerLeftText": "${Format.MinecoinGold}[-] ${Format.Aqua}${Message.playerRealName}${Format.MinecoinGold} left server ${parseName(msg)}",//玩家离开服务器
"SyncMessage": "[${Format.Aqua}${parseName(msg)}${Format.Clear}] ${Message.playerRealName} >> ${Message.message}",//跨服聊天
"ServerOffLineText": "",//服务器下线
"ServerOnLineText": "",//服务器上线
"SavePlayerNBTText": "",//保存玩家数据
"ReadPlayerNBTText": ""//应用玩家数据
},
"inConsoleText": {//发生事件时在控制台输出提示
"PlayerJoinText": "Player ${Message.playerRealName} joined server ${parseName(msg)}",//玩家进入服务器
"PlayerLeftText": "Player ${Message.playerRealName} left server ${parseName(msg)}",//玩家离开服务器
"SyncMessage": "[${parseName(msg)}] ${Message.playerRealName} >> ${Message.message}",//跨服聊天
"ServerOffLineText": "",//服务器下线
"ServerOnLineText": ""//服务器上线
}
}
```
| 日志输出等级 | 对应等级名称 |实际输出日志内容 |
| :---: | :---: | :---:|
| 0 | Silent | 不输出任何日志 |
| 1 | Fatal | 仅输出严重错误信息 |
| 2 | Error | 输出 严重错误、错误信息 |
| 3 | Warn | 输出严重错误、错误、警告信息 |
| 4 | Info | 输出 严重错误、错误、警告、提示信息 |
| 5 | Debug | 输出 严重错误、错误、警告、提示和调试信息 |
---
## ?WebSockets_Server
使用方法:
1. 从[WSClient-Sync发布页](https://www.minebbs.com/resources/wsclient-sync.3334/)下载WSClient-Sync-Pack.zip并解压
2. 将WebSockets_Server.exe与config.json复制到你选择的同一目录下
3. 打开config.json,按自己情况修改后保存
4. 双击WebSockets_Server运行服务端程序
5. 如果你的WSS控制台上出现了监听端口的提示,恭喜你,服务端程序搭建完成了
### ?服务端配置文件
```json
{
"port": 9001,//端口号,注意不能与其他应用占用同一个端口
"passwd": "WSClient_Sync",//密码,即使WSS的ip与端口暴露,只要密码不暴露,其他人就无法恶意接入你的WSS依靠同步刷取物品
"DevMode": false//是否在WSS控制台上展示客户端发来的消息
}
```
---
## ?控制台命令
根命令是wscsync,使用时在控制台输入根命令加次级命令,如:"wscsync list"
下面是次级命令列表
1. list "列出此服务器本地KVDB数据库中存储的玩家数据"
2. delete <玩家名> "删除此服务器本地KVDB数据库中存储的对应玩家数据,例如:wscsync delete xialiag"
3. packdb <玩家名> "将此服务器本地KVDB数据库中存储的指定玩家的数据打包为json格式,例如: wscsync packdb xialiag(打包好的json文件会存放在BDS目录/plugins/WSClient-Sync)"
---
## 常见问题 & 注意事项
- serverName尽量不要使用带有双冒号(::)或者井号(#)的字符串,插件依靠这两种字符的位置和分割判断消息类型、消息发送方以及消息正文,如果使用这两种字符**可能会造成插件无法使用**
- **客户端的serverName不能相同**,如果客户端重名,服务端会拒绝客户端设置名字的请求,对跨服同步功能没有影响,不过跨服消息和玩家入服退服时的消息来源会显示UNNAMED
- WSClient-Sync1.6.32更新之后,由使用json存储玩家背包数据改为使用KVDB数据库存储,无法像原来一样直接删除存储的玩家背包数据,所以client注册了个控制台命令来操作玩家背包数据,用法是: wscsync list ——列出所有玩家背包数据(仅列出插件记录下的本地玩家数据),wscsync delete 玩家名 ——删除玩家数据(仅删除插件记录下的本地玩家数据)
- 玩家有背包数据,但是插件没有保存下来其数据时,应让玩家先进入希望保存背包数据的服务器,保证插件保存下玩家背包数据,再让玩家进入其他服务器,防止**玩家背包数据被新服务器中空白背包数据覆盖**
- 此插件**不兼容对同步内容修改行为的插件**,如离线修改llmoney(主要取决于有没有其他插件同时修改玩家数据),可以在配置文件中关闭冲突的配置项
- json**不要用windows自带的记事本打开**,记事本会将文件编码格式改为BOM UTF-8,导致插件无法读取,推荐使用Visual Studio Code编辑文件,如果已经使用记事本打开配置文件,请删除配置文件后运行BDS,等待重新生成配置文件后再次修改并启动BDS
- 可同步addon物品,但**各个服务器都需要**加载这个addon,不然同步过去的物品无法写入nbt
- 同步失败先**检查LL有没有更新**
- 本插件没有服务器最大数量限制(~~ 通,都可以通 ~~)
- 服务端和客户端可同主机,客户端之间也可同主机
- 分布储存,容错率高,玩家数据以各**服务器间**插件最新记录下的为准
---
# 更新日志
- 2022.7.27 client-v1.6.33 server-v1.6.29
> client-v1.6.33 1. 新增控制台次级命令:packdb
> server-v1.6.29 1. 修复中文乱码 2. 修复客户端发送数据量过大时服务端主动断开连接
- 2022.7.29 client-v1.6.34
> client-v1.6.34 1. 修复玩家跨服时掉线导致的背包误覆盖
- 2022.8.26 client-v1.6.40 server-v1.6.34
> client-v1.6.39 1. 修复自动保存失效的问题 2. 新增自定义通知消息(可自定义控制台消息与游戏内消息) 3. 修复自动保存过快时玩家无法进入服务器的问题 4. 新增WSS异常处理(serverName设置失败自动使用GUID) 5.未监听到玩家退出时进行异常处理
> server-v1.6.34 1. 优化代码逻辑 2. 将超时时长调整为1200
---
[/MD]
最好能把bds配置文件里online-mode打开
有bug加作者qq1803422592反馈
加群加群732562418 orz