VGKAMI
Advertise Get listed

Game Guides

How to Make a Colony Survival Server: Step-by-Step Setup Guide

October 26, 2026 11 min read

The best way to make a persistent Colony Survival server is to install the separate Colony Survival Dedicated Server tool from Steam (app ID 748090), configure a world in server.config.json, and run the server executable on Windows, Linux, Docker, or a hosted VPS. For a short session, the in-game co-op menu is easier. A dedicated server keeps the world available when configured on an always-on machine, but requires deliberate network, firewall, backup, and mod management.

This guide explains which hosting method fits your group, how to install and launch the server, how to handle version-sensitive ports, and how to add mods without damaging a world.

What do you need to make a Colony Survival server?

You need the dedicated-server software, a copy of the game that matches the server build, a world configuration, and a host that can keep the process running. The official hosting documentation supports several arrangements:

  • Client co-op: the owner starts a co-op session and plays at the same time.
  • Persistent Windows host: the owner runs the colonyserver executable from the game installation while Steam remains active and signed in.
  • Linux, VPS, NAS, or Docker host: SteamCMD installs the server, and Docker can keep it running as a background service.
  • Managed game hosting: a provider handles much of the machine and uptime work, while you use its control panel and pay a recurring fee.

The separate Steam tool is named Colony Survival Dedicated Server. SteamDB lists it as app 748090, free to download, with 64-bit Windows and Linux depots. Its recorded depot sizes in 2026 were 138.37 MiB for Windows and 133.97 MiB for Linux, so the download itself is small; the world, logs, Docker data, and backups require additional storage.

Which hosting model should you choose?

Choose co-op when everyone plays in the same short window. Choose a local dedicated process when one person can leave a computer running. Choose Docker on a VPS or NAS, or managed hosting, when the colony should remain available while the owner is away.

Hosting model Setup effort Online when owner is away? Router and firewall work File and mod control Recurring cost Troubleshooting responsibility
In-game co-op Lowest; start from the client co-op menu No, the host’s session must be active Usually minimal, especially for Steam networking Limited to the host’s game installation No separate server cost Mostly handled in the game client and local network
Dedicated server on your PC Moderate; install the tool, configure files, and run the process Only while the computer and process stay online Often required for internet players Full access to worlds, configuration, and mods No hosting fee, but your electricity and connection remain in use You manage updates, firewall rules, backups, and crashes
Docker on a VPS or NAS Moderate to high; configure Docker, storage, and remote access Yes, if the host and container remain running VPS firewall and router rules may still be needed Full access to persistent server files VPS, storage, or electricity costs may apply You manage the container, files, network, and updates
Managed game hosting Usually lower than self-hosting; controls vary by provider Yes, subject to the provider’s uptime Often reduced because the provider exposes the service publicly Depends on file access and mod support Recurring hosting charge Shared between you and the provider

For occasional sessions, the official help specifically recommends using the client co-op menu. A dedicated server is worthwhile when players need to join at different times or the world must continue running without the owner’s game client.

How do you install the Colony Survival Dedicated Server?

Install through Steam on Windows

  1. Open Steam and switch to the Tools section of your library.
  2. Find Colony Survival Dedicated Server and install it. Steam identifies the application as app 748090.
  3. Open the installation directory and locate the server executable and the gamedata folder.
  4. Keep Steam running and logged in on the machine that will host the process. This is required for the documented persistent-PC workflow.

The executable name can differ between builds. If a shortcut or command from an older guide fails, inspect the files in the installed server directory and use the current executable and help/configuration files.

Install on Linux with SteamCMD

On Linux, use SteamCMD as documented by the game’s hosting help to install app 748090. The exact SteamCMD package command depends on your distribution, so install SteamCMD through that distribution’s supported package source, then point it at a persistent directory for the server files. Do not place the world in a temporary directory that a reboot or container recreation can erase.

After installation, verify that the directory contains the Linux server executable, server.config.json, and the gamedata tree. If the executable is not obvious, use the current files supplied by the build rather than assuming the name used in an older tutorial.

Install with Docker

The official Docker workflow supplies the needed files in the installation’s gamedata/help/hosting_docker directory. Copy both docker-compose.yml and server.config.json into a working directory on the Docker host, then start the service:

