NEW 📢 Limited launch offer: up to 70% off your first month on every game!See plans

How to host a Core Keeper server (2026)

Core KeeperUpdated Nov 5, 202610 min read

Short answer. You can host a Core Keeper server yourself for free: install the Core Keeper Dedicated Server (Steam app 1963720) with SteamCMD using an anonymous login, start it under a virtual display with -batchmode, and read the Game ID it writes to GameInfo.txt. Players on Steam join with that Game ID, so no port forwarding is needed unless you want direct connections, which use the port you pass with -port. Or rent a Core Keeper server and skip the setup.

The dedicated server defaults to 8 players. Checked on 5 November 2026, accurate for Core Keeper 1.3.0.7 (security patch of 2 November 2026) and dedicated server build 26331994.

This guide uses the README.txt and ARGUMENTS.txt that Pugstorm ships inside the dedicated server download, plus what we run on our own Core Keeper servers. To go straight to the rental route, see Option 2.

What you need

  • Operating system: this guide covers a 64-bit Linux machine (Debian or Ubuntu). The README in the Linux download says the server runs under Xvfb so it works on a headless machine.
  • Hardware: Pugstorm does not publish server requirements in the download. ARGUMENTS.txt only warns that a higher player count may need more resources or make the session unstable. For our own figures, see How much RAM does a Core Keeper server need?
  • Steam account: not needed to download the server. The README gives steamcmd +login anonymous +app_update 1963720 +quit.
  • The game: players need Core Keeper. Joining by Game ID is for the Steam version.
  • Network: nothing if you only want Game ID joins over the Steam relay network. A port you choose, opened in your firewall and forwarded on your router, if you want direct connections.

The server software is free. You pay for the machine, power and bandwidth, not the software.

Option 1: host it yourself

This works on a spare PC, a home server or a cloud virtual machine. Core Keeper needs a graphics context even without a screen: the README says to use -batchmode (not -nographics, because part of world generation runs on the GPU) and to run under Xvfb.

Linux (Debian or Ubuntu)

  1. Install the libraries.
    sudo apt-get update
    sudo apt-get install lib32gcc-s1 curl xvfb libxi6
    Valve lists lib32gcc-s1 for SteamCMD. Pugstorm's _launch.sh checks for xvfb and libxi6 before it starts the server.
  2. Create a steam user and switch to it. Valve warns that running SteamCMD as root is a security risk.
    sudo useradd -m steam
    sudo -iu steam
  3. Install SteamCMD as that user.
    mkdir ~/Steam && cd ~/Steam
    curl -sqL "https://client-update.steamstatic.com/installer/steamcmd_linux.tar.gz" | tar zxvf -
  4. Download the server.
    ~/Steam/steamcmd.sh +quit
    ~/Steam/steamcmd.sh +force_install_dir /home/steam/CoreKeeperServer +login anonymous +app_update 1963720 validate +quit
    Check that /home/steam/CoreKeeperServer/steamapps/appmanifest_1963720.acf exists. In our own installs SteamCMD sometimes finished without installing anything, so if the file is missing, run the download again.
  5. Start the server with Pugstorm's _launch.sh. It starts Xvfb, runs the server with -batchmode and -logfile CoreKeeperServerLog.txt, and passes on any arguments you add:
    cd ~/CoreKeeperServer
    ./_launch.sh -world 0 -worldname "My Core Keeper World" -maxplayers 8
  6. Read the Game ID. The server writes GameInfo.txt next to the executable with the Game ID and any argument it rejected, and _launch.sh prints it once it exists. If the file is missing, check CoreKeeperServerLog.txt for errors.
  7. Join. In Core Keeper on Steam, choose to join a game by Game ID and enter it. Without -gameid the server makes a random Game ID on its first start. In our test on build 26331994 it saved that ID as gameId in ServerConfig.json and used it again on the next start. To choose your own, pass -gameid with 15 to 28 letters and numbers, leaving out Y, y, x, 0 and O. An invalid ID is replaced with a random one.

Settings you can pass at launch

These come from ARGUMENTS.txt. Most can also be set in ServerConfig.json in the server's data path.

  • -world INDEX: the save slot, 0 to 29. Different indexes give you separate worlds.
  • -worldname NAME: the name players see. Use quotation marks if it has spaces.
  • -worldseed SEED: only takes effect when the world is first created.
  • -worldmode MODE: Normal, Hard, Creative or Casual. Switching between Creative and non-Creative after the world exists is not supported.
  • -maxplayers COUNT: defaults to 8.
  • -password "text": used only for direct connections by IP, up to 28 characters. Without it the server makes a random one. Game ID joins do not use it.
  • -datapath PATH: where saves live. By default a DedicatedServer folder in the normal Core Keeper save location.

Direct connections and crossplay

