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.

Crib, CribVelocity, Oxygen, CobbledSync, can all be found in #cs-releases on the Roanoke Development Discord

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.

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