ServerSizer

Games Core Keeper

Core Keeper server requirements

Build 25625045, 2026-10-06. Native Linux server with a virtual display. Steam SteamDB

Requirements

Our benchmarkPugstormWinterNodeIONOSContradicts developerIndifferent BroccoliContradicts developer
CPU1% of one core, idle2 cores at 2.4 GHz minQuad-core
RAM1.3 GB idle, 1.4 GB peak4 GB at 1-3 up to 10 GB at 6-8 with heavy mods2 GB at 1-4, 4 GB+ above 46 GB min, no player count
Disk568 MB install10-20 GB min10 GB min
NetworkNone (Steam relay)Steam relay by default, no port forwarding neededUDP 27015 and 27016 must be open (claimed)Forward port 27015 (claimed)
OSLinux, nativeWindows and LinuxLinux needs XvfbLinux (Ubuntu 18.04+) or Windows 10/11 64-bit

RAM by players

WinterNode
4 to 6 GB
IONOS
2 GB
Indifferent Broccoli
6 GB
  • Recommended
  • Community
  • WinterNode: "4GB | 1-3 players, fresh or lightly explored world, no mods / 6GB | 2-6 players, established world, light mods or none / 8GB | 4-8 players, older world with significant exploration / 10GB | 6-8 players, heavy mod load, large explored map"
  • IONOS: "RAM (Memory): 2 GB RAM for 1-4 players, 4 GB or more for larger game files or more than 4 players"
  • Indifferent Broccoli: "you'll need a system with at least 6GB of RAM ... Typically, 6GB of RAM is sufficient for small to medium-sized servers."

Memory over time

0 GB1 GB2 GB1.4 GB0 min30 min0 GB1 GB2 GB1.4 GB0 min
  • In use
  • Peak, with cache
Raw data (CSV)

Community results

Loading...

Add result
Hosting
RAM headroom
Privacy

Pending

  • 24 hours idle
  • One player for 30 minutes

Ports

PortProtocolUseOur server
27015UDPDirect connections, only with -port.Off
27016UDPQuery, -port plus one.Off

Steam players join with the Game ID. Direct connections: -port, then forward that UDP port and the next.

Docker setup

4 steps
  1. Download

    Free anonymous download, Steam app 1963720, about 0.6 GB.

    docker volume create ck_files
    docker run --rm -v ck_files:/data steamcmd/steamcmd:latest \
      +@sSteamCmdForcePlatformType linux +force_install_dir /data \
      +login anonymous +app_info_update 1 +app_update 1963720 validate +quit
  2. Image

    game_runtime as on the Palworld page, plus the two packages _launch.sh needs.

    printf 'FROM ubuntu:24.04\nRUN apt-get update && apt-get install -y --no-install-recommends ca-certificates libcurl4t64 && rm -rf /var/lib/apt/lists/*\nUSER ubuntu\n' | docker build -t game_runtime -
    printf 'FROM game_runtime\nUSER root\nRUN apt-get update && apt-get install -y --no-install-recommends xvfb libxi6 && rm -rf /var/lib/apt/lists/*\nUSER ubuntu\n' | docker build -t game_x -
  3. Run

    Exact bench command.

    docker volume create ck_home
    docker run --rm -v ck_files:/a -v ck_home:/b alpine chown -R 1000:1000 /a /b
    docker run -d --name corekeeper --init --memory 4g \
      -v ck_files:/ck -w /ck -v ck_home:/home/ubuntu game_x ./_launch.sh
  4. Ready line and Game ID

    14.5 seconds after container start.

    docker exec corekeeper sh -c 'until [ -f /ck/GameInfo.txt ]; do sleep 1; done; cat /ck/GameInfo.txt'

Settings

10 settings

Launch options, also in ServerConfig.json in ~/.config/unity3d/Pugstorm/Core Keeper/DedicatedServer.

SettingWhat it does
-world 0World slot, 0 to 29.
-worldnameName players see. Config default: Core Keeper.
-worldseedSeed for a new world.
-worldmodeNormal, Hard, Creative or Casual.
-gameidFixed Game ID; random if empty.
-maxplayersPlayer slots. Config file: 100.
-portDirect connections and crossplay, UDP.
-passwordPassword for direct connections.
-datapathSave folder.
-seasonSeasonal event; default follows the date.

Troubleshooting

4 problems
_launch.sh runs sudo apt-get
It installs libxi6 and xvfb when missing. Put both in the image.
Player limit: 8 or 100
ARGUMENTS.txt gives 8 without -maxplayers; the generated ServerConfig.json says 100. Set -maxplayers.
Join by IP or from another platform
Add -port 27015 and forward UDP 27015 and 27016. Steam players can still use the Game ID.
Game ID
In GameInfo.txt next to CoreKeeperServer, written at each start. Fix it with -gameid.

Method

build 25625045
ServerCore Keeper dedicated server, Steam build 25625045, downloaded 2026-10-06.
Imagegame_runtime plus xvfb and libxi6 (the packages _launch.sh checks for), uid 1000; home folder on a Docker volume.
MachineAMD Ryzen 9 5950X, Proxmox VE 9, each game server in Docker inside a dedicated LXC container. 4 GB memory limit, no swap.
Command./_launch.sh (Pugstorm's script: Xvfb :99, then ./CoreKeeperServer -batchmode -logfile CoreKeeperServerLog.txt)

Changes from defaults

  • Pugstorm's _launch.sh unchanged, no arguments: world 0, Normal mode.
  • Steam relay with a Game ID; no ports opened.
  • Xvfb runs in the same container and counts toward its memory.

Full method

Sources