By default the server uses the Steam relay network and does not accept joins by IP. Passing -port turns on direct connections, which is how the README enables cross-play: Steam players still use the Game ID, and other PC players join with the IP, port and password listed in GameInfo.txt. The port must be open in the firewall and forwarded on the router. The README also warns that with direct connections the server's IP is shared with players and theirs with the server. -allowonlyplatform limits joins to one of Steam, Epic, Microsoft or GOG, and only works together with -port. -port only works as a command line argument, not in ServerConfig.json.

Option 2: host it on PlayNHost

Renting removes the Linux setup, the virtual display and the update routine.

  1. Pick a plan. Open the Core Keeper server hosting page and compare the plans (PYDRA at the time of writing, for 8 players). Press Customize Plan on the plan and finish the order. Prices change, so check them on that page.
  2. Wait for the install. You get an email saying your Core Keeper server is ready, and the server appears at panel.playnhost.com.
  3. Set the world before the first start. The seed only takes effect when a world is first created, and Hard mode is the world mode you would pick when creating a world. Open Settings and set World Name, World Seed and Hard mode first. World Index picks the save slot. Game ID can stay empty. If you type your own, leave out Y, y, x, 0 and O: the game swaps an invalid ID for a random one.
  4. Start the server. The panel counts it as running when the log prints Started session.
  5. Find the Game ID. After the first start it appears on your server's Overview as Steam Game ID. Send it to your friends on Steam. Within a few minutes the panel saves it in the Game ID field, so it stays the same after a restart.
  6. Join. In Core Keeper on Steam, join by Game ID and paste the code.

For the next steps, see How to start your Core Keeper server for the first time and How to join your Core Keeper server.

What our setup does for you

  • The install is checked. In our installs SteamCMD sometimes finished without downloading the app and still reported success. Our install script tries up to three times and only continues once the app manifest exists.
  • The virtual display is built in. Our start line launches Xvfb, runs the server with -batchmode and the settings you chose, and passes the game port with -port.
  • A stable Game ID. If you leave Game ID empty, the server makes a code on its first start and the panel saves it in the Game ID field within a few minutes, so it does not change after later restarts. Or type your own.
  • Game ID is checked. The field only accepts 15 to 28 letters and numbers. It does not reject 0, which the game does not allow, so leave 0 out.
  • A mods folder exists. A fresh server download has no Mods folder, so we create CoreKeeperServer_Data/StreamingAssets/Mods at install. We do not download mods for you: mods come from mod.io and go in by upload, one folder each. See How to add mods to your Core Keeper server.
  • Updates. Auto Update is on by default and checks Steam when the server starts.

Self-hosting or renting: an honest comparison

  • Cost. Self-hosted: the software is free, and you pay for hardware, power and bandwidth. Rented: a monthly fee set by plan. See the current plans.
  • Availability. Self-hosted: as reliable as your machine and home internet, and it has to be on when your friends play. Rented: runs on the host's hardware, not your PC.
  • Network exposure. Self-hosted with Game ID only: no ports to open. With -port: your IP is shared with players. Rented: your home IP is not involved.
  • Skill needed. Self-hosted: command line, Xvfb, launch arguments and an update routine. Rented: a web panel with form fields.
  • Updates. Self-hosted: stop, run the SteamCMD command again, start. Rented: with Auto Update on, the server checks for an update at every start.

Self-hosting suits you if a Linux machine already runs all day and you like tinkering. Renting suits you if you would rather play than look after a server.

Common problems and fixes

The world settings did not change

Cause: the seed only takes effect when a world is first created, and Pugstorm does not support switching an existing world between Creative and non-Creative modes.

Fix: point World Index (or -world) at an unused slot to make a new world. See Changing a setting did not change your Core Keeper world.

Friends cannot join

Cause: the Game ID is wrong or out of date, or the friend is not on the Steam version.

Fix: copy the current Game ID again. See Friends cannot join your Core Keeper server.

The server did not start after a fresh download

Cause: the SteamCMD download did not finish, so the server folder is empty.

Fix: check for steamapps/appmanifest_1963720.acf and run the download again.

FAQ

Can I host a Core Keeper server for free?

Yes. The dedicated server is a free Steam app (1963720) with an anonymous download. You still pay for the machine and internet, and it must be on while people play.

How many players can join?

The default is 8, set with -maxplayers. ARGUMENTS.txt warns that more players may need more resources or make the session unstable. Our plan is 8 players.

Do I need to forward ports?

Not for Game ID joins over Steam. Only if you pass -port for direct connections.

Do I need to own the game to run the server?

Not to install it. Players need Core Keeper to join.

Ready to play with friends? See the Core Keeper server plans.

Already hosting it somewhere else? Move your server to us

OUR LATEST BLOGS