Skip to content

Multiple CRCON Instances

C. Eric Mathey edited this page Mar 21, 2024 · 2 revisions

Multiple CRCON Instances

The standard installation instructions assume that you will be running a single instance of CRCON with one or more game server(s) managed with in it. Many things (player history, admin accounts, etc.) are shared within a single instance and it is not possible to split them down the line.

For this reason it makes sense to use a single CRCON instance per 'community' or group of servers you manage. If you're sharing a VPS instance across multiple communities you most likely want to install them separately.

Installation

The standard CRCON installation is documented here. Aside from a few differences documented here you will follow the normal installation steps.

Manage Directories

One key difference is how you clone the Git repository. You'll need to clone it twice, once for each server. Importantly, the name of the repository directory matters because docker compose uses this when naming containers and networks, so follow the instructions here instead of the instructions in the Download CRCON section:

These instructions assume you're starting in whichever directory you want to store them in and you can substitute whatever name(s) you want for instance_1 and instance_2

git clone https://github.com/MarechJ/hll_rcon_tool.git instance_1
git clone https://github.com/MarechJ/hll_rcon_tool.git instance_2

Update Ports

CRCON uses docker compose by default to manage all of the services CRCON depends on which does a great job of encapsulating things so that your different CRCON installs will not interfere with each other.

However you must use different ports on your host machine for each set of servers, any overlap will cause the container(s) you try to start to fail when the port is already used.

Only you will know for sure which ports are available on the machine you are hosting on, the default values are likely to work for the first instance, but for each server on the second (or third, etc.) instance you would have to deconflict your ports:

instance_1 with default values:

# -----------------------------
# RCON Web Setttings
# -----------------------------
RCONWEB_PORT=8010
RCONWEB_PORT_HTTPS=9010
PUBLIC_STATS_PORT=7010
PUBLIC_STATS_PORT_HTTPS=7011

instance_2 with example (You must pick unused ports on your machine) changed ports:

# -----------------------------
# RCON Web Setttings
# -----------------------------
RCONWEB_PORT=8020
RCONWEB_PORT_HTTPS=9020
PUBLIC_STATS_PORT=7030
PUBLIC_STATS_PORT_HTTPS=7031

Managing Docker Images

You should pay special attention to which Docker images you are using when you manage multiple installs. The images that will be pulled when you do a docker compose pull will be whatever your TAGGED_VERSION is set to in your .env (the repository they're pulled from is set by the BACKEND_DOCKER_REPOSITORY and FRONTEND_DOCKER_REPOSITORY environment variables). This means that if you want to use different CRCON versions for each server you would need to set your TAGGED_VERSION to a specific version in each .env

Continue Installation

After you have followed these steps you can continue following the rest of the standard installation instructions. Just remember that you will have to do these steps for each instance you have installed.