docker compose up -d

The container installs SteamCMD app 748090 into persistent /server storage. Make sure the compose volume maps to storage that survives container replacement. Mount the configuration file read-only at /server/server.config.json as shown by the official example, so an accidental process write does not replace your intended settings.

How do you create and configure a Colony Survival world?

Configuration belongs in server.config.json or in launch options. Set the world and server identity first, then choose the network mode and visibility before inviting anyone.

Set the world and server names

Give the world a stable name and use a separate, recognizable server name for the in-game listing. On Docker, an existing WorldName is loaded rather than recreated, so changing the spelling can make the server appear to start with a new world. Treat the world name as an identifier and keep a written record of it.

Choose the network type

The documented network types are:

  • SteamOnline: intended for internet hosting through Steam networking.
  • SteamLAN: Steam networking for a local network, useful when you do not want to configure internet port forwarding.
  • LAN: local discovery on the network.
  • Singleplayer: localhost use rather than a normal shared server.

For friends connecting over the internet, start with SteamOnline. For computers on the same home network, SteamLAN or LAN can avoid exposing a public service, but every player still needs a compatible game and server build.

Set access, capacity, and world rules

Before publishing the server, configure a password and a sensible maximum player count. Also review the seed, monster settings, server IP, and listing controls. The relevant listing switches include:

  • ServerListPublicly controls whether the server registers in the in-game server browser or master server.
  • ServerListLAN controls LAN visibility.
  • ServerListFriends controls friend-list visibility.

Use the narrowest visibility that fits your group. A private password is still useful even when the listing is hidden, because an exposed address or friend invitation can otherwise grant unintended access.

Set difficulty in Docker

Docker configurations can use DifficultyKey to select a preset from gamedata/settings/server.json. Check the current file for valid preset names instead of copying a key from a different build. If a key is invalid, the server may fall back to a default or report the problem in its startup log.

How do you launch the dedicated server?

On Windows, run the installed server executable from its game directory while Steam remains active. On Linux, a documented launch pattern is:

./colonyserver.x86_64 -batchmode -nographics +server.world "MY_WORLD" +server.networktype SteamOnline +server.name "MY SERVER"

Replace the example world and server names with your own values. The executable name and accepted arguments are version-sensitive, so use the current server help or configuration files if your build uses a different name or parameter syntax.

-batchmode runs without an interactive client, and -nographics avoids rendering. On a VPS, run the process inside Docker or a terminal multiplexer so an SSH disconnect does not terminate it. Docker’s docker compose up -d workflow is the preferred persistent pattern in the official hosting notes because the container can restart independently of your terminal session.

Which ports does a Colony Survival server use?

Port requirements changed between documented versions, so do not blindly copy an old forwarding guide. The current dedicated-server reference lists 27004/UDP as the default game/query port and 27005/TCP as the default Steam port. A developer support reply dated March 23, 2018 instead identifies 27016 as an older default query port and describes successful forwarding of 27016–27018.

Documentation reference Port information How to use it
Current dedicated-server reference 27004 UDP and 27005 TCP Use these only when they match the active build’s configuration.
Developer support discussion, March 23, 2018 27016 query port; a user reported forwarding 27016–27018 Treat this as historical evidence, not a universal current rule.

Forward ports safely

  1. Give the host computer a reserved local IP address through your router, or configure a DHCP reservation. A changing local address will break a forwarding rule.
  2. Read the active build’s server configuration or help output and record the actual UDP and TCP ports.
  3. Create router forwarding rules from those external ports to the host’s reserved local IP and the same internal ports, using the correct protocol.
  4. Allow the server executable through the host operating system’s firewall for the required protocols.
  5. Restart the server, then test from a second account or a different network rather than relying only on a test from the hosting machine.

Do not expose unnecessary administration services. Forward only the ports the current server requires, keep the operating system updated, and use a password before making the listing public.

Why is the server not visible to friends?

