本篇教程由作者设定使用 CC BY-NC 协议。
科洛的服务器支持介绍
本文基于旧版本
科洛的服务器支持目前可分为四部分:
科洛的服务核心 (KoroWorld_ServerCore)
一个单独的Java应用,性质上类似Minecraft核心或者Velocity核心。
用于在不同Minecraft服务器核心之间传递和同步信息(需要配套mod支持)。
科洛的服务器支持核心(koroworld-core)
Fabric Mod,安装在Minecraft服务端。
前置Mod:Fabric API
修改了Minecraft的消息系统,用于自定义消息格式,支持模板变量。
科洛的消息同步(koroworld-message)
Fabric Mod,安装在Minecraft服务端。
前置Mod:Fabric API,koroworld-Core。
运行需要部署KoroWorld_ServerCore。
用于在不同服务器之间同步聊天信息。
科洛的物品同步(koroworld-message)
Fabric Mod,安装在Minecraft服务端。
前置Mod:Fabric API,koroworld-Core。
运行需要部署KoroWorld_ServerCore。
用于在不同服务器之间同步物品栏,支持mod物品和带有特殊NBT的物品。
运行原理
配置科洛的服务核心 (KoroWorld_ServerCore)
从mcmod或者作者是GitHub下载服务核心
编写启动脚本并运行,Java版本应为17(和启动Minecraft服务端/Velocity核心方式相同)。
java --server -Xms512m -Xmx512m -jar KoroWorld_ServerCore-1.0.2.jar
配置科洛的服务器支持核心(koroworld-core)
如上文,下载并安装科洛的服务器支持核心(koroworld-core)
启动Minecraft服务端,打开客户端加入游戏。
默认的聊天栏格式:
下面来学习自定义聊天格式。
打开服务器根目录中的koroworld/config/core.setting 文件(如没有则自己新建)
将下面的文件拷贝进去
SystemName =
ServerName =
TimeTemplate =
ChatTemplate =
OPChatTemplate =
SystemTemplate =
ConnectBanner =
ConnectBannerForPlayer =
DisconnectBanner =
作者给出的介绍:
在本mod中,系统消息格式与聊天消息格式都由模板定义,且内容中也可以使用模板变量。
模板变量的格式为:{变量名}
例如默认玩家上线广播模板:{player}来了喵~
解析后为:KenRouKoro来了喵~ (假定是KenRouKoro玩家上线)
变量说明:
{player} 消息主体玩家名
{time}当前时间,格式受时间模板控制
{date}当前日期,格式受日期模板控制
{system}系统名称
{server}服务器名称
{br} 换行
{now-player}接受信息的玩家名,仅限于在群发信息中使用
{number-of-player}当前在线玩家数
消息系统支持Minecraft颜色代码。
例如,设置服务器名为A,玩家聊天格式为[{server}] <{player}> {text}
ServerName =A
ChatTemplate =[{server}] <{player}> {text}
保存,使用corereload重载配置。
效果如下
此外,mod还支持颜色编码,例如
ChatTemplate =§b[{server}]§e<{player}> §f{text}
玩家进服通知,下线通知均可按此模板配置。
配置科洛的消息同步(koroworld-message)
这里以服务器A,B为例
如上文,下载并安装科洛的消息同步(koroworld-message)(仅服务端)
打开 科洛的服务核心 (KoroWorld_ServerCore)
然后打开服务器A和服务器B的core.setting文件,设置两个不同的 ServerName。
打开A,B服务器根目录中的koroworld/config/message.setting 文件(如没有则自己新建)
将下面的文件拷贝进去
WSServer =ws://127.0.0.1:18620
MessageGroup =group1
WSServer为 科洛的服务核心 (KoroWorld_ServerCore)的地址,默认为ws://127.0.0.1:18620
MessageGroup 为消息分组,分组相同的服务器之间消息互通。
打开A,B服务器,如果配置正确,科洛的服务核心 (KoroWorld_ServerCore)应该有如下输出:
进入服务器A,发送测试消息,发现服务器B也接受到了消息,配置完成。
服务器A:
服务器B:
配置科洛的物品同步(koroworld-item)(仅服务端,但是如果使用ServerCase则客户端也需要安装)
这里以服务器A,B为例(A,B应已经使用Velocity连接)
如上文,下载并安装科洛的物品同步(koroworld-item)
打开 科洛的服务核心 (KoroWorld_ServerCore)
然后打开服务器A和服务器B的core.setting文件,设置两个不同的 ServerName。
打开A,B服务器根目录中的koroworld/config/item.setting 文件(如没有则自己新建)
将下面的文件拷贝进去
ServerCaseEnable =false
ItemSynchronizationEnable =true
ItemGroup =group1
HttpServer =http://127.0.0.1:18620
ServerCaseEnable 是的一个机器方块,用于不同服务器之间玩家的自动化产线连接,默认关闭。
ItemSynchronizationEnable 是背包同步开关,默认打开。
ItemGroup 为物品同步分组,分组相同的服务器之间自动同步背包。
HttpServer 为科洛的服务核心 (KoroWorld_ServerCore)的地址,默认为 http://127.0.0.1:18620
打开A,B服务器,测试物品同步。
服务器A:
然后使用Velocity自带指令将玩家发送到服务器B
服务器B:
物品同步成功,配置完毕。