Core Keeper Dedicated Server: Setup, Requirements, Ports and Config

A Core Keeper dedicated server is a copy of your underground world that runs on its own, so friends can dig, farm and fight bosses whether or not the host is online. The server software is free with the game: install Core Keeper Dedicated Server from your Steam library’s Tools list (or through SteamCMD on Linux), start it once, and send friends the Game ID it prints. No port forwarding is needed for a Steam-only group. This guide covers the requirements, the Windows, Linux and Docker setup, ServerConfig.json, moving your world over, direct connect for Epic, GOG and Microsoft Store players, and the fixes for the problems people run into.

Dedicated server vs. hosting from the game

Core Keeper’s normal multiplayer is player-hosted: one person runs the world from their game, and the cave closes when they quit. A dedicated server is the same world running as its own program, so it is always there when anyone logs in. Pugstorm added dedicated servers in May 2022 and has kept updating them since.

Hosting from the game Dedicated server
Host has to be online Yes No
Players Up to 8 Set with -maxplayers; the game is built for 1–8
Crops grow and the base keeps running between sessions Only while the host plays Yes, while the server runs
Players on Epic, GOG, Microsoft Store Through the game’s crossplay setting Yes, in direct connect mode
Runs on Your gaming PC Any Windows or Linux machine, or a hosted server

If your group plays at different times, or the person with the best PC is tired of being the landlord, you want a dedicated server: run it yourself as below, or rent one with Core Keeper server hosting.

Core Keeper server requirements

Core Keeper is a light server. The world is compact and memory use stays fairly flat, so a dedicated server for a normal group runs comfortably in 2–4 GB of RAM. The game client itself wants 8 GB according to Steam, so running both on one gaming PC is fine for a small group but tight on older machines.

  • RAM: 2–4 GB free for the server. Lean toward 4 GB for a big, heavily built world or a full 8-player group.
  • CPU: a modern 64-bit processor. Core Keeper simulates the whole world, including machines and farms, so single-core speed matters more than core count.
  • OS: 64-bit Windows, or 64-bit Linux (Ubuntu and Debian are the usual choices). Docker works too.
  • Linux extras: Core Keeper is a Unity game and the server still needs a virtual display, so install xvfb (and libxi6) before the first start.
  • Network: a steady connection with outbound access to Steam. You only need to open a port if you use direct connect (see below).

How to set up a Core Keeper dedicated server

Windows, through Steam

  1. In your Steam library, switch the filter to Tools and install Core Keeper Dedicated Server. It comes with the game.
  2. Open its folder (right-click, Manage, Browse local files). You’ll find the launch script, a README.txt and an ARGUMENTS.txt that lists every launch option.
  3. Run the launch script. A console window opens, the server generates the world and writes the Game ID to GameID.txt in the same folder.
  4. Keep that window open while people play. Closing it stops the server.

Linux, through SteamCMD

The dedicated server is Steam app 1963720. On Linux it also needs the Steamworks SDK Redistributable (app 1007), or it fails at startup.

  1. Install SteamCMD and the display packages:
    sudo apt update
    sudo apt install xvfb libxi6
  2. Create a user for the server and download both apps (the same command updates them later):
    steamcmd +@sSteamCmdForcePlatformType linux +force_install_dir ~/corekeeper +login anonymous +app_update 1963720 validate +quit
    steamcmd +@sSteamCmdForcePlatformType linux +force_install_dir ~/steamworks-sdk +login anonymous +app_update 1007 +quit
  3. Start the server with the bundled script, then read the Game ID:
    cd ~/corekeeper
    ./_launch.sh
    cat GameID.txt
  4. For a server that survives reboots, wrap _launch.sh in a systemd service with Restart=on-failure. LinuxGSM also supports Core Keeper if you’d rather use a ready-made manager.

Docker

The most-used Core Keeper dedicated server Docker image is the community-built escapingnetwork/core-keeper-dedicated (published as escaping/core-keeper-dedicated). It downloads the server through SteamCMD, runs Xvfb for you, and turns the launch options into environment variables. A minimal docker-compose.yml:

