Magnus
Running a multi-server Minecraft network is a juggling act. Players expect their inventory, health, and chat to follow them seamlessly from one world to another, but keeping all that data in lockstep across separate servers has always been a headache. That is exactly where Magnus steps in. This server-side Fabric mod is a modular synchronization suite built for resilience and speed, and it changes how network administrators approach cross-server gameplay.
Why Server Sync Matters for Modern Minecraft Networks
When you operate a hub with multiple survival, minigame, or creative worlds, nothing kills the experience faster than a player losing their gear after a server switch. Traditional plugins often rely on clunky database writes that lag behind the action. Magnus solves this with a high-performance architecture that prioritizes both speed and safety. It is not just a convenience; it is the backbone of a fluid, professional server network.
Core Sync: Real-Time Player Data Transfer
The heart of Magnus is its Core Sync module, which is enabled by default. It handles the heavy lifting of synchronizing inventory, Ender Chest contents, health, hunger, experience points, and even active potion effects. When a player moves between servers, their entire state is transferred in real time. This is powered by Redis for sub-millisecond data retrieval, ensuring that the transition feels instantaneous. For permanent storage, Magnus uses PostgreSQL, so your players' progress is never lost to a crash or restart.
Global Chat and Player Management
Communication is key in any community. The Global Chat module uses Redis pub/sub to broadcast messages across all connected servers. It sends raw text, which means it plays nicely with popular chat formatting plugins like LuckPerms and Stylist. Additionally, the Global Player List feature maintains a live count of everyone online, complete with a handy /glist command to see who is where. These modules are configurable, so you can turn them on only for the servers that need them.
Built to Survive: Fault Tolerance and Security
Databases fail. Networks hiccup. Magnus was designed with this reality in mind. It includes a Circuit Breaker that detects database failures automatically. When that happens, a Local Fallback saves player data to disk, preventing loss. Once the database returns, a service called "The Janitor" automatically restores the data and gets everything back in sync. This level of resilience means your players are never stuck in limbo.
Security is equally robust. Magnus signs all messages with HMAC-SHA256 to prevent injection attacks, and it generates a unique 32-byte cryptographic secret on the first run. It also rejects messages older than 30 seconds to stop replay attacks and caps payload sizes at 64KB to guard against DoS attempts. For extra protection, you can enable SSL/TLS on your Redis connection.
Session Lock: Preventing Concurrent Logins
One of the trickiest issues in multi-server networks is the "ghost player" problem, where a player appears online on two servers at once. The Session Lock module prevents this by holding players in a queue until their data is safely transferred. This ensures that no one can log in twice or lose items due to a race condition.
How to Install and Configure Magnus
Getting started is straightforward, but you will need two external services: a PostgreSQL database and a Redis instance. Once those are ready, installation follows a simple pattern. First, drop the mod into your Fabric server's mods folder and start the server once. This generates a default configuration file at config/magnus.json. Stop the server, edit that file with your database credentials and server name, and then restart. Magnus will automatically verify the connection and create the necessary database schema.
For those wondering how to install this across a network, the key step is copying the messageSigningSecret from the first server to all others. Every server must use the same secret to communicate securely. The mod currently supports the latest Fabric versions for Minecraft, so check your specific loader version for compatibility. You can download Magnus from the official mod distribution platforms, and the process is the same for each server in your network.
Configuration Options at a Glance
- serverName: A unique identifier like "survival" or "lobby".
- enableInventorySync: Toggle player data sync; disable for lobby servers.
- enableGlobalChat: Turn cross-server chat on or off.
- enableGlobalPlayerList: Control the /glist command.
- enableSessionLock: Prevent concurrent logins.
- enableMessageSigning: Keep HMAC security active (recommended).
- redisSsl: Enable encryption for Redis traffic.
If you are managing a large network, you might also want to check out the foxygame.net launcher, which offers a one-click install for mods like Magnus and automatically handles version compatibility across your servers. It is a handy tool for keeping your entire mod catalog updated without manual file shuffling.
Commands and Architecture
Magnus keeps its command surface minimal. The primary command is /glist, which shows the total player count and groups players by server, provided the Global Player List module is enabled. Under the hood, the architecture is modular, with clear flows for core sync, global chat, player lists, session locking, and message security. This design makes it easy to understand and debug, which is a blessing for any admin.
For anyone running a serious Fabric server network, Magnus for Minecraft is a game-changer. It takes the stress out of synchronization and gives you the tools to scale confidently. Whether you are syncing a handful of worlds or a sprawling network, this suite delivers the performance and reliability your players expect. Give it a try, and watch your server network run smoother than ever.