Additional Setup ‐ Multiple CRCON Instances - MarechJ/hll_rcon_tool GitHub Wiki

🧭 You are here : Wiki home / Additional Setup / Migrate CRCON to another VPS


Menu


The standard installation instructions assume that you will be running a single instance of CRCON to manage one or more game server(s).
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 a dedicated CRCON for each one.

Installation

The standard CRCON installation is documented here.
Aside from a few differences documented on this page, 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 in a different place for each CRCON you wan to install.

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 your CRCON instances in.
You can substitute whatever name(s) you want for instance_1 and instance_2 in the exmaples given below.

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 it depends on.
This 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 if the ports he wants are 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'll have to deconflict your ports :

instance_1 with default values :

# -----------------------------
# RCON Web Settings
# -----------------------------
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=7020
PUBLIC_STATS_PORT_HTTPS=7021

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 CRCON instance, 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.