services:
  core-keeper:
    image: escaping/core-keeper-dedicated:latest
    container_name: core-keeper-dedicated
    restart: unless-stopped
    stop_grace_period: 2m
    volumes:
      - ./server-files:/home/steam/core-keeper-dedicated
      - ./server-data:/home/steam/core-keeper-data
    environment:
      - WORLD_NAME=Our Cave
      - MAX_PLAYERS=8

Run docker compose up -d, then read the Game ID with docker exec -it core-keeper-dedicated cat /home/steam/core-keeper-dedicated/GameID.txt. The image also runs on ARM boards such as a Raspberry Pi 5 through Box64, which is handy for an always-on box at home.

Game ID or direct connect: how players join

A Core Keeper dedicated server has two network modes, and the choice decides whether you need to open a port.

Game ID (default) Direct connect (-port set)
How players join Type the Game ID in Join Game Enter the server’s IP, port and password
Port forwarding Not needed; traffic goes through Steam’s relay network Required: forward the port you chose (UDP) to the server
Who can join Steam players Steam, Epic Games, GOG and Microsoft Store players
Server IP visible to players No Yes

Joining with a Game ID: launch Core Keeper, pick Join Game, paste the Game ID and connect. The game remembers servers you’ve joined in a dropdown, so you only paste it once. If you want the ID to stay the same forever, set it yourself with -gameid; since patch 1.1.2.3 it can be as short as 15 characters (letters and numbers only).

Direct connect: add -port (and usually -password, up to 28 characters) to the launch options. Players then join with the IP, port and password instead of a Game ID. This is the mode for mixed groups: since August 2025, PC players on Steam, Epic, GOG and the Microsoft Store can all join the same dedicated server this way. -allowonlyplatform restricts it to one store if you need to (1 Steam, 2 Epic, 3 Microsoft, 4 GOG). The exact steps for your version are in the server’s README.txt.

Can Xbox, PS5 or Switch players join?

No. Pugstorm’s 1.1.2.4 patch notes say it plainly: Core Keeper does not support crossplay between PC and consoles. The “crossplay” option only covers PC players who bought the game on different storefronts. Console groups play together through the console’s own multiplayer.

Core Keeper server config: ServerConfig.json and launch arguments

The server reads its settings from ServerConfig.json and from launch arguments. Start the server once so it creates the file, stop it, edit, then start it again. The file lives in the server’s data folder:

  • Windows: %USERPROFILE%\AppData\LocalLow\Pugstorm\Core Keeper\DedicatedServer\ServerConfig.json
  • Linux: ~/.config/unity3d/Pugstorm/Core Keeper/DedicatedServer/ServerConfig.json

A typical file looks like this:

{
  "gameId": "",
  "world": 0,
  "worldName": "Our Cave",
  "worldSeed": 0,
  "worldMode": 0,
  "maxNumberPlayers": 8
}

The settings you’ll actually touch, and the matching launch arguments:

Setting Launch argument What it does
world -world Which world slot to load (0 is the first)
worldName -worldname The server’s name
worldSeed -worldseed Seed for a new world; 0 or empty means random. Text seeds work the same as in the game
worldMode -worldmode 0 Normal, 1 Hard, 2 Creative, 4 Casual (names like Hard work too). Creative and non-Creative worlds can’t be converted into each other
maxNumberPlayers -maxplayers How many players can be connected at once
gameId -gameid Fix the Game ID so it never changes
— -port, -ip, -password Switch to direct connect, bind address, join password
— -season Force a seasonal event (Halloween, Christmas…) instead of the real date
— -datapath Keep saves and config somewhere other than the default folder

The seed only matters the first time a world is generated, so pick it before the first start if you have one in mind. ARGUMENTS.txt in the server folder is the full, current list.

Core Keeper dedicated server save location (and moving your world)

Worlds are stored in the worlds folder next to ServerConfig.json, one file per slot: 0.world.gzip, 1.world.gzip and so on. Back up that folder and you have everything. To move a world you’ve been playing locally onto the server:

  1. Find your local world in %USERPROFILE%\AppData\LocalLow\Pugstorm\Core Keeper\Steam\<your Steam ID>\worlds\ (AppData is hidden; turn on hidden items in Explorer). Copy the .world.gzip file.
  2. Stop the server and put the file, unchanged, into the server’s DedicatedServer/worlds/ folder. Don’t unzip or rename it.
  3. Set world in ServerConfig.json (or -world) to the file’s slot number. A file called 3.world.gzip needs 3.
  4. Start the server and join with the Game ID.

