Halloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsPC HealthRecommendedCrashes, freezes, slowdowns? Check your PC nowSpot repairable issues before they interrupt work.Check PCHalloween DealsAmazon USOctober picks are moving - compare before checkoutAmazon US: current deals, useful picks and tech finds.See Picks×
FREEDOM251

Freedom251 › Blog › Docker

How to Run a Sons of the Forest Dedicated Server on Linux (Docker, Ports, Saves, and Updates)

By Freedom251 Team · · 10 min read

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

You can run the Windows Sons of the Forest dedicated-server program on Linux by using a maintained Docker image that bundles Wine and a headless display server. A practical small server starts at 2–4 CPU cores, 8 GB of RAM, and 12 GB of storage; a four-player setup is better provisioned with at least 4 cores, 16 GB of RAM, and 20 GB of storage. The reliable deployment pattern is Docker Compose, persistent host-mounted data, UDP ports 8766, 27016, and 9700, and a carefully edited dedicatedserver.cfg.

What you need before installing

The dedicated server is distributed as a Windows application. Linux does not run that executable natively, so the practical Linux method is a container image that packages SteamCMD, Wine, and an X virtual framebuffer (Xvfb). Wine supplies the Windows compatibility layer, while Xvfb provides the headless display context the server expects. You administer the result with ordinary Docker commands rather than by opening a graphical Windows desktop.

As an Amazon Associate I earn from qualifying purchases.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Hardware and network baseline

Use case CPU Memory Storage How to interpret it
Small private server 2–4 cores 8 GB or more 12 GB or more Practical baseline published by the jammsen Docker project; actual headroom depends on the number of players and other workloads.
Recommended four-player profile 4 or more cores 16 GB or more 20 GB or more The jammsen project’s recommended profile, giving the operating system and container more room for peaks.

Use SSD storage when possible. The server downloads and validates files, writes world state, and may perform many small save operations. Leave additional free space beyond the stated minimum for updates, logs, and backups. A stable public address is useful: a VPS normally has one, while a home connection may require router port forwarding and may be affected by carrier-grade NAT.

Software prerequisites

  • A supported Linux machine or VPS with a current kernel and administrator access.
  • Docker Engine and the Docker Compose plugin. Confirm with docker --version and docker compose version.
  • A host directory with enough free space for the game files, configuration, saves, and backups.
  • Permission to open UDP ports in the Linux firewall and, for home hosting, in the router.
  • A maintained Sons of the Forest server image. Read that image’s current README before creating a new stack; the jammsen project warns that its January 2025 refactor introduced breaking changes.

These images assume basic familiarity with Linux, Docker Compose, and networking. If you do not want to maintain those pieces, managed game-server hosting is the simpler alternative discussed below.

#1 Best Overall
Renegade Game Studios Fox in the Forest Deluxe 2 Player Trick-Taking Game
  • Strategic 2-Player Trick-Taking: Master the art of winning just enough tricks without overcommitting, using clever card play and tactical decision-making to outmaneuver your opponent
  • New Module Variations: Three game modules (special cards, goal cards, poison cards) offer endless strategic combinations, keeping gameplay fresh and exciting for repeated plays
  • Premium Deluxe Components: Foil-stamped cards, all-new fairy-tale illustrations, and acrylic scoring tokens deliver a visually stunning and tactile experience that enhances every game
  • Quick 30-Minute Gameplay: Perfect for busy couples seeking quality time together, delivering strategic depth and meaningful competition in a compact, elegant format
  • Complete Game Package: Includes 33 base cards, nine special cards, 16 goal cards, three poison cards, two reference cards, 17 scoring tokens, and comprehensive rulebook

Choose a hosting approach

Approach Control Maintenance Reachability Cost model Data portability
Linux host with Docker Direct access to configuration, logs, and files You handle updates, backups, firewall rules, and recovery Home hosting depends on NAT and port forwarding; a VPS generally avoids home-router constraints Uses an existing machine or VPS; no current service price is established here High when host-mounted paths are preserved
Managed game-server service Usually a control panel rather than host-level access Provider normally handles the host, updates, and network exposure Typically reachable without configuring your home router Recurring service fee; verify current Sons of the Forest support and terms Depends on the provider’s export and backup tools

