Skip to content

ENIACJushi/WheatManager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

待重构,配置略麻烦,尝试优化一下

Wheat Manager

α测试中...... 变动实在太多了,仅供参考,若要使用则应有网络应用开发经验。

Wheat Manager,属于MCBE服务器辅助Wheat系列,主要用于管理多个MC服务器间的数据交互,以及外部应用对他们的访问。 (发现已经有一个叫Minecraft Server Manager的项目了,于是本项目更名Wheat Manager)

下面我将一一介绍这个项目的进展、安装以及声明:

一、当前进展

1. 平台方面,构建了两个端,一个是JS写的LiteLoader插件端,另一个是用Java写的群组服管理端。未来也许会增加安卓端和网页端,毕竟群组服管理端使用的框架SpringBoot很适合做这些;

2. 功能方面,实现了多服玩家数据同步。游戏数据的读取和设置参考背包同步插件“WSClient-Syn”(如果只是要同步功能,不考虑web应用的话建议用这个插件)。未来计划增加跨服指令、实名认证、防沉迷、自助白名单获取和通过外部程序调用MC操作等功能。

二、安装说明

这部分真的是可以写非常长......没耐心可以返回上一页了。

目前仅有windows下的安装教程。

1. 下载并配置Java

注意:只需要在管理端所在的服务器做这一步。

① 下载链接:https://www.oracle.com/java/technologies/javase/jdk14-archive-downloads.html

② 找到windows对应的exe文件下载;

③ 双击执行exe,记住安装路径;

④ 配置环境变量。依次选择我的电脑—右键属性—选择高级系统设置—环境变量

   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

注意:只需要在一个服务器做这一步,可以不和管理端在同一服务器。

【安装部分】

① 下载链接:https://www.microsoft.com/en-us/evalcenter/evaluate-sql-server-2019

② 选择SQLServer2019 - Get started for free - EXE - [continue],填写资料再点击[Continue],然后[download];

③ 双击下载下来的文件,选择基本安装,接受协议,选择语言为中文,等待安装完成。

④ 安装完成,点击“安装SSMS”。

【配置部分】

① 使用SSMS连接数据库;



② 在主界面左侧“对象资源管理器”,右键“数据库”,点击“新建数据库”,数据库名称填“MSM”,确定;



③ 在主界面顶栏点击“新建查询”,粘贴如下代码并点击“执行”;

[CODE=sql]use MSM

Create table Player(

xuid varchar(128) primary key,

uuid varchar(128),

real_name varchar(64),

nick_name varchar(64),

online varchar(64)

)

Create table PlayerData(

xuid varchar(128) primary key,

NBT text,

scores text,

tags text,

money Integer

)[/CODE]

④ 在主界面左侧“对象资源管理器”,展开“安全性”,右键“登录名”,单击“新建登录名”:

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.配置管理端

找到并打开”MinecraftServerManager\application.properties“,设置如下参数:

[CODE]spring.socket.serverKey=[要设置的web socket服务器密码]

spring.datasource.server=[数据库(SQL Server)所在服务器的外网IP]

spring.datasource.username=[SQL Server的登录名]

spring.datasource.password=[SQL Server的密码][/CODE]

4.配置插件端

① 将MinecraftServerManager.js复制到”plugins“文件夹;

② 启动服务器,然后关闭;

③ 修改”plugins\MinecraftServerManager\config.json“:

[CODE=json]{

"hostURL": "localhost:8080", // localhost为管理端所在的服务器的IP,若该MC服务器与管理端在同一主机,则为localhost

"serverName": "ZY",          // 服务器名称

"key": "S@H12=S-NA",         // web socket密码

"timeOut": 15,               // 自动重连时间间隔

"autoSaveTime": 5,           // 自动保存间隔

"synNBT": true,              // 同步NBT

"synScores": true,           // 同步计分板

"synTags": true,             // 同步标签

"synLLMoney": true           // 同步LLMoney

}[/CODE]

5.测试

① 将”start server.bat“和”MinecraftServerManager.jar“放在同一目录,双击”start server.bat“

② 启动MC服务器,看到如下信息说明连接成功:

[CODE]INFO [MSM] Connection established.

INFO [MSM] Authentication passed.[/CODE]

③ 启动Minecraft,进行实地测试。

三、声明

1. 萌新,第一个插件。起初目的是构建一个稳定的背包同步顺便练练springboot和js,所以部分设计并不完美;

2. 我的专业方向是人工智能,而这个项目嘛偏向物联网,所以只是出于兴趣写着玩玩,出现一些超菜超怪的操作也在情理之中;

3. 安装遇到问题不要找作者,应该找百度,上CSDN,关于如何安装的问题一律不答;

4. 很久没练英语了,提示信息和注释可能会有一些语法错误;

5. 反馈渠道:评论区、QQ 368364534。加QQ先说明来意,非必要不Q;

6. 参考支持方式:贡献代码、来服玩。内测在该服务器进行,小版本也会优先发到服群,群号:688524595。