Setting up a Cross-Server Cobblemon Network
This guide will walk you through setting up our cross-server solutions for Cobblemon
You're here because you're either looking to or are in the process of setting up a cross-server Cobblemon network so you can support 100s of players concurrently.
Quick Introduction
All of Roanoke's mods depend on Rib (Roanoke Library Mod) to function. Our cross-server solutions further depend on Crib (Cross-Server Roanoke Library Mod). This is so you only have to configure options like the server name, MongoDB URL, and Redis URL once per server, instead of in each mods config.
You need Rib and Crib installed on every backend Fabric server running Cobblemon. You also need CribVelocity on your Velocity proxy - this plugin orchestrates moving players around.
You'll need a MongoDB and Redis (7+) server, ideally running on the same machine as the Cobblemon servers. These are easy to setup using Pterodactyl Eggs - you should bind them to your local IP so that they aren't accessible via the internet.
Do NOT use cloud versions of MongoDB (atlas) or Redis (cloud)
Latency is very important for your player experience. The lower the latency between MongoDB and Redis, the better the player experience. You should installed MongoDB & Redis on your server.
Crib Setup
Install Crib (and Rib) on your server. Start, and then stop it. You'll see /config/Crib/config.json, which by default looks like this:
{
"serverId": "spawn",
"mongoConnectionString": "mongodb://admin:[email protected]:27017/",
"redisConnectionString": "redis://:[email protected]:6379"
}
Server ID is your proxy's ID for this specific server. It must match the definition in your velocity.toml exactly.
[servers]
spawn = "172.18.0.1:25567"
If you have an issue with any cross-server mod, the first thing to check is that your Server ID is correct.
Mongo & Redis Connection Strings are self explanatory, plug them in.
Setting up Cross-Server Mods (i.e. GGyms)
Thanks to Crib, there is effectively no setup for our cross-server solutions. If it's a mod like GGyms, PPokedex, or RGTS - that has both single-server and cross-server support, you will need to change the storage config from "flat" to "mongo" in order to enable cross-server support.
Mods like Oxygen or CobbledSync, which are cross-server only, require no config changes. Simply drag and drop them into your mods folder.
Last updated