Self-hosting is the better fit when you want shell access, custom files, and control over the update schedule. A managed service is preferable when an always-on server matters more than controlling the operating system, or when your internet connection cannot accept inbound traffic.

Install the server files with SteamCMD

The dedicated server uses Steam application ID 2465200. SteamCMD can install it anonymously, so a personal Steam account is not required for this download.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  1. Install SteamCMD using your Linux distribution’s package or the method documented by your chosen container project. In a Docker image, SteamCMD is commonly already included.
  2. For a direct host installation, run the SteamCMD client and issue:
    steamcmd +login anonymous +app_update 2465200 validate +quit
  3. Wait for the download and validation to finish. The command may be repeated after an update; SteamCMD downloads only changed files.
  4. Keep the resulting directory separate from temporary container layers. If the container is replaced, only a host-mounted directory should hold the game files, configuration, and saves.

Most Linux operators should let the selected Docker image perform this step. RouHim’s image, for example, downloads the latest files into its persistent data/ directory on first start and may need a restart afterward. The exact internal path differs between images, so do not copy a path from one project into another without checking its README.

Create a persistent Docker Compose deployment

1. Make a project directory

Create a directory that will survive container replacement, then enter it. The jammsen example uses a host folder named game; the RouHim layout keeps configuration in config/ and downloaded server data in data/. Either layout is valid if every required path is mounted persistently.

mkdir -p ~/sons-of-the-forest-server/game
cd ~/sons-of-the-forest-server

Do not put saves only in the container’s writable layer. Removing or recreating a container can otherwise remove the world.

2. Use the image’s current Compose definition

Copy the current Compose example from the maintained image project rather than relying on an old snippet. At minimum, its service must expose the three server ports over UDP and mount the host data directory to the path expected by that image. The jammsen example maps ./game:/sonsoftheforest. RouHim separates config/ and data/, which makes configuration and downloaded files easier to back up independently.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #2
Renegade Game Studios Fox in the Forest Duet 2 Player Card Game
  • Cooperative Trick-Taking Mechanics: Win together by collecting gems through strategic card play and special character abilities that let teammates exchange cards and support each other throughout the game
  • Perfect Two-Player Game: Designed specifically for 2 players aged 10 and up with 30-minute gameplay, making it ideal for couples, parents with kids, or anyone seeking meaningful one-on-one connection
  • Portable Travel Card Game: Compact design fits easily in bags, backpacks, or carry-on luggage, bringing engaging entertainment to vacations, road trips, or gatherings without bulky components
  • Beautiful Hand-Illustrated Cards: Featuring stunning artwork inspired by forest themes with quality card stock that holds up to repeated play while looking attractive displayed or stored
  • Easy to Learn, Challenging to Master: Familiar trick-taking foundation makes it instantly approachable for newcomers while unique powers and strategic decision-making keep every game fresh and engaging

Check the image’s documented environment variables before starting. Some images perform an update and file validation every time the container boots; others expose a setting such as FAST_BOOT to skip that work. Faster startup saves time but can leave files unvalidated and should be used only when you understand the trade-off.

3. Start and observe the first boot

docker compose pull
docker compose up -d
docker compose logs -f

docker compose pull obtains the image used by the Compose file. docker compose up -d starts it in the background. Follow the logs during the first launch: SteamCMD may download or validate several gigabytes, and one image documents a restart after that initial download. Exit the log view with Ctrl+C; the container continues running.

Configure dedicatedserver.cfg

The configuration file is JSON, not an INI file. Edit the copy in the persistent directory identified by your image. A documented baseline looks like this:

{
  "IpAddress": "0.0.0.0",
  "GamePort": 8766,
  "QueryPort": 27016,
  "BlobSyncPort": 9700,
  "MaxPlayers": 8,
  "Password": "choose-a-strong-password",
  "SaveSlot": 1,
  "SaveMode": "Continue",
  "SaveInterval": 600
}

