---
title: "Core Keeper Dedicated Server Setup: Game ID, Direct Connect, Arguments and Ports (1.3)"
description: "Set up a Core Keeper dedicated server: SteamCMD app 1963720, Game ID vs direct connections, every launch argument, GameInfo.txt and what our panel sets."
url: "https://www.gameserverkings.com/knowledge-base/core-keeper/core-keeper-dedicated-server/"
category: "Core Keeper"
category_url: "https://www.gameserverkings.com/knowledge-base/core-keeper/"
published: "2026-10-28T05:52:22.078Z"
updated: "2026-10-28T05:53:10.995Z"
source_format: "markdown"
site: "GameServerKings"
---

# Core Keeper Dedicated Server Setup: Game ID, Direct Connect, Arguments and Ports (1.3)

A Core Keeper dedicated server is the free **Core Keeper Dedicated Server** tool (Steam app `1963720`, anonymous SteamCMD login), with native Windows and Linux builds. Start it with `-batchmode`. Without a `-port`, players join with the **Game ID** over Steam's relay, which works for Steam players only. Add `-port` and the server takes direct IP connections, which lets Epic, GOG and Microsoft Store players join too. Everything the server decides on start-up, including the Game ID and the join password, ends up in `GameInfo.txt` next to the executable.

> [!NOTE] Checked against Core Keeper **1.3.0.6** (hotfix of 9 October 2026, *Riders of the Underground*)
> Sources: the `README.txt`, `ARGUMENTS.txt` and `_launch.sh` that ship inside the current server depots, Pugstorm's patch notes on Steam, and our panel's Core Keeper egg.

## Two Ways Players Join

| | Game ID (default) | Direct connection |
|---|---|---|
| How to turn it on | Nothing to set | Start with `-port <port>` and open that port |
| Who can join | Steam players | Steam, Epic Games Store, GOG and Microsoft Store players |
| What players enter | The Game ID | IP, port and password (Steam players can still use the Game ID) |
| Port forwarding | Not needed. Traffic goes over the Steam relay network | Needed |

Pugstorm added cross-store direct connections in patch 1.1.2.3 (August 2025). Consoles aren't included: patch 1.1.2.4 notes that "the game currently does not support crossplay between PC and consoles". The README also warns that with direct connections "your servers IP will be shared with other players, as will the players IP be shared with the server". To accept direct connections from one store only, add `-allowonlyplatform Steam` (or `Epic`, `Microsoft`, `GOG`).

## Installing and Starting the Server

```bash
steamcmd +login anonymous +app_update 1963720 +quit
```

The server is small: Steam lists the Windows depot at about 0.42 GB and the Linux one at about 0.48 GB (28 October 2026).

**Windows:** start the launch script that ships with the server, or run `CoreKeeperServer.exe -batchmode` with your arguments.

**Linux:** run `_launch.sh`. It installs `xvfb` and `libxi6` if they're missing, starts a virtual display, and runs `./CoreKeeperServer -batchmode -logfile CoreKeeperServerLog.txt` with your arguments. There's a reason for the virtual display: Pugstorm says you need `-batchmode` "(NOT -nographics since part of the procedural generation is done on the GPU)", and that on Linux `-batchmode` "doesn't seem to work". The server therefore runs inside Xvfb on a headless machine.

**Older versions** stay available as Steam branches for worlds that aren't ready to update: `1.2.1.5`, `1.2.0.7`, `1.1.2.10` and `1.1.2.0` (add `-beta <branch>` to the SteamCMD line). Server and players must be on the same version.

## Launch Arguments

From `ARGUMENTS.txt` in the 1.3 server files. Most of these can also be set in `ServerConfig.json` in the server's data path. `-port` and `-ip` work only on the command line.

| Argument | What it does | Default |
|---|---|---|
| `-world 0`–`29` | Which world slot to load. Different numbers give separate saves | 0 |
| `-worldname "Name"` | Name players see | |
| `-worldseed "text"` | Seed. Applies only when the world is first created | Random |
| `-worldmode Normal` / `Hard` / `Creative` / `Casual` | Game mode. Switching between Creative and the others after creation "is not supported" | Normal |
| `-maxplayers 16` | Player cap. Pugstorm warns a higher count "may require more server resources or make the session unstable" | 8 |
| `-gameid <id>` | Fixed Game ID, 15 to 28 letters and digits, without `Y`, `y`, `x`, `0` or `O` | Random |
| `-password "text"` | Password for direct connections, up to 28 characters. Not used with the Game ID | Random |
| `-port 7778` | Turns on direct connections on that port | Off (Steam relay) |
| `-allowonlyplatform Steam` | Direct connections from one store only | All PC stores |
| `-datapath <folder>` | Where saves and `ServerConfig.json` live | A `DedicatedServer` folder in the default Core Keeper save location |
| `-season Halloween` | Forces a seasonal event (`None` turns events off) | From the system date |
| `-activatecontent <bundle>` / `-activateallcontent` | Turns on optional content bundles. "There is no way to undo this" | Off |

