2核

2核

以两个独立的JVM进程运行两个关联的Fabric服务器 —— 一个模组管理主服务器和副服务器,提供实时跨服务器功能。

管理

2Core

作为一个独立的 JVM 进程运行第二个 Fabric 服务器——一个模组,两种角色。


这是什么?

2Core 允许你通过单个模组在同一台机器上运行两个 Minecraft 服务器。主服务器启动并管理作为外部 JVM 进程的辅助服务器。两个服务器使用相同的模组 JAR——角色(主服务器或辅助服务器)在启动时自动确定。

无需插件、无需代理、无需额外软件。


功能特性

  • 一个模组,两个服务器 — 一次安装,模组自动处理两种角色
  • 跨服务器聊天同步 — 聊天消息、加入/退出通知和死亡消息在两个服务器之间实时中继
  • 玩家列表/listother 显示另一台服务器上的在线玩家(所有玩家可用)
  • 完整进程管理 — 通过简单命令启动、停止、重启辅助服务器
  • 控制台中继 — 可选地将辅助服务器的控制台输出镜像到主服务器
  • 自动启动 — 可选地在主服务器启动时自动启动辅助服务器
  • 可配置消息 — 独立为每个服务器自定义加入/退出/聊天/死亡消息格式,支持颜色代码(&6&a 等)
  • 安全 IPC — 服务器通过仅本地的 TCP 套接字通信,不暴露外部

系统要求

Minecraft 1.21.1
Fabric Loader ≥ 0.18.6
Fabric API 任意版本
Fabric Language Kotlin ≥ 1.13.0

仅限服务端。无需安装客户端。


安装设置

  1. 在主服务器上安装模组(以及 Fabric API 和 Fabric Language Kotlin)
  2. 启动主服务器 — 模组会创建一个 2core/ 文件夹和一个 2core/2core.properties 配置文件
  3. 将辅助服务器文件放入 2core/(或配置 copy_mode 自动复制)
  4. 运行 /2core start 启动辅助服务器

模组会自动将自身复制到 2core/mods/ — 无需在辅助服务器上单独安装。


命令

两个服务器均可用(所有玩家)

命令 描述
/listother 显示另一台服务器上的在线玩家

管理命令 — 仅限主服务器(/2core ...

命令 描述
/2core start 启动第二个服务器
/2core stop 停止第二个服务器
/2core restart 重启第二个服务器
/2core status 显示状态、配置和 IPC 连接信息
/2core chatlink on|off 启用或禁用跨服务器同步
/2core console on|off 切换辅助服务器控制台中继到主服务器
/2core cmd <command> 向辅助服务器发送命令
/2core set <key> <value> 不编辑文件即可更改配置值
/2core help 显示命令列表

配置

配置文件:2core/2core.properties

默认值 描述
copy_mode none none / launcher / full — 如何将服务器文件复制到 2core/
launcher_jar fabric-server-launch.jar Fabric 启动器 JAR 文件名
vanilla_jar server.jar 原版服务器 JAR 文件名
port 25566 辅助服务器端口
max_ram_mb 1024 辅助 JVM 的最大内存(-Xmx
auto_start false 主服务器启动时自动启动辅助服务器
auto_console false 启动时自动启用控制台中继
chat_link false 在两个服务器之间同步聊天、加入、退出和死亡事件
ipc_port 0 服务器间通信的 IPC 端口(0 = 自动)
join_message_for_primary &6%player% joined the second server 玩家加入辅助服务器时在主服务器显示
join_message_for_secondary &6%player% joined the main server 玩家加入主服务器时在辅助服务器显示
leave_message_for_primary &6%player% left the second server 玩家离开辅助服务器时在主服务器显示
leave_message_for_secondary &6%player% left the main server 玩家离开主服务器时在辅助服务器显示
chat_format_for_primary &7[&62nd&7] &f<%player%> %message% 主服务器上来自辅助服务器的消息聊天格式
chat_format_for_secondary &7[&61st&7] &f<%player%> %message% 辅助服务器上来自主服务器的消息聊天格式
death_format_for_primary &7[&62nd&7] &c%message% 主服务器上来自辅助服务器的死亡消息格式
death_format_for_secondary &7[&61st&7] &c%message% 辅助服务器上来自主服务器的死亡消息格式

占位符:%player%%message%。颜色代码:&0&9&a&f&l&o&r 等。


工作原理

当主服务器启动时,它会以 -Dtwocore.role=secondary 参数启动辅助服务器作为子 JVM 进程。两个 JVM 运行相同的模组 JAR — 辅助服务器通过系统属性检测其角色,并跳过所有进程管理逻辑。服务器间通信(聊天同步、玩家列表查询)通过由模组管理的本地 TCP 套接字进行。