Visibility failures usually come from a listing setting, a blocked query port, a NAT rule, a firewall, or mismatched versions. Work through these checks in order:

  1. Confirm the network type: internet players need SteamOnline; SteamLAN and LAN are not substitutes for a public internet listing.
  2. Check listing controls: verify that ServerListPublicly, ServerListLAN, or ServerListFriends matches the way players are searching.
  3. Read the startup log: look for binding errors, an invalid port, a world-loading failure, or a failed Steam connection.
  4. Verify the router and firewall: make sure the forwarding destination is still the host’s current reserved IP and that both protocol rules are present where required.
  5. Check versions: the client and server should be on compatible builds. A client that cannot complete the handshake may appear to be a networking failure.
  6. Test the query port: the older developer discussion specifically points to query-port forwarding behind NAT as a likely cause when a server is not listed. Recheck the active build rather than assuming the historical 27016–27018 range applies.

If the server works for players on the same LAN but not from outside, focus on the router, firewall, public address, and port selection. If it does not work locally either, fix the launch command, world path, or configuration before changing NAT settings.

How do you add mods to a Colony Survival dedicated server?

Stop the server and make a world backup before changing mods. The current mod instructions describe each mod as a folder containing modInfo.json; uploading loose files or using the obsolete modstate.json method can prevent the mod from loading.

  1. Stop the server process or run docker compose down after confirming that the world has saved.
  2. Back up the entire world directory and retain a copy of the current configuration.
  3. Place the mod in its own folder under gamedata/mods. The expected layout is gamedata/mods/<ModName>/modInfo.json, with the mod’s other files inside that same folder.
  4. Open gamedata/savegames/<worldname>/worldconfig.json.
  5. Under ModConfigEntries, enable the mod using the exact name specified by the mod. Matching capitalization and spelling matters.
  6. Restart the server and inspect the console for a successful load or a dependency, version, or path error.
  7. Have every connecting player install the client-side files required by that mod, if the mod’s instructions specify them.

Mod compatibility can change after a game update. The mod guide published July 30, 2026 and updated August 29, 2026 warns that updates may make existing mods incompatible. If the server fails after a mod change, stop it, restore the backup, remove or correct the latest entry in ModConfigEntries, and test the unmodded world before trying another version.

How should you back up and maintain the server?

  • Back up before updates: copy the world directory before updating the game, server tool, Docker image, or any mod.
  • Keep configuration copies: save server.config.json and the relevant worldconfig.json beside each dated world backup.
  • Use a restart plan: schedule maintenance when players are offline, stop cleanly, then start the same executable or compose service again.
  • Watch storage: persistent Docker volumes and log files must have room to grow. A full disk can look like a world or startup problem.
  • Restrict access: use a password, a reasonable player limit, and intentional listing settings before sharing the address.
  • Document changes: record port values, world name, mods, and configuration edits so you can undo a failed update quickly.

For a VPS or NAS, verify after a host reboot that the container or process starts again and that the expected world is loaded. An always-on label is meaningless if the service depends on an open SSH session or an unmounted data directory.

What is the quickest setup for playing with friends tonight?

  1. Use the in-game co-op menu if you will remain in the game for the whole session.
  2. If the owner must stay in the game but wants a separate process, install the dedicated server tool, create a world, choose SteamOnline, set a password, and launch the executable.
  3. If the world must remain online after the owner disconnects, use Docker on a VPS or NAS, mount persistent /server storage, configure the listing and ports, and start it with docker compose up -d.

This sequence avoids paying for or administering an always-on host when a temporary co-op session is all your group needs, while still providing a clear upgrade path to persistent hosting.

Frequently Asked Questions

Can I run the dedicated server and play on the same PC?

Yes. The documented Windows arrangement runs the server executable from the game installation while Steam remains active and logged in. Leave enough CPU, memory, disk throughput, and network bandwidth for both the server process and your game client.

Which port should I enter in a server browser or direct-connect field?

Use the port shown by the active build’s configuration, not a port copied from an old post. Current dedicated-server documentation lists 27004/UDP and 27005/TCP, while a March 2018 developer reply used 27016 as an older query-port default.

Will changing the server name create a new colony?

The name shown to players and the internal world identifier are separate settings. Keep the configured WorldName unchanged when you want Docker or a restarted process to load the existing save instead of creating or selecting another world.

What should I do if a mod breaks the world?

Stop the server, preserve the failed world’s files, and restore the backup made before the mod change. Then remove the mod’s entry from ModConfigEntries or install a version compatible with the current game build before testing again.