Skip to content

Sons Of The Forest

Sons of the Forest is a horror survival game and sequel to The Forest by Endnight Games, Ltd.. Sent to find a missing billionaire on a remote island, you find yourself in a cannibal-infested hellscape. Craft, build, and struggle to survive, alone or with friends.

egg-sons-of-the-forest.json

updated

Ports

Add an allocation on the node for each port.

  • Game 8766
  • Query 27016
  • BlobSyncPort 9700

Install

Installer image
ghcr.io/ptero-eggs/installers:debian
Steam app
2465200
Steam login
not required
Install script
93 lines

Image

  • Wine ghcr.io/ptero-eggs/yolks:wine_latest

Panel features

  • steam_disk_space

    The Panel tells the user when SteamCMD does not have enough disk space.

Startup

The Panel runs this command to start the server. It replaces each variable in the command with the value of that variable.

15 variables

Startup command

wine ./SonsOfTheForestDS.exe -userdatapath "/home/container/serverconfig" -dedicatedserver.IpAddress "0.0.0.0" -dedicatedserver.GamePort "8766" -dedicatedserver.QueryPort "27016" -dedicatedserver.BlobSyncPort "9700" -dedicatedserver.MaxPlayers "4" -dedicatedserver.Password "changeme" -dedicatedserver.GameMode "normal" -dedicatedserver.SkipNetworkAccessibilityTest "false" -dedicatedserver.SaveSlot "0000000001" -dedicatedserver.LogFilesEnabled "true" -dedicatedserver.TimestampLogFilenames "true"

Dotted values come from the server settings. These values are examples.

  • UDP port used by Steam to list the server and enable the discovery services.

    QUERY_PORTUsers can see

    required|integer|between:1024,65536

  • BlobSyncPort UDP port used by the BlobSync system to initialize game systems and exchange data.

    BLOBSYNC_PORTUsers can see

    required|integer|between:1024,65536

  • Name of the server visible in the server list, and in the Steam contacts.

    SRV_NAMEUsers can edit

    required|string|max:60

  • The maximum number of players allowed simultaneously on the server.

    MAX_PLAYERSUsers can edit

    required|integer|between:1,8

  • SRV_PWUsers can edit

    nullable|string

  • Sets the difficulty game mode when creating a new save. This parameter is ignored if loading a save (save mode set to “continue” with a save that exists on the slot). If the game mode is set to “custom”, then the custom game mode settings will be read from CustomGameModeSettings option, described later.

    GAME_MODEUsers can edit

    string|in:normal,hard,hardsurvival,peaceful,custom

  • AUTO_UPDATEUsers can edit

    required|boolean

  • SRCDS_APPIDUsers cannot see

    required|string|max:20

  • WINEDEBUGUsers cannot see

    required|string|max:20

  • WINEARCHUsers cannot see

    required|string|max:20

  • WINEPATHUsers cannot see

    required|string|max:20

  • WINETRICKS_RUNUsers cannot see

    required|string

  • WINDOWS_INSTALLUsers cannot see

    required|string|in:1

  • if you have problems to connect to your server, set this to TRUE

    SKIP_TESTSUsers can edit

    required|string|in:true,false

  • If you uploaded an existing save from your PC you can enter the save slot number here.

    SAVE_SLOTUsers can edit

    required|numeric|max:30

Wings

Stop command
^^C
Running when the console shows
#DSL Dedicated server loaded.

Files Wings edits

Wings sets these values in these files before each start.

serverconfig/dedicatedserver.cfg json

ServerName
{{server.build.env.SRV_NAME}}
SaveSlot
{{server.build.env.SAVE_SLOT}}

Readme

Sons of the Forest

Game Description

Sons of the Forest is a horror survival game and sequel to The Forest by Endnight Games, Ltd.. Sent to find a missing billionaire on a remote island, you find yourself in a cannibal-infested hellscape. Craft, build, and struggle to survive, alone or with friends.

Useful links

Steam: https://store.steampowered.com/app/1326470/Sons_Of_The_Forest/

Author & Contributers

Name Github Profile Buy me a Coffee
gOOvER https://github.com/gOOvER ko-fi

Server Ports

Sons of the Forest requires up to 3 ports. You can choose every port you want.

Port default
Game 8766
Query 27016
BlobSyncPort 9700

Special Note

you need a minimum of 8GB RAM for the Server to run

Changes

  1. Validate and update embedded URLs

    · Daniel Barton · bf9f3cb

  2. SteamCMD + Other fixes

    · yesBad · edbf925

  3. Add steamcmd based eggs

    · Daniel Barton · 60ef9fb

