> Intel // field guide_
How to Set Up a Core Keeper Dedicated Server (Windows & Linux)
Core Keeper is a game about digging down into the dark with friends, and the best part is picking the same world back up tomorrow. If the world lives on someone's gaming PC, it only exists while that person is online. A dedicated server fixes that: the Caveling base, the Core and the half-finished farm stay put whether or not the host is awake.
This guide covers installing the Core Keeper Dedicated Server with SteamCMD on Windows or Linux, the launch arguments that matter, how players join with a Game ID, ports, world slots, backups and the problems people hit most. The server is a free Steam tool, and the details below come from the Core Keeper Steam page, the dedicated server setup guide at GameServerKings (which follows Pugstorm's README), the community Docker image README and the Pterodactyl egg listing. Check them if a step here no longer matches your install, since game updates change things.
Why Run a Dedicated Core Keeper Server?
The world stays available: Friends can log in and keep mining while you are offline. Nobody has to leave their game running as host.
Your gaming PC stays free: Part of world generation runs on the GPU, so a server on the machine you also play on competes with the game itself.
You pick the rules: World name, seed, world mode and the player cap are all launch arguments.
Drop-in, drop-out play: Steam describes Core Keeper as a "1-8 player mining sandbox adventure" with "2-8 player drop-in/drop-out online co-op". A server makes that drop-in part easy, since the world is always there.
What You Will Need
- A server machine (PC, VPS or dedicated hardware) running Windows or Linux. The Steam page lists Windows and SteamOS + Linux as supported platforms.
- SteamCMD to download the server. The server app downloads with an anonymous login.
- Enough RAM: the sources we checked publish no RAM figure for the dedicated server. The Steam page lists 8 GB RAM for the game client, which is a different thing. Start modest, watch usage and add more as the world grows.
- An open port, but only if you choose direct connection (see the Game ID section below)
- A terminal on Linux, since the server runs under a virtual display there
Step 1: Download the Server With SteamCMD
The Core Keeper Dedicated Server is Steam app ID 1963720. The game itself is app ID 1621690.
Install SteamCMD from Valve's SteamCMD page, then run:
steamcmd +login anonymous +app_update 1963720 +quit
Add +force_install_dir <folder> before +app_update if you want the files somewhere specific. Re-running the same command later is also how you update the server.
Step 2: Start the Server
On Windows
Open a terminal in the server folder and run the executable with -batchmode and your arguments:
CoreKeeperServer.exe -batchmode -world 0 -worldname "My Server" -maxplayers 8
On Linux
The server folder includes _launch.sh. It installs xvfb and libxi6 if they are missing and starts the server in a virtual display. GameServerKings notes that -batchmode does not seem to work on Linux, which is why Xvfb is used. Do not add -nographics: part of world generation runs on the GPU.
chmod +x _launch.sh
./_launch.sh -world 0 -worldname "My Server" -maxplayers 8
Pass your arguments after the script name, as you would on Windows.
Launch Arguments
These are the arguments that matter day to day:
- -world: The save slot, from 0 to 29. Use a different number for a different world.
- -worldname: The name shown for the world.
- -worldseed: The seed. It only applies when the world is first created, so changing it later does not rebuild an existing world. A seed of 0 means a random one.
- -worldmode: The difficulty mode. The Docker image README lists Normal (0), Hard (1), Creative (2) and Casual (4).
- -maxplayers: How many players can connect. The default is 8.
- -gameid: A fixed Game ID. Leave it out and the server generates one.
- -password: A password for direct connection.
- -port: Switches the server to direct connection (explained below).
- -datapath: Moves the folder where the server keeps its data.
- -allowonlyplatform: Limits which platforms may join.
About the player limit
This is the one number worth reading carefully. Steam sells Core Keeper as a 1-8 player game, and the Pterodactyl egg description says the README supports 1 to 8 players, even though its Max Players setting accepts up to 100. Pugstorm warns that raising the count "may require more server resources or make the session unstable". Treat 8 as the number the game is built and tested for, and anything above it as experimental. If you try 16 or more, watch CPU and memory, and be ready to drop back to 8 if players start rubber-banding.
How Players Join: Game ID or Direct Connection
Core Keeper has two ways to connect, and which one you get depends on whether you pass -port.
Game ID (no port forwarding)
Without -port, players join with the server's Game ID through Steam's relay. You do not forward any ports. The catch, per GameServerKings, is that only Steam players can connect this way.
The Game ID is created when the server starts. You can read it two ways:
- In the server console output at startup
- In a
GameID.txtfile next to the server executable. The Docker image README describes this file, and the Pterodactyl egg deletes and recreates it on every start. The newer 1.3-era guide at GameServerKings describes aGameInfo.txtfile in the same place instead, with the Game ID, port and password in it. If you cannot find one, look for the other, or checkCoreKeeperServerLog.txt.
To join, a player opens Core Keeper, picks Join Game and enters the Game ID. The server generates a new Game ID each start unless you set -gameid, so pin it if you want to give friends one ID and never change it.
Direct connection (open a port)
With -port, the server accepts direct IP connections, and GameServerKings says Steam, Epic, GOG and Microsoft Store players can then connect. You must open and forward that port. Console crossplay is not supported. The README warns that with direct connection "your servers IP will be shared with other players".
Ports
Only direct connection needs forwarding. The Pterodactyl egg lists 27015 UDP as the server port and 27016 UDP as the query port, which binds to the game port plus one. Its example says to open the game port and the port one above it. If you set your own -port, open that port and the one after it.
On Windows, allow the ports through the firewall (PowerShell as Administrator):
New-NetFirewallRule -DisplayName "Core Keeper Server" -Direction Inbound -Action Allow -Protocol UDP -LocalPort 27015-27016
On Linux with UFW:
sudo ufw allow 27015:27016/udp
On a VPS or cloud host, open the same UDP ports in your provider's firewall too. Make sure SSH is allowed before enabling UFW on a remote machine.
World Slots, Seeds and Modes
Each -world number from 0 to 29 is a separate save slot, so one server folder can hold several worlds. To switch worlds, stop the server and start it again with a different -world number.
Pick your seed and mode before the first start. The seed only applies when the world is created, so changing -worldseed afterwards will not regenerate the map. If you want a new map, use a new world slot.
Where the Server Keeps Its Data
By default, the server keeps its data here:
- Windows:
%USERPROFILE%\AppData\LocalLow\Pugstorm\Core Keeper\DedicatedServer\ - Linux:
~/.config/unity3d/Pugstorm/Core Keeper/DedicatedServer/
You can move it with -datapath. GameServerKings also describes a ServerConfig.json in this folder, but warns that -port is never read from it. When in doubt, use launch arguments.
Backups
Core Keeper does not do your backups for you on a self-hosted server. Stop the server first so the world is not mid-write, then copy the whole DedicatedServer folder somewhere that is not the server machine.
On Linux:
tar -czf core-keeper-backup-$(date +%Y%m%d).tar.gz "$HOME/.config/unity3d/Pugstorm/Core Keeper/DedicatedServer"
On Windows, copy the folder in Explorer or with robocopy. Restoring is the same in reverse: stop the server, put the folder back, start it. Do this before you update the server or try a risky setting, such as a player cap above 8.
Updating the Server
Run the same SteamCMD app_update 1963720 command again. Server and players must be on the same game version, so update the server when Core Keeper updates, or players will fail to join. Older versions are available as Steam branches, selected with -beta, if your group wants to stay on one.
Troubleshooting
Players cannot find the server
- Confirm they are typing the current Game ID. It changes on restart unless you set
-gameid. - Check the console output or
GameID.txt(orGameInfo.txt) for the ID - If you used
-port, remember that direct connection uses the IP and port, not the Game ID
Connection works for some players but not others
- Game ID joining through the relay is for Steam players only
- Use
-portand forward it if friends play on Epic, GOG or the Microsoft Store - Consoles cannot join a dedicated server
Joining fails right after a patch
- The server and every player must be on the same version. Re-run
app_update 1963720.
Server crashes on startup on Linux
- Make sure
xvfbandlibxi6are installed - Do not pass
-nographics - Read
CoreKeeperServerLog.txtfor the error
Lag, rubber-banding or an unstable session
- Check CPU and memory while the server runs
- Lower
-maxplayers. Pugstorm warns that higher counts can make the session unstable. - Restart the server and see whether the problem returns with fewer players
New seed has no effect
-worldseedonly applies when a world is first created. Start a new-worldslot.
FAQ: Core Keeper Dedicated Server Setup
How do I set up a Core Keeper dedicated server?
Download app ID 1963720 with SteamCMD, start CoreKeeperServer.exe -batchmode on Windows or _launch.sh on Linux with -world, -worldname and -maxplayers, then share the Game ID the server prints.
Where do I find the Game ID?
In the console output when the server starts, or in GameID.txt next to the executable. Newer builds also write the ID to GameInfo.txt.
What ports does Core Keeper use?
For direct connection, 27015 UDP as the server port and 27016 UDP as the query port, per the Pterodactyl egg. If you set your own -port, use that and the next port up. Game ID joining through Steam's relay does not need forwarding.
How many players can join?
Steam lists Core Keeper as 1-8 players. The server accepts a higher -maxplayers value, but Pugstorm warns it may need more resources or make the session unstable.
Can console players join?
No. GameServerKings states console crossplay is not supported on dedicated servers.
How many worlds can one server hold?
The -world argument takes a slot from 0 to 29.
How do I update the server?
Run steamcmd +login anonymous +app_update 1963720 +quit again. The server and players need the same version.
Final Thoughts
A Core Keeper server comes down to a handful of decisions: which world slot and seed, Game ID or direct connection, and how many players you are willing to ask the server to carry. Keep the player count near the game's 1-8 design, copy the data folder before every update, and your base will still be there when everyone logs back in.
Core Keeper Hosting on EZ Game Host
If you would rather skip the SteamCMD and firewall work, EZ Game Host offers Core Keeper server hosting on Ryzen 9950X cores and NVMe storage, with a panel that has a console, file manager and schedules. You set the server name, maximum players and world seed at checkout, then read the Game ID from the console or GameID.txt once the server starts. Plans are sold for the 8 players the game is built for, include 3 backup slots, DDoS protection and 24/7 support, and start at $12 a month with no contract.
Intel
Related guides
- Game Server DDoS Protection: Why It Matters and How It WorksGame server DDoS protection explained: the attacks that target game servers, how filtering and scrubbing work, and how to keep your community online.
- What Is a Dedicated Server? Everything Gamers Need to KnowWhat is a dedicated server? A guide to how they work, the main hosting types, the specs that matter, cost factors, and how to choose for your community.
- How Much Does Game Server Hosting Cost? Full Pricing GuideWhat drives game server hosting cost: RAM, CPU, storage, mods and billing interval, with real plan prices as a worked example and tips to avoid overpaying.