Skip to content
UniFiGuy.com

I Love Expensive Blinky Lights

UniFiGuy.com

I Love Expensive Blinky Lights

Installing Core Keeper on Docker

March 15, 2025March 15, 2025
Installing Core Keeper on Docker

Excerpts from the above. I am paranoid about losing things on the internet and have only copied this here for reference. Full credit to the article above, its better formatted over there and Ive definitely cut chunks out that I dont need. TLDR, go to the above link.

Summary:

6. First things first, update. Run this command. If Ubuntu asks you to restart services with a pink background, just click <Tab> and :

Copy Code

sudo apt update && sudo apt upgrade -y

7. Next, let’s install docker. I recommend getting the latest version by following the instruction here: https://docs.docker.com/engine/install/ubuntu/. You should follow the steps under “Install using the repository”, but if you’re lazy and trust the Docker folks, you can download the automated script: https://docs.docker.com/engine/install/ubuntu/#install-using-the-convenience-script.

8. With Docker installed, let’s create a location for our game. Use this command to create a new directory:

Copy Code

sudo mkdir /srv/core-keeper-dedicated

9. Now let’s hop into that new directory:

Copy Code

cd /srv/core-keeper-dedicated

10. For this tutorial, we’ll use this Docker image: https://hub.docker.com/r/escaping/core-keeper-dedicated. Let’s pull it down:

Copy Code

sudo docker pull escaping/core-keeper-dedicated

11. According to the image’s owner, we need to create two files. Let’s create those with nano, a simple text editor.

  • Run this to create the new file:

Copy Code

sudo nano docker-compose.yaml
  • Copy this content and then use right-click to paste into the docker-compose.yaml file:

Copy Code

version: "3"

services:
  core-keeper:
    image: escaping/core-keeper-dedicated
    container_name: core-keeper-1
    volumes:
      - ./server-files:/home/steam/core-keeper-dedicated
      - ./server-data:/home/steam/core-keeper-data
      - /tmp/.X11-unix:/tmp/.X11-unix
    env_file:
      - ./core.env
    restart: always
    stop_grace_period: 2m
  • Use <Ctrl> + X to save the file. Press “Y” to Save your changes, and press <Enter> to keep the same name, docker-compose.yaml
  • Let’s create the next file. Same as before:

Copy Code

sudo nano core.env
  • Copy this text and use right-click to paste it into the file:

Copy Code

WORLD_INDEX=0
WORLD_NAME=Core Keeper Server
WORLD_SEED=0
GAME_ID=
#DATA_PATH=
MAX_PLAYERS=10
DISCORD=0
#DISCORD_HOOK=https://discord.com/api/webhooks/{id}/{token}
  • We’re leaving the GAME_ID blank for now, so a new one will be created. Also, we’re not using Discord integration. Again, press <Ctrl> + X to save the file and follow the prompts as before.
  • Finally, let’s create two new folders to store our data:

Copy Code

sudo mkdir server-data server-files

12. GREAT! Let’s start up our server for the first time!

Copy Code

sudo docker compose up -d

13. Wait for just a minute, and then run:

Copy Code

sudo docker exec -it core-keeper-1 cat core-keeper-dedicated/GameID.txt && echo -e "\n"

14. The server will spit out your customized random GAME_ID, something like: VZdWFlZ24LJuVizKlgh1ZsQbbXKT. Copy that text by highlighting it (Putty will auto copy things that are high-lighted, isn’t that nice!). To save the ID permanently, first stop the container:

Copy Code

sudo docker container kill core-keeper-1

15. Now we modify the core.env file:

Copy Code

sudo nano core.env

16. Paste your unique game id immediately after the “GAME_ID=” config:

GAME_ID=VZdWFlZ24LJuVizKlgh1ZsQbbXKT

17. Again, <Ctrl> + X to exit.

18. Let’s restart Core Keeper:

Copy Code

sudo docker compose up -d

19. Wait a minute and then check if it’s running correctly. You should see the same Game ID at the very bottom:

Copy Code

sudo docker container logs core-keeper-1

20. Let’s test that we can connect! Load up Core Keeper on your machine. On the Main Menu, select Join Game and paste your unique GAME_ID value that we set. Hit Join and wait for it to connect.