Keep valid JSON syntax: double quotes around keys and strings, commas between properties, and no trailing comma after the final property. The exact set of optional keys can vary with the server build, so preserve unknown keys supplied by the image or guide you are using.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Key Purpose and safe interpretation
IpAddress 0.0.0.0 listens on all available interfaces. Use a specific address only when you deliberately want to bind to one interface.
GamePort UDP gameplay traffic. The documented default is 8766.
QueryPort Steam listing and discovery traffic. The documented default is 27016.
BlobSyncPort Initializes game systems and exchanges data. The documented default is 9700.
MaxPlayers Accepts 1 through 8 in the documented guide. Set a value that fits your CPU and memory budget.
Password Requires players to enter a password. Set one before exposing a private server to the internet.
SaveMode Continue loads an existing save or creates one in the selected slot. new overwrites that slot when the server restarts while it remains selected.
SaveInterval Autosave interval in seconds. The documented default is 600; shortening it to 120 reduces the amount of progress that can be lost, at the cost of more frequent writes.

Name the server and grant administrator access

Set a server name and password in the configuration before inviting anyone. If you need administrator commands, add the relevant platform identifiers to ownerswhitelist.txt in the location specified by your image. The chemineer1 project identifies the server name, password, and owners whitelist as the minimum operational files to review.

Container-specific settings

RouHim forces SkipNetworkAccessibilityTest to true because it reports that the accessibility test does not work inside its container environment. Treat that as image-specific behavior, not a universal requirement. Do not add or remove the setting blindly; follow the image documentation and inspect the startup log for the effective configuration.

Rank #3
Trial of the Forest Board Game
  • EPIC FOREST ADVENTURE: Journey through the Ancient Forest as courageous animal heroes competing to become the next Guardian of the Green Valley in a story-driven strategy board game.
  • RICH STRATEGY & COMPONENTS: Explore a modular game board with 12 location tiles, gather resources, complete legendary deeds, encounter mysterious creatures, and use dozens of cards, tokens, and unique player boards to shape every adventure.
  • YOUR CHOICES SHAPE THE STORY: Every moral decision influences your reputation as a noble hero or cunning villain while affecting your path through the forest and your race for fame and victory.
  • HIGH REPLAYABILITY: Variable locations, encounters, expeditions, and strategic choices create a unique adventure every game, making it perfect for family game nights and tabletop gatherings.
  • FOR FANTASY & STRATEGY FANS: Designed for families, teens, and adults who enjoy adventure games, storytelling, exploration, resource management, and immersive fantasy board game experiences.

Open the required UDP ports

Internet players need all three UDP ports, not just the gameplay port:

UDP port Role Where to allow it
8766 Game traffic Docker port mapping, Linux firewall, and home router/NAT
27016 Steam query and discovery Docker port mapping, Linux firewall, and home router/NAT
9700 BlobSync initialization and data exchange Docker port mapping, Linux firewall, and home router/NAT

The Compose file must publish each port as UDP. A TCP-only rule will not make the server reachable. On a home network, forward each external UDP port to the Linux host’s fixed local address. Reserve that address in DHCP or configure a static address so the forwarding rule does not become stale. On a VPS, allow the ports in both the host firewall and the provider’s network security rules when applicable.

Test from outside your home network when possible. A test run from the same LAN can succeed even when the router does not support NAT loopback, so local success is not proof that internet players can connect.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Start, stop, update, and back up safely

Normal operation

  • Start in the background: docker compose up -d.
  • Watch live output: docker compose logs -f.
  • Stop gracefully: docker compose stop.
  • Stop and remove the Compose containers and network: docker compose down.

docker compose down does not delete bind-mounted host directories by itself. Do not add volume-deletion options unless you intentionally want to remove persistent data.

Updating an image-based installation

  1. Read the image’s release notes and migration instructions, especially if you installed before the jammsen project’s January 2025 breaking refactor.
  2. Make a backup of the complete mounted configuration and save directories while the server is stopped.
  3. Pull the new image: docker compose pull.
  4. Recreate the service: docker compose up -d.
  5. Follow the logs and verify that the expected save slot, player limit, ports, and server name are loaded.

If you are building an image from source, pull the repository changes, rebuild without cache when the project requests it, and then start the stack again. A fresh directory is safer after a breaking refactor; migrate only the saved data and configuration files that the new README explicitly supports.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Backups and save preservation