Keeping the server updated

When Core Keeper updates, players on the new version can’t join a server still on the old one. Stop the server, update it (Steam does it for the Tools app; on Linux rerun the app_update 1963720 validate command; with Docker restart the container), and start it again. Back up the worlds folder first. Big updates sometimes add content that older worlds need to switch on: the server has an -activatecontent option for that, and once a content bundle is enabled it can’t be turned off, so read the patch notes before you use it.

Mods on a Core Keeper dedicated server

Core Keeper mods come from mod.io. Server-side mods go in the server’s CoreKeeperServer_Data/StreamingAssets/Mods folder, and every player needs the same mods installed. Client-only mods do nothing on a server and can stop it from starting, so leave them out. Pugstorm confirmed that mods keep working when Steam, Epic, GOG and Microsoft Store players share a server, as long as everyone has the same set.

Common Core Keeper server problems and fixes

Problem Most likely cause Fix
Server won’t start on Linux No virtual display, or the Steamworks SDK Redist (app 1007) is missing Install xvfb and libxi6, download app 1007, use the bundled _launch.sh
No GameID.txt The server stopped during start-up Read CoreKeeperServerLog.txt in the server folder; the console also reports start-up issues
Friends can’t find the server by Game ID Wrong or changed ID, or the server runs in direct connect mode Copy the ID again from GameID.txt, fix it with -gameid; if -port is set, join by IP, port and password instead
Epic, GOG or Microsoft Store player can’t join Server is in Game ID mode Switch to direct connect with -port and forward that port
Direct connect times out Port not forwarded or firewalled Forward the port (UDP) to the server and allow it in the firewall
“Server down” after a game update Server on an older version Update the server, then restart
New world appears instead of yours world points at the wrong slot Match world to the number in your .world.gzip file name
Settings ignored File edited while the server was running, or invalid JSON Stop the server, fix the JSON (a missing comma breaks it), start again

Before posting on Reddit or the Core Keeper Discord, check the server log. It usually names the problem in the first screen.

Skip the setup: rent a Core Keeper server

Running your own server means a PC that stays on, Linux packages, a JSON file and an update after every patch. If you’d rather just dig, Core Keeper server hosting on GameTeam keeps it running for you. You pay per GB of RAM with unlimited slots (Core Keeper’s own player limit still applies): a 4 GB server is $1.96 a week on the Budget plan, or $1.99/GB billed monthly. The built-in AI copilot handles the fiddly parts. Tell it “new Hard mode world called Deep Roots, seed glowtulip, 8 players” and it writes the config and restarts the server, or ask “why won’t the server start since the update?” and it reads the log and tells you what broke.

FAQ

Is the Core Keeper dedicated server free?

Yes. The dedicated server comes with the game on Steam, and the Linux download through SteamCMD is anonymous. Running it costs you a machine that stays on, or a hosting fee.

Do I need to port forward a Core Keeper server?

Not in the default mode. Players join with the Game ID and traffic goes through Steam’s relay network. You only forward a port when you start the server with -port for direct connect.

How many players can join a Core Keeper dedicated server?

The game is designed for up to 8 players, and that’s the size most groups run. The server’s own limit is set with -maxplayers or maxNumberPlayers.

Can I run a Core Keeper dedicated server on Linux or with Docker?

Yes. SteamCMD downloads the Linux server (app 1963720, plus app 1007), and it needs xvfb to run. Docker users usually pick the community image escaping/core-keeper-dedicated, which handles both.

Does the host need to be online?

No. That’s the point of a dedicated server: the world keeps running whether or not anyone is in it.

Can PS5 or Xbox players join my server?

No. Core Keeper has no PC-to-console crossplay. A PC dedicated server takes players from Steam, Epic, GOG and the Microsoft Store.

Where is my Core Keeper dedicated server save?

In DedicatedServer/worlds/ inside the Pugstorm data folder: %USERPROFILE%\AppData\LocalLow\Pugstorm\Core Keeper\ on Windows and ~/.config/unity3d/Pugstorm/Core Keeper/ on Linux, unless you moved it with -datapath.

Total
0
Shares
Leave a Reply

Your email address will not be published. Required fields are marked *