跳到正文

2core

作者:Errnick_

Run two linked Fabric servers as separate JVM processes — one mod managing a primary and secondary server with real-time cross-server features.

收藏

介绍

中文介绍正在准备中,下面暂时显示原文。

2Core

Run a second Fabric server as a separate JVM process — one mod, two roles.


What is this?

2Core lets you run two Minecraft servers on the same machine from a single mod. The primary server launches and manages the secondary server as an external JVM process. Both servers use the same mod JAR — the role (primary or secondary) is determined automatically at startup.

No plugins, no proxies, no extra software required.


Features

  • One mod, two servers — install once, the mod handles both roles automatically
  • Cross-server chat sync — chat messages, join/leave notifications, and death messages are relayed between servers in real time
  • Player list — /listother shows online players on the other server (available to all players)
  • Full process management — start, stop, restart the secondary server with simple commands
  • Console relay — optionally mirror the secondary server’s console output to the primary
  • Auto-start — optionally start the secondary server automatically when the primary starts
  • Configurable messages — customize join/leave/chat/death message formats independently for each server with color code support (&6, &a, etc.)
  • Safe IPC — servers communicate over a localhost-only TCP socket, no external exposure

Requirements

| | |
|—|—|
| Minecraft | 1.21.11 |
| Fabric Loader | ≥ 0.18.6 |
| Fabric API | any |
| Fabric Language Kotlin | ≥ 1.13.0 |

Server-side only. No client installation needed.


Setup

  1. Install the mod on your primary server (along with Fabric API and Fabric Language Kotlin)
  2. Start the primary server — the mod creates a 2core/ folder and a 2core/2core.properties config file
  3. Place your secondary server files inside 2core/ (or configure copy_mode to copy them automatically)
  4. Run /2core start to launch the secondary server

The mod copies itself into 2core/mods/ automatically — no need to install it separately on the secondary.


Commands

Available on both servers (all players)

| Command | Description |
|—|—|
| /listother | Show online players on the other server |

Admin commands — primary server only (/2core ...)

| Command | Description |
|—|—|
| /2core start | Start the second server |
| /2core stop | Stop the second server |
| /2core restart | Restart the second server |
| /2core status | Show status, config, and IPC connection info |
| /2core chatlink on\|off | Enable or disable cross-server sync |
| /2core console on\|off | Toggle secondary console relay to primary |
| /2core cmd <command> | Send a command to the secondary server |
| /2core set <key> <value> | Change a config value without editing the file |
| /2core help | Show command list |


Configuration

Config file: 2core/2core.properties

| Key | Default | Description |
|—|—|—|
| copy_mode | none | none / launcher / full — how to copy server files to 2core/ |
| launcher_jar | fabric-server-launch.jar | Fabric launcher jar name |
| vanilla_jar | server.jar | Vanilla server jar name |
| port | 25566 | Port for the secondary server |
| max_ram_mb | 1024 | Max RAM for the secondary JVM (-Xmx) |
| auto_start | false | Start secondary automatically when primary starts |
| auto_console | false | Enable console relay automatically on startup |
| chat_link | false | Sync chat, join, leave, and death events between servers |
| ipc_port | 0 | IPC port for inter-server communication (0 = auto) |
| join_message_for_primary | &6%player% joined the second server | Shown on primary when a player joins the secondary |
| join_message_for_secondary | &6%player% joined the main server | Shown on secondary when a player joins the primary |
| leave_message_for_primary | &6%player% left the second server | Shown on primary when a player leaves the secondary |
| leave_message_for_secondary | &6%player% left the main server | Shown on secondary when a player leaves the primary |
| chat_format_for_primary | &7[&62nd&7] &f<%player%> %message% | Chat format on primary for messages from secondary |
| chat_format_for_secondary | &7[&61st&7] &f<%player%> %message% | Chat format on secondary for messages from primary |
| death_format_for_primary | &7[&62nd&7] &c%message% | Death message format on primary from secondary |
| death_format_for_secondary | &7[&61st&7] &c%message% | Death message format on secondary from primary |

Placeholders: %player%, %message%. Color codes: &0–&9, &a–&f, &l, &o, &r, etc.


How it works

When the primary server starts, it launches the secondary server as a child JVM process with -Dtwocore.role=secondary. Both JVMs run the same mod JAR — the secondary detects its role via the system property and skips all process management logic. Inter-server communication (chat sync, player list queries) happens over a localhost TCP socket managed by the mod.

常见问题

2core 支持哪些 Minecraft 版本?

2core 支持 Minecraft Java 版 1.21.11,可用的加载器:Fabric。下载时注意选择和你游戏版本一致的文件。

2core 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 Fabric,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。运行环境:仅服务端。

评论

登录后评论和评分

Errnick_ 的其他作品

查看全部 →