Docker container to easily provision and manage Sons of the Forest Dedicated Server with Wine https://hub.docker.com/r/jammsen/sons-of-the-forest-dedicated-server
  • Shell 80.1%
  • Dockerfile 19.9%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Sebastian Schmidt c866bef40f
Merge pull request #85 from jammsen/master
Merge pull request #84 from jammsen/develop
2026-07-04 17:08:55 +02:00
.github fix: wrong pipelinetrigger 2026-07-04 16:52:56 +02:00
configs #78 implemented fixes to startup and cleaner logs 2025-07-25 22:20:28 +02:00
includes fix: maintenance release, fixes #82, fixes #83 2026-07-04 15:59:05 +02:00
scripts fix: maintenance release, fixes #82, fixes #83 2026-07-04 15:59:05 +02:00
.dockerignore fix: maintenance release, fixes #82, fixes #83 2026-07-04 15:59:05 +02:00
.gitignore fix: maintenance release, fixes #82, fixes #83 2026-07-04 15:59:05 +02:00
CHANGELOG.md fix: maintenance release, fixes #82, fixes #83 2026-07-04 15:59:05 +02:00
compose.yml fix: maintenance release, fixes #82, fixes #83 2026-07-04 15:59:05 +02:00
docker-build.sh changed default chmod 2025-01-04 16:27:01 +01:00
docker-exec.sh added, changelog, unit-tests, updated readme and some features and fixed #69 Healtcheck 2025-01-26 23:16:22 +01:00
docker-run-bash.sh Shell linting fixes 2025-01-04 18:06:54 +01:00
docker-run-local-testing.sh #78 implemented fixes to startup and cleaner logs 2025-07-25 22:20:28 +02:00
docker-run-minimal.sh #78 implemented fixes to startup and cleaner logs 2025-07-25 22:20:28 +02:00
Dockerfile fix: maintenance release, fixes #82, fixes #83 2026-07-04 15:59:05 +02:00
entrypoint.sh refactoring more things 2025-01-04 17:55:33 +01:00
README.md fix: maintenance release, fixes #82, fixes #83 2026-07-04 15:59:05 +02:00

Docker - Sons of the Forest Dedicated Server

Build-Status master Docker Pulls Docker Stars Image Size Discord

Tip

Do you want to chat with the community?

Join us on Discord

Warning

Update Jan-2025: This Docker-Image had a major refactoring including breaking changes in downwards-compability. This was done for removing dependency of "root" in the image, which caused various SteamCMD, NAS, QNAP, Synology and Portainer problems. Also the Docker-Base-Image was switched and there was better process-handling added to make sure the process exits cleanly, no matter how Docker or the User stops the server.

It is recommended to do a fresh install, via the new readme in a fresh directory to understand what changed and work backwards to adapt the changes, or migrate the savegame from the old server to the new one, up to you. If you need help, feel free to join the Discord server and ask in the right channel for the game.

Note

If you are looking for the TheForest version, please look here: https://github.com/jammsen/docker-the-forest-dedicated-server

This repository includes a Sons of the Forest Dedicated Server based on Docker with Wine and an example config.


Table of Contents

How to ask for support for this Docker image

If you need support for this Docker image:

  • Feel free to create a new issue.
    • You can reference other issues if you're experiencing a similar problem via #issue-number.
  • Follow the instructions and answer the questions of people who are willing to help you.
  • Once your issue is resolved, please close it and please consider giving this repo and the Docker-Hub repository a star.
  • Please note that any issue that has been inactive for a week will be closed due to inactivity.

Please avoid:

  • Reusing or necroing issues. This can lead to spam and may harass participants who didn't agree to be part of your new problem.
  • If this happens, we reserve the right to lock the issue or delete the comments, you have been warned!

Requirements

To run this Docker image, you need a basic understanding of Docker, Docker-Compose, Linux, and Networking (Port-Forwarding/NAT).

Minimum system requirements

Resource Minimum (2-4 Players) Recommended (4 Players)
CPU 2-4 CPU-Cores @ Mid GHz 4+ CPU Cores @ High GHz
RAM 8GB+ RAM 16GB+ RAM
Storage 12GB+ 20GB+ (SSD prefered)

Changelog

You can find the changelog here

Wiki

Tip

Currently out-dated, because of Major refactoring, with breaking changes!

We have very detailed instruction in our Wiki page.

Getting started

If you already hosted some containers, just follow these steps:

  1. Go to the directory you want to host your gameserver on your Dockernode
  2. Create a sub-directory called game
  3. Download the compose.yml or use the following example
  4. Review the file and setup the settings you like
  5. Setup Port-Forwarding or NAT for the ports in the Docker-Compose file
  6. Start the container via Docker Compose
  7. (Tip: Extended config settings, which are not covered by Docker Compose, can be setup in the config-file of the server - You can find it at game/userdata/dedicatedserver.cfg)

Docker-Compose - Example

services:
  sons-of-the-forest-dedicated-server:
    container_name: sons-of-the-forest-dedicated-server
    image: jammsen/sons-of-the-forest-dedicated-server:latest
    restart: always
    environment:
      PUID: 1000
      PGID: 1000
      ALWAYS_UPDATE_ON_START: true
      SKIP_NETWORK_ACCESSIBILITY_TEST: true
      FILTER_SHADER_AND_MESH_AND_WINE_DEBUG: true
    ports:
      - 8766:8766/udp
      - 27016:27016/udp
      - 9700:9700/udp
    volumes:
      - ./game:/sonsoftheforest

Note: The FILTER_SHADER_AND_MESH_AND_WINE_DEBUG environment variable (default: true) controls whether Wine debug-logs and shader-related warning messages are filtered from the container logs. When set to true, it removes the following messages keeping your logs cleaner. Set to false if you want to see all shader warnings.

  • Shader XYZ shader is not supported on this GPU
  • WARNING: Shader Unsupported: 'XYZ' - All subshaders removed
  • WARNING: Shader Did you use XYZ and omit this platform?
  • WARNING: Shader If subshaders removal was intentional, you may have forgotten turning Fallback off?
  • No mesh data available for mesh XYZ
  • Couldn't create a Convex Mesh from source mesh XYZ
  • 0060:fixme:mountmgr:harddisk_ioctl The DISK_PARTITION_INFO and DISK_DETECTION_INFO structures will not be filled
  • 0240:fixme:wbemprox:enum_class_object_Next timeout not supported
  • 0060:fixme:mountmgr:query_property Faking StorageDeviceProperty data
  • 013c:fixme:ntdll:EtwEventSetInformation (deadbeef, 2, 00006FFFF011313C, 31) stub
  • 0250:fixme:kernelbase:AppPolicyGetThreadInitializationType FFFFFFFFFFFFFFFA, 00007307F05EFF50
  • 013c:fixme:system:NtUserGetDisplayConfigBufferSizes only returning active paths
  • 013c:fixme:system:NtUserQueryDisplayConfig only returning active paths
  • 013c:fixme:system:NtUserQueryDisplayConfig setting toplogyid to DISPLAYCONFIG_TOPOLOGY_INTERNAL
  • 023c:fixme:cryptnet:check_ocsp_response_info check responder id

Planned features in the future

  • Feel free to suggest features in the issues

Software used

  • Debian Trixie and SteamCMD via cm2network/steamcmd:root image as base-image
  • gosu
  • procps
  • winbind
  • wine
  • xvfb
  • SonsOfTheForest Dedicated Server (APP-ID: 2465200)