Server

Do this once, on the Linux box that will host your games. It's the same shape as a Sitehoster server (Caddy out front, a localhost-only service behind it), but it speaks WebSockets and runs your games.

1

Get a server & note its IP

Any Linux box with systemd; a small VPS is plenty for a first game. Note its public IP address: the client and your game domains will point at it.

2

Install Caddy & Node v20+

From your package manager: Caddy (so its systemd unit exists) and Node. The installer only checks for these.

Ubuntu & Debian

Caddy comes from its official apt repository (so you get the systemd unit); Node v20 from NodeSource.

# Caddy — official apt repository
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update && sudo apt install -y caddy

# Node v20 — NodeSource
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs

Arch Linux

Both are in the official repositories, and Caddy ships with its systemd unit.

sudo pacman -S --needed caddy nodejs npm

On any distro, confirm you are ready with caddy version and node --version (expect v20 or newer).

3

Run the installer

Pipe it straight to root, or download and verify it first; both produce an identical server.

curl -fsSL https://gamehoster.org/install.sh | sudo bash
It lays out the service, generates a self-signed cert, and prints an API token once. Copy it; the client needs it.
4

Point your game domains at it

Add an A record for each game domain → your server's IP. Caddy issues a real certificate on the first connection, and each game goes live at wss://<domain>/<game>.

Manage the service with sudo deploy/start.sh / sudo deploy/stop.sh. Upgrade by re-running the installer (it keeps your token and games); remove everything with sudo deploy/uninstall.sh.

Next steps

With the server up, you're ready to sync your first game folder to it.