21. If you successfully connected, go ahead and quit Core Keeper. We want to move our previous world over now. Open up a new File Explorer window and go to “%USERPROFILE%\AppData\LocalLow\Pugstorm\Core Keeper\Steam”. Each numbered folder is a different world. Choose the world you’d like to move and enter the folder. Copy these files somewhere you can find them, like your Desktop:

  • Admins.json
  • ServerConfig.json
  • ServerConfig.json.pugbackup
  • worlds (the whole folder and everything inside)

22. We need a tool to copy this data to your server. I recommend the portable executable version of WinSCP: (https://winscp.net/eng/downloads.php). Use the “Portable Executable” version. Download it, run it, and click New Site. Enter the details of your Core Keeper server. This will use the same SSH username and password as before.

23. Once you’re logged in, the right side of the screen represents your Core Keeper server and the location should be /home/<yourUserName>/. Drag and drop the 3 files plus the worlds folder from your Desktop to this location. They should be copied over to the server.

22. Hop back on your server using PuTTY. If you’re not already there, make sure you go back to the Core Keeper directory and let’s stop the Core Keeper server temporarily:

Copy Code

cd /srv/core-keeper-dedicated
sudo docker container kill core-keeper-1

23. First backup the old files with these commands:

Copy Code

mkdir ~/core-keeper-backup
sudo mv /srv/core-keeper-dedicated/server-data/* ~/core-keeper-backup/

24. Now let’s copy our old save files. If you saved them directly to your home folder when using WinSCP, this command should work:

Copy Code

sudo cp ~/Admins.json ~/ServerConfig.json ~/ServerConfig.json.pugbackup ~/worlds /srv/core-keeper-dedicated/server-data/

25. Go ahead and check the folder to make sure the files were correctly copied over:

Copy Code

sudo ls -al /srv/core-keeper-dedicated/server-data/

You should see something like this:

$ ls -al server-data/
total 24
drwxrwxr-x 3 user user 4096 Nov 11 06:35 .
drwxr-xr-x 5 user user 4096 Nov 11 07:45 ..
-rw-rw-r-- 1 user user 315 Nov 11 06:06 Admins.json
-rw-r--r-- 1 user user 210 Nov 11 06:35 ServerConfig.json
-rw-r--r-- 1 user user 210 Nov 11 06:35 ServerConfig.json.pugbackup
drwxrwxr-x 2 user user 4096 Nov 11 06:22 worlds

26. If you see similar, go ahead and start your server again:

Copy Code

cd /srv/core-keeper-dedicated/
sudo docker compose up -d

27. Wait a minute, and then check the logs with:

Copy Code

sudo docker container logs core-keeper-1

If you see your Game ID at the bottom and no noticeable errors, open Core Keeper and try to login. Once again, use “Join Game” and the Game ID is the ID in the log above.


Conclusion:

These steps should allow you to setup your own Core Keeper server. You will be able to share the connection locally with any users on your network. If you want to share with users outside your network, you may need to consult other guides on configuring your network/firewall. Post navigation

Software

Post navigation

Previous post
Next post

Introduction
I am just a guy who loves Unifi products. I mean, it's great, right? Expensive but it does the job. And gosh-darn it, every generation of products they produce have just more and more blinky lights, and even next-gen GLOWY lights! Amazing. Just my journey through the Unifi Universe.

Links
UniFi Website
Reddit: Ubiquiti
Reddit: Homelab
UniFi Software Downloads
Unifi Community Timeline

Disclaimer
All views on this website are my own. I have purchased these things with my own money unless otherwise specifically stated. I am not sponsered by Ubiquiti or their partners. I just have a credit card and an itch to play with new tech. I have no doubt that this will be my downfall!

Contact
I'd be very interested in hearing your opinions, as well as what you would do if you had an unlimited budget and all of these toys to play with! Feel free to email me at unifiguy@pm.me if you want to. I am always interested in hearing peoples stories about their network gear, even if not Unifi.

This is an independantly ran website with my own personal experience and opinions.
Business email: unifiguy@pm.me

©2025 UniFiGuy.com | WordPress Theme by SuperbThemes