All changes on GitHub

Problem with this egg?

Open an issue on GitHub. Include your Panel and Wings versions.

Install script 93 lines bash in ghcr.io/ptero-eggs/installers:debian Show
#!/bin/bash
# steamcmd Base Installation Script
#
clear
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m'

echo -e "${BLUE}-------------------------------------------------${NC}"
echo -e "${YELLOW}Sons of the Forest Installscript${NC}"
echo -e "${BLUE}-------------------------------------------------${NC}"

echo -e "${BLUE}-------------------------------------------------${NC}"
echo -e "${YELLOW}download and install steamcmd. please wait...${NC}"
echo -e "${BLUE}-------------------------------------------------${NC}"

## just in case someone removed the defaults.
if [[ "${STEAM_USER}" == "" ]] || [[ "${STEAM_PASS}" == "" ]]; then
    echo -e "steam user is not set.\n"
    echo -e "Using anonymous user.\n"
    STEAM_USER=anonymous
    STEAM_PASS=""
    STEAM_AUTH=""
else
    echo -e "user set to ${STEAM_USER}"
fi

## download and install steamcmd
cd /tmp
mkdir -p /mnt/server/steamcmd
curl -sSL -o steamcmd.tar.gz https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -xzvf steamcmd.tar.gz -C /mnt/server/steamcmd
mkdir -p /mnt/server/steamapps # Fix steamcmd disk write error when this folder is missing
cd /mnt/server/steamcmd

# SteamCMD fails otherwise for some reason, even running as root.
# This is changed at the end of the install process anyways.
chown -R root:root /mnt
export HOME=/mnt/server
echo -e "${GREEN}..done..${NC}"

## install game using steamcmd
echo -e "${BLUE}-------------------------------------------------${NC}"
echo -e "${YELLOW}install game using steamcmd. please wait...${NC}"
echo -e "${BLUE}-------------------------------------------------${NC}"
./steamcmd.sh +force_install_dir /mnt/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ "${WINDOWS_INSTALL}" == "1" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s "-beta ${SRCDS_BETAID}" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s "-betapassword ${SRCDS_BETAPASS}" ) ${INSTALL_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6
echo -e "${GREEN}..done..${NC}"

## set up 32 bit libraries
mkdir -p /mnt/server/.steam/sdk32
cp -v linux32/steamclient.so ../.steam/sdk32/steamclient.so

## set up 64 bit libraries
mkdir -p /mnt/server/.steam/sdk64
cp -v linux64/steamclient.so ../.steam/sdk64/steamclient.so

## add below your custom commands if needed

mkdir -p /mnt/server/serverconfig
FILE=$HOME/serverconfig/dedicatedserver.cfg
if [ -f "$FILE" ]; then
  echo -e "${BLUE}-------------------------------------------------${NC}"
  echo -e "${GREEN}dedicatedserver.cfg found.${NC}"
  echo -e "${BLUE}-------------------------------------------------${NC}"
else  
  echo -e "${BLUE}-------------------------------------------------${NC}"
  echo -e "${RED}No dedicatedserver.cfg found. Downloading default...${NC}"
  echo -e "${BLUE}-------------------------------------------------${NC}"
  cd $HOME/serverconfig/
  curl -sSL -o dedicatedserver.cfg https://raw.githubusercontent.com/ptero-eggs/game-eggs/main/sonsoftheforest/dedicatedserver.cfg
fi
echo -e "${GREEN}..done..${NC}"

FILE=$HOME/serverconfig/ownerswhitelist.txt
if [ -f "$FILE" ]; then
  echo -e "${BLUE}-------------------------------------------------${NC}"
  echo -e "${GREEN}ownerswhitelist.txt found.${NC}"
  echo -e "${BLUE}-------------------------------------------------${NC}"
else  
  echo -e "${BLUE}-------------------------------------------------${NC}"
  echo -e "${RED}No ownerswhitelist.txt found. Downloading default...${NC}"
  echo -e "${BLUE}-------------------------------------------------${NC}"
  cd $HOME/serverconfig/
  curl -sSL -o ownerswhitelist.txt https://raw.githubusercontent.com/ptero-eggs/game-eggs/main/sonsoftheforest/ownerswhitelist.txt
fi
echo -e "${GREEN}..done..${NC}"

## install end
echo -e "${BLUE}-------------------------------------------------${NC}"
echo -e "${GREEN}Installation completed...${NC}"
echo -e "${BLUE}-------------------------------------------------${NC}"