Core Keeper Dedicated Server with Web GUI, Multi-instance, Steam SDR & Direct Connect, Mod.io & Work
1.9K
An all-in-one, production-ready Docker image for Core Keeper Dedicated Server, featuring Multi-Instance Support, Steam SDR relay (no port forwarding required), Direct Connect, and a modern Flutter Web management dashboard.
Admins.json) with automatic 17-digit Steam64 ID validation and permission tiers (Superadmin / Admin)..world.gzip) with one click..zip mod packages with automatic manifest parsing and deployment.Create a docker-compose.yml file in your project directory:
services:
core-keeper-server:
image: libzonda/core-keeper-dedicated-server:latest
# Or use GitHub Container Registry:
# image: ghcr.io/libzonda/core-keeper-dedicated-server:latest
container_name: core-keeper-server
restart: unless-stopped
ports:
# Web Management Dashboard
- "8080:8080"
# Batch UDP Port Range for Multi-Instance Direct Connect
# (Reserve ports for instances using Direct Connect, e.g. 27015, 27025, 27035...)
# In Steam SDR mode, official relay is used so no UDP port forwarding is needed.
- "27015-27065:27015-27065/udp"
environment:
# Web Dashboard Port (Default: 8080)
- WEB_PORT=8080
volumes:
# Persistent storage (all instances, configs, saves, and shared mods)
- ./server-data:/server/data
# Game server binaries (auto-downloaded & updated via SteamCMD)
- ./server-game:/server/game
Tip: You do not need to configure any game instance parameters in
docker-compose.yml. All settings (World Name, Seed, Difficulty, Max Players, Network Mode, Game Port, Admins, and Mods) are created and managed visually in the Web Dashboard. If you exclusively use Steam SDR mode, you don't even need to expose any UDP port range.
docker compose up -d
Open http://<your-server-ip>:8080 in your browser.
Don't want to use Docker? Standalone desktop applications with an embedded server daemon and Flutter GUI are available directly on GitHub Releases:
| Platform | Package | Architecture | Description |
|---|---|---|---|
| Windows | CoreKeeperManager-Windows-x64.zipโ | x64 (amd64) | Win32 desktop application + Go server daemon + start-windows.bat |
| Linux | CoreKeeperManager-Linux-x64.tar.gzโ | x64 (amd64) | GTK desktop application + Go server daemon + start-linux.sh |
| macOS | CoreKeeperManager-macOS-Universal.zipโ | Universal (Apple Silicon & Intel) | CoreKeeperManager.app bundle + Universal Go daemon + start-macos.command |
The system supports running multiple server instances concurrently:
27015, 27025, 27035). Ensure the corresponding UDP port range is mapped in docker-compose.yml.server-data/shared_mods and can be enabled/disabled per instance with a single click.27015) are open. Players join by entering <Server-IP>:<Port> and server password (if set).| Host Path | Container Path | Description |
|---|---|---|
./server-data | /server/data | Stores all instance metadata, world save files (.world.gzip), admin configs, proxy settings, and shared mod pool. |
./server-game | /server/game | Core Keeper Dedicated Server binaries automatically downloaded and updated by SteamCMD. |
.
โโโ docker-compose.yml # Container configuration
โโโ logo.png # Brand logo
โโโ server-data/ # Persistent user data (mounted to /server/data)
โ โโโ instances.json # Server instances registry
โ โโโ manager_config.json # Global web manager & proxy configuration
โ โโโ shared_mods/ # Shared mod repository pool
โ โโโ instances/ # Isolated instance directories
โ โโโ <instance_id>/ # Instance-specific runtime files
โ โโโ ServerConfig.json # Game engine official config
โ โโโ manager_config.json # Instance manager config
โ โโโ Admins.json # Steam admin permissions
โ โโโ PlayerBans.json # Banned players list
โ โโโ GameID.txt # Generated Steam SDR Game ID
โ โโโ worlds/ # World saves (.world.gzip)
โ โโโ mods/ # Active mods symlinks for this instance
โ โโโ backups/ # Save rollbacks & backups
โโโ server-game/ # Core Keeper official binaries (mounted to /server/game)
Since this manager natively supports multi-instance management, all instance configurations (worlds, difficulty, game ports, passwords, player limits, admins, and mods) as well as proxy and Mod.io configurations are managed visually inside the Web Dashboard.
Only the container Web service port can be optionally overridden:
| Variable | Default | Description |
|---|---|---|
WEB_PORT | 8080 | Port for the Web management dashboard |
This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0)โ .
Content type
Image
Digest
sha256:a289f4d8cโฆ
Size
249.4 MB
Last updated
about 17 hours ago
docker pull libzonda/core-keeper-dedicated-server