• 「7周年限定勋章」正式上线!4/5/6周年的纪念勋章也限时返场了噢~【点我去看看】
Wheat Manager - 群组服(伪·多世界) & 网络应用系统

LSE Wheat Manager - 群组服(伪·多世界) & 网络应用系统 alpha 0.4.1

版权类型
原创
版权链接
https://github.com/ENIACJushi/MSM
前置组件
Lite Loader
Java - JDK14
SQL Server 2019
==========公告区==========
[醒目]下载密码 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天就考研了,没空回答问题,安装不上就找别的插件吧:tieba-26:
作者
cometwind
价格
64金粒
下载
57
查看
4,692
首次发布
最后更新

评分

5.00 星 4 次评分

cometwind 的其他资源

最新更新

  1. alpha 0.4.1

    此次更新修改了配置文件,请比对更新。 运行时可能出现关于“chat”的报错,这是正在开发的聊天频道和禁言功能导致的,不会带来负面影响。 有些功能是很久以前写的可能忘了,如有遗漏之后再补...
  2. alpha 0.4.0

    考虑到以后或许会没空适配新版本,插件主体换回LLSE。 暂时还没移植语言文件和显示群组内服务器列表
  3. 缓更

    因为本人要准备期末考试和考研,缓更到今年年末。 期间只会修bug和适配新版本。

最新评价

use WM
Create table Player(
xuid varchar(128) primary key,
uuid varchar(128),
real_name varchar(64),
nick_name varchar(64),
online varchar(64), <----- "," disappeared
online_time int
)
cometwind
cometwind
online_time是后来加的,忘记补逗号了,感谢指正
  • 匿名
  • 5.00 星
  • 版本: alpha 0.2.3
玩家离开服务器时会发生崩服
[Crashed!]
-- Unhandled Exception in -> ucrtbase.dll
-- Exception Code: 0xC0000409
-- Minidump generated in Directory ./logs/Crash

[TrackBack] Function invoke_watson at 0x7FFF0172B390 [ucrtbase.dll]
[TrackBack] Function log2f at 0x7FFF017047A0 [ucrtbase.dll]
[TrackBack] Function invalid_parameter_noinfo at 0x7FFF016D85B0 [ucrtbase.dll]
[TrackBack] Function invalid_parameter_noinfo_noreturn at 0x7FFF0172B360 [ucrtbase.dll]
[TrackBack] Function onPostInit at 0x7FFEEEA52160 [[alpha0.2.3]Wheat.dll]
[TrackBack] Function ???????? at 0x????????
[TrackBack] Function _NLG_Return2 at 0x7FFEF5161150 [VCRUNTIME140_1.dll]
[TrackBack] Function _NLG_Return2 at 0x7FFEF5161150 [VCRUNTIME140_1.dll]
[TrackBack] Function _NLG_Return2 at 0x7FFEF5161150 [VCRUNTIME140_1.dll]
[TrackBack] Function _CxxFrameHandler4 at 0x7FFEF5164070 [VCRUNTIME140_1.dll]
[TrackBack] Function onPostInit at 0x7FFEEEA52160 [[alpha0.2.3]Wheat.dll]
[TrackBack] Function _chkstk at 0x7FFF03BD3CE0 [ntdll.dll]
[TrackBack] Function RtlUnwindEx at 0x7FFF03B5F7A0 [ntdll.dll]
[TrackBack] Function _NLG_Return2 at 0x7FFEF5161150 [VCRUNTIME140_1.dll]
[TrackBack] Function _NLG_Return2 at 0x7FFEF5161150 [VCRUNTIME140_1.dll]
[TrackBack] Function _NLG_Return2 at 0x7FFEF5161150 [VCRUNTIME140_1.dll]
[TrackBack] Function _NLG_Return2 at 0x7FFEF5161150 [VCRUNTIME140_1.dll]
[TrackBack] Function _NLG_Return2 at 0x7FFEF5161150 [VCRUNTIME140_1.dll]
[TrackBack] Function _CxxFrameHandler4 at 0x7FFEF5164070 [VCRUNTIME140_1.dll]
[TrackBack] Function DB::SQLiteStmt::create at 0x7FFEF0275900 [LiteLoader.dll]
[TrackBack] Function _chkstk at 0x7FFF03BD3CE0 [ntdll.dll]
[TrackBack] Function RtlVirtualUnwind2 at 0x7FFF03B61ED0 [ntdll.dll]
[TrackBack] Function KiUserExceptionDispatcher at 0x7FFF03BD2DF0 [ntdll.dll]
[TrackBack] Function onPostInit at 0x7FFEEEA52160 [[alpha0.2.3]Wheat.dll]
[TrackBack] Function onPostInit at 0x7FFEEEA52160 [[alpha0.2.3]Wheat.dll]
[TrackBack] Function Event::EventManager<Event::PlayerLeftEvent>::call at 0x7FFEF020ED40 [LiteLoader.dll]
[TrackBack] Function EndTag::set at 0x7FFEF0207590 [LiteLoader.dll]
[TrackBack] Function ServerNetworkHandler::onDisconnect at 0x7FF673C3E980 [bedrock_server_mod.exe]
[TrackBack] Function NetworkHandler::onConnectionClosed at 0x7FF673BC79D0 [bedrock_server_mod.exe]
[TrackBack] Function RakNetInstance::runEvents at 0x7FF673C40940 [bedrock_server_mod.exe]
[TrackBack] Function NetworkHandler::runEvents at 0x7FF673BC9A80 [bedrock_server_mod.exe]
[TrackBack] Function Minecraft::update at 0x7FF674253850 [bedrock_server_mod.exe]
[TrackBack] Function ServerInstance::_update at 0x7FF67415FAA0 [bedrock_server_mod.exe]
[TrackBack] Function <lambda_5fb5cb6c28312d2ba094a9a2ee0e4913>::operator() at 0x7FF674158690 [bedrock_server_mod.exe]
[TrackBack] Function std::thread::_Invoke<std::tuple<<lambda_5fb5cb6c28312d2ba094a9a2ee0e4913> >,0> at 0x7FF67413CE00 [bedrock_server_mod.exe]
[TrackBack] Function recalloc at 0x7FFF016D6AF0 [ucrtbase.dll]
[TrackBack] Function BaseThreadInitThunk at 0x7FFF02E94EC0 [KERNEL32.DLL]
[TrackBack] Function RtlUserThreadStart at 0x7FFF03BAE370 [ntdll.dll]
cometwind
cometwind
最近有进入服务器崩的,就是没碰上退出崩emmm,BDS版本是1.18.12,ll版本是2.1.5吗?
LLSE插件,请把标签改为LLSE,而不是LL
cometwind
cometwind
今天刚从LLSE转成C++的LL来着,莫非什么地方漏改了(牙白!
既然是Js写的,那么是不是应该投LLSE分区而不是LL分区呢?
cometwind
cometwind
噗噗我不知道这算LLSE,多谢提醒
后退
顶部 底部