Back up the mounted directory, not merely the container. Include dedicatedserver.cfg, ownerswhitelist.txt, and the save data. Keep at least one backup away from the host so disk failure or an accidental deletion cannot destroy every copy. Before changing SaveMode, confirm which slot is selected and copy that slot first. Deleting RouHim’s data/ directory resets the game-server state; that is a deliberate world reset, not a troubleshooting step.

Rank #4
Devir - Savernake Forest Board Game, Family Strategy Tile Placement Game with Animals & Food Collection for Kids and Adults, Ages 10+, 2–4 Players, 30 Playtime, Multi-Language
  • 🌳 BUILD YOUR OWN FOREST HABITAT Create your personal forest by placing paths and animals, designing a 4x4 grid where wildlife gathers food to prepare for winter.
  • 🦊 MATCH ANIMALS WITH THEIR FAVORITE FOOD Each animal has unique preferences—help foxes, owls, rabbits, and more collect the right food to maximize your score.
  • 🧩 STRATEGIC TILE PLACEMENT & DECISIONS Choose cards from the central market and place them carefully, following placement rules while optimizing paths and animal combinations.
  • 🎯 TARGET AUDIENCE Perfect for families, casual gamers, and nature lovers looking for a charming and strategic game that is easy to learn but offers meaningful decisions.
  • 📦 GAME DETAILS & SPECIFICATIONS Players: 2–4, Recommended Age: 10+, Playtime: 30 minutes, Learning Time: 15 minutes, Teaching Time: 15 minutes, Multilanguage ( Spanish, Portuguese/Brazilian, Italian, English, Catalan )

Troubleshooting by symptom

The container exits or the server never appears

  • Run docker compose logs -f and look for a failed download, invalid JSON, a missing mounted path, or a port-binding error.
  • Confirm that no other process is already using UDP 8766, 27016, or 9700.
  • Check that all three ports are published as UDP and allowed by both firewall and router.
  • Verify that the image is current and that its documented directory structure matches your mounts.

Players on the internet cannot connect

  • Confirm the Linux host has the expected private address and that router forwarding points to it.
  • Check the VPS provider’s external firewall or security group in addition to the Linux firewall.
  • Test from a different network to avoid false results caused by missing NAT loopback.
  • Ensure the server is listening on 0.0.0.0 unless you intentionally bound it to another interface.

The world reverted or saves disappeared

  • Stop the stack and inspect the host-mounted path. A changed mount path can make a new empty directory look like a lost world.
  • Confirm that SaveMode is Continue, not new.
  • Check file ownership and write permissions for the container process.
  • Restore the last known-good backup only after preserving the current directory for diagnosis.

A Wine assertion error appears

The chemineer1 project reports an occasional Wine assertion error and suggests stopping or bringing down the Compose stack, then starting it again. Apply that project-specific recovery first:

docker compose down
docker compose up -d
docker compose logs -f

If the error returns, record the image tag, host distribution, and relevant log lines before changing files. Do not delete the persistent data directory as a first response.

Startup takes too long after every reboot

Some images validate files on each boot. RouHim documents FAST_BOOT as an option to skip that behavior. Faster startup reduces validation time but also removes a safety check, so leave validation enabled unless you have a reason to accept the risk and have a recent backup.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

When managed hosting is the better choice

A managed provider can remove the Linux administration work: operating-system patching, Docker recovery, routine updates, public networking, and often scheduled backups. It is worth considering when the server must be online continuously, your router cannot forward ports, or no player wants to own incident response. Compare providers on current Sons of the Forest support, maximum player setting, save-download access, backup retention, update controls, and the ability to export your files. Pricing changes frequently, so verify the current recurring fee directly before committing.

Self-hosting remains attractive when you already have a Linux machine or VPS, want full access to dedicatedserver.cfg, and are comfortable maintaining backups and firewall rules. Mounted directories also make it easier to move a world between compatible container versions: stop the old stack, copy the persistent data, recreate the new stack with the same paths, and verify the configuration before allowing players back in.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

DockerGame ServerLinux serverself-hostingSons of the ForestSteamCMD

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Recommended PC Tool
Recommended PC Tool
Crashes, No Sound, or Screen Glitches?Free driver scan
Windows Errors? Fix Them Before They SpreadFree repair scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.