**Where the data path is by default:** on Windows, `%USERPROFILE%\AppData\LocalLow\Pugstorm\Core Keeper\DedicatedServer\`. On Linux, Unity puts it under the user's `~/.config/unity3d/Pugstorm/Core Keeper/DedicatedServer/`.

## Reading GameInfo.txt

Each start rewrites `GameInfo.txt` next to the executable. It holds the Game ID and, with direct connections on, the local and public IPs, the port, the password and which platforms may join. It also warns about any argument with an invalid value or one that was ignored. Its last line is a ready-made `IP;PORT;;PASSWORD` string. Paste it into the IP field of **Join Game Via IP** and the game splits it into the right boxes.

If there's no `GameInfo.txt` at all, the server failed during set-up. Check `CoreKeeperServerLog.txt` in the same folder.

## Using Your Own World Settings

The server has no world-settings UI. To use custom world generation:

1. Create a world in the normal game with the settings you want.
2. In that save's folder, copy the matching file from `worldgenparams` into a `worldgenparams` folder in the server's data path (create it if needed).
3. Rename the file to the world index you'll use, and start a **new** world on that index.
4. For the exact same map, also use the same seed.

## Admins, Kicks and Bans

Admin rights are handed out in game: an admin can make other players admins, ban players and regenerate the Game ID from the **pause menu**, and kick players on dedicated servers. A world admin can also turn PvP on or off and use **guest mode**, where non-admin players can look around but can't change the world. Pugstorm's server README doesn't say how the first admin is picked on a dedicated server, so check the pause menu on your first join.

Core Keeper has no admin console for server owners. See [Core Keeper Console Commands and Cheats: What Exists in 1.3 (and What Doesn't)](/knowledge-base/core-keeper/core-keeper-console-commands/) for what exists instead.

## Running It on GameServerKings

On a [GameServerKings Core Keeper server](/games/core-keeper/) the panel runs the native Linux binary under Xvfb and builds the start line from the **Startup** tab:

| Startup field | Argument | Notes |
|---|---|---|
| World Index | `-world` | 0 by default |
| World Name | `-worldname` | 3 to 100 characters |
| World Seed | `-worldseed` | The panel accepts whole numbers only. `0` is the default |
| Game ID | `-gameid` | Optional. The panel asks for 28 characters. Leave it empty for a random one |
| Max Players | `-maxplayers` | Our default is 100, well above the game's 8. Lower it if the world stutters |
| World Mode | `-worldmode` | Takes `0` or `1`. Leave it at `0` (Normal). For Hard, Creative or Casual, open a ticket before you create the world |

What that means in practice:

- **Direct connections are always on.** The start line passes `-port` with your allocated port, so players from every PC store can join with IP, port and password, and Steam players can still use the Game ID.
- **The join password is generated by the server.** There's no password field. Open `GameInfo.txt` in **Files** to get the Game ID, password and `IP;PORT;;PASSWORD` string to give your friends.
- **Your world and `ServerConfig.json`** are in the data-path folder under `.config/unity3d/Pugstorm/Core Keeper/DedicatedServer/` in **Files**.
- **Auto Update** is on by default, so a restart takes the current version.
- **Mods** go in `CoreKeeperServer_Data/StreamingAssets/Mods/` and need Linux asset bundles. [Core Keeper mods](/knowledge-base/core-keeper/core-keeper-mods/) covers it step by step.

## Common Problems

- **Friends on Epic, GOG or the Microsoft Store can't find the server.** They can't use the Game ID. They need direct connections: the IP, port and password from `GameInfo.txt`.
- **Console players can't join.** That's expected. Core Keeper has no PC-to-console crossplay.
- **Setting a value in `ServerConfig.json` does nothing.** `-port` and `-ip` are never read from the file, and anything passed on the start line is already set there. Check `GameInfo.txt` for "invalid" or "ignored" warnings.
- **The world isn't the one you made at home.** World-gen parameters and seed only apply when a world is first created. Copy the `worldgenparams` file and seed, then start a fresh world index.
- **A self-hosted Linux server won't start.** Run it through `_launch.sh`, which sets up Xvfb and the libraries it needs. Don't use `-nographics`.

## FAQ

### Is the Core Keeper dedicated server free?

Yes. App `1963720` downloads with an anonymous SteamCMD login. Players still need the game.

### Can Xbox, PlayStation or Switch players join a Core Keeper dedicated server?

No. Dedicated servers take PC players only (Steam, Epic, GOG and Microsoft Store, the last three through direct connections). Pugstorm says the game "does not support crossplay between PC and consoles".

### How do I join my Core Keeper server by IP?

The server needs `-port` (ours always has it). Then open **Join Game Via IP** and paste the `IP;PORT;;PASSWORD` line from `GameInfo.txt`.

### How many players can a Core Keeper server have?

The default is 8. `-maxplayers` raises it, and Pugstorm warns that more players "may require more server resources or make the session unstable".

### Can I move my single-player world to a dedicated server?

Pugstorm's README only documents copying a world's generation settings (`worldgenparams`) and seed, not moving the world itself. If you need an existing world moved onto your GSK server, open a ticket and we'll do it with you.

---

Made with 💜 by GameServerKings
