==========公告区==========
[醒目]下载密码 d1bu
背包同步很稳定,抗炸服、抗背包获取失败,运行数月未出现背包方面的异常。
但安装需要一些时间加上作者空闲时间不多,建议有网络应用部署经验的服主使用。
GitHub已更新至alpha0.3.0
========================
[醒目]下载密码 d1bu
背包同步很稳定,抗炸服、抗背包获取失败,运行数月未出现背包方面的异常。
但安装需要一些时间加上作者空闲时间不多,建议有网络应用部署经验的服主使用。
GitHub已更新至alpha0.3.0
========================
一、当前进展
1. 平台方面,构建了两个端,一个是C++写的LiteLoader插件端,另一个是用Java写的群组服管理端。未来也许会增加安卓端和网页端,毕竟群组服管理端使用的框架SpringBoot很适合做这些;
2. 功能方面,如下:
功能名 | 备注 |
玩家数据多服同步 | 看名称应该知道是什么 经过了较长时间的测试,现在比较稳定 |
跨服传送 | 通过服务器名称传送到其它服务器 |
信息同步 | 死亡信息、登入/登出信息 |
Q群机器人 | 内测中 |
二、使用手册
1. 异常处理
① 进入服务器后被踢出,提示“You are already online on server: xxx”
玩家下线时出现了某些问题,导致云端背包不是最新的。
从下线服务器进入服务器即可,服务器名即为提示中的“xxx”。
2. 跨服传送/tpw list 查看可传送的世界
/tpw [worldName] 传送到名为worldName的世界
/tpw <player> [worldName] 将玩家(们)传送到名为worldName的世界,OP专用
(在一个版本中被删除了,最新版还没加回来)
三、安装说明这部分真的是可以写非常长......没耐心可以返回上一页了。
目前仅有windows下的安装教程。
0. 需要确定的项目
数据库账号,文中是root
数据库密码,文中是database2333
web socket 身份验证密码,文中是webSocketKey
1. 下载并配置Java
注意:只需要在管理端所在的服务器做这一步。
② 找到windows对应的exe文件下载;
③ 双击执行exe,记住安装路径;(C:\Program Files\Java\jdk-17.0.1)
④ 配置环境变量。依次选择我的电脑—右键属性—选择高级系统设置—环境变量
a, 在系统变量处选择新建,变量名“JAVA_HOME”,变量值为上一步的安装路径;
b. 在系统变量处选择新建,变量名“CLASSPATH”,变量值“%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar”;
c. 在系统变量处双击Path,新增变量值“%JAVA_HOME%\bin”和“%JAVA_HOME%\jre\bin”。
⑤ 确认安装。打开cmd命令行,输入java -version,若出现java的版本信息则说明安装成功。
2. 安装并配置SQLServer2019
注意:只需要在一个服务器做这一步,可以不和管理端在同一服务器。
【安装部分】
② 选择SQLServer2019 - Get started for free - EXE - [continue],填写资料再点击[Continue],然后[download];
③ 双击下载下来的文件,选择基本安装,接受协议,选择语言为中文,等待安装完成。
④ 安装完成,点击“安装SSMS”。
【配置部分】
① 使用SSMS连接数据库;
② 在主界面左侧“对象资源管理器”,右键“数据库”,点击“新建数据库”,数据库名称填“WM”,确定;
③ 在主界面顶栏点击“新建查询”,粘贴如下代码并点击“执行”;
SQL:
use WM
Create table Player(
xuid varchar(128) primary key,
uuid varchar(128),
real_name varchar(64),
nick_name varchar(64),
online varchar(64),
online_time int
)
Create table PlayerData(
xuid varchar(128) primary key,
bag text,
ender_chest text,
attributes text,
level text,
scores text,
tags text,
money BIGINT
)
Create table QQ(
number bigint primary key,
name varchar(255),
)
④ 在主界面左侧“对象资源管理器”,展开“安全性”,右键“登录名”,单击“新建登录名”:
a. 输入一个登录名,为方便之后的演示,我这里是“root”;
b. 选择“SQL Server身份验证”,输入密码并确认密码,我这里是“database2333”;
c. 取消勾选“强制执行密码策略”;
d. 在靠左的选择页点击“服务器角色”,勾选“sysadmin”;
e. 在靠左的选择页点击“状态”,勾选“授予”、“启用”;
f. 点击右下角的“确定”创建登录名。
⑤ 在主界面左侧“对象资源管理器”,右键最上面的根节点,点击“属性”,在弹出的对话框的左侧选择页单击“安全性”,选择“SQL Server和Windows身份验证模式”,确定;
⑥ 退出SSMS,打开‘'SQL Server 2019 配置管理器“:
a. 在左侧导航栏,展开”SQL Server网络配置“,点击”SQLEXPRESS 的协议“;
b. 右键”TCP/IP“,启用协议,然后双击进入属性对话框;
c. 选择”IP地址“,拉到最下面,把”IPALL“的”TCP“端口改为1433,确定。
d. 在左侧导航栏,点击”SQL Server服务“,右键”SQL Server(SQLEXPRESS)“, 重启。
⑦ 测试:打开SSMS,选择SQL Server身份验证,用刚刚创建的登录名“root”-“database2333”登录,连接成功即为测试完成。
3.配置管理端
找到并打开”WheatManager\application.properties“,设置如下参数:
代码:
spring.socket.serverKey=[web socket 身份验证密码]
spring.datasource.server=[数据库(SQL Server)所在服务器的外网IP]
spring.datasource.username=[SQL Server的登录名]
spring.datasource.password=[SQL Server的密码]
4.配置插件端
① 将WheatManager.js复制到”plugins“文件夹;
② 启动服务器,然后关闭;
③ 修改”plugins\Wheat\config.json“:
JSON:
{
"chat": {
"style": "[§b{F}§r] §g{N}§r >> {S}", // 聊天信息样式
"title": "pTitle" // 称号插件,若不使用则改为"null"
},
"language": {
"name": "zh_CN" // 语言文件名称,该功能现版本未上线
},
"Base": {
"hostURL": "localhost:8080", // IP为管理端所在的服务器的IP,若该MC服务器与管理端在同一主机,则为localhost
"serverName": "server_name", // 服务器名称,用于标识该服务器
"serverIP": "11.1.1.1", // 进入该服务器使用的IP
"serverPort": 9961 // 进入该服务器使用的端口
},
"WebSocket": {
"hostURL": "ws://localhost:8080/ws/asset", // web socket URI,若上一步没有修改其它设置,只需设置IP。IP为管理端所在的服务器的IP,若该MC服务器与管理端在同一主机,则为localhost
"key": "web_socket_key", // web socket身份验证密码
"timeOut": 15 // 自动重连时间间隔
},
"Synchronize": { // 数据同步设置
"autoSaveTime": 5, // 自动保存间隔
"bag": true, // 同步背包
"enderChest": true, // 同步末影箱
"attributes": true, // 同步药水效果
"level": true, // 同步等级
"scores": true, // 同步计分板
"tags": true, // 同步标签
"message": true, // 同步信息
"money": true, // 同步金钱
"moneyType": "score", // 同步金钱的种类,score或LLMoney
"moneyName": "money" // 同步金钱的计分项名称,种类为score时有用
}
}
5.测试
① 将”start server.bat“和”WM.jar“放在同一目录,双击”start server.bat“
② 启动MC服务器,看到如下信息说明连接成功:
代码:
INFO [WM] Connection established
INFO [WM] Authentication passed.
③ 启动Minecraft,进行实地测试。
四、声明
1. 萌新,第一个插件。起初目的是构建一个稳定的背包同步顺便练练springboot和js,所以部分设计并不完美;
2. 我的专业方向是人工智能,而这个项目嘛偏向物联网,所以只是出于兴趣写着玩玩,出现一些超菜超怪的操作也在情理之中;
3. 很久没练英语了,提示信息和注释可能会有一些语法错误;
4. 还100天就考研了,没空回答问题,安装不上就找别的插件吧
