Sons of the Forest Dedicated Server Settings Explained (2026)

Published on

Every key in the Sons of the Forest dedicatedserver.cfg explained: defaults, allowed values, the SaveMode trap, GameSettings, all custom game mode options, command line overrides and three ready-made example configs.

Space-Node VPS plans for running your own game server

A Sons of the Forest dedicated server takes all its settings from one file, dedicatedserver.cfg. It is plain JSON, and most of it you never need to touch. A few keys decide whether your world survives the next restart, though, so it pays to know what each one does.

Everything below comes from Endnight's official dedicated server guide on Steam (last updated 15 January 2025). Where the guide says nothing, we say so.

Where the file is

The server creates dedicatedserver.cfg on its first start, in the user data folder:

  • Windows: C:\Users\<user>\AppData\LocalLow\Endnight\SonsOfTheForestDS, or the folder you set with -userdatapath.
  • jammsen Docker image: game/userdata/dedicatedserver.cfg.
  • Pelican or Pterodactyl egg: serverconfig/dedicatedserver.cfg. The egg also passes several settings as start arguments, and those win over the file (more on that below).

The same folder holds ownerswhitelist.txt, the Saves folder and SonsGameSettings.cfg. You only need to edit the first two files.

The default file

This is the file the server writes when none exists:

{
  "IpAddress": "0.0.0.0",
  "GamePort": 8766,
  "QueryPort": 27016,
  "BlobSyncPort": 9700,
  "ServerName": "Sons Of The Forest Server (dedicated)",
  "MaxPlayers": 8,
  "Password": "",
  "LanOnly": false,
  "SaveSlot": 1,
  "SaveMode": "Continue",
  "GameMode": "Normal",
  "SaveInterval": 600,
  "IdleDayCycleSpeed": 0.0,
  "IdleTargetFramerate": 5,
  "ActiveTargetFramerate": 60,
  "LogFilesEnabled": false,
  "TimestampLogFilenames": true,
  "TimestampLogEntries": true,
  "SkipNetworkAccessibilityTest": false,
  "GameSettings": {},
  "CustomGameModeSettings": {}
}

No setting is required. A missing key gets its default value, and the order does not matter.

Network settings

KeyDefaultWhat it does
IpAddress0.0.0.0The interface the server listens on. Leave it on 0.0.0.0 to listen on all of them
GamePort8766UDP port for the game itself
QueryPort27016UDP port Steam uses to list the server
BlobSyncPort9700UDP port for the BlobSync system that sets up and exchanges game data
LanOnlyfalsetrue hides the server from the internet list and shows it on LAN only
SkipNetworkAccessibilityTestfalseSkips the public IP and port check at start. Endnight calls it an expert option

If you change a port, change it in your firewall and any port forwarding too. Endnight only officially supports IPv4.

Server and player settings

KeyDefaultAllowed values
ServerNameSons Of The Forest Server (dedicated)Any text. Shown in the server list and in Steam
MaxPlayers81 to 8
PasswordemptyUp to 40 characters. Empty means anyone can join

Save settings, and the one trap

KeyDefaultAllowed values
SaveSlot11 or higher. The id of the save
SaveModeContinuecontinue or new
SaveInterval600Seconds between autosaves

SaveMode is the setting that costs groups their island:

  • continue loads the save on SaveSlot, or creates a new one there if the slot is empty. This is what you want almost always.
  • new creates a new game on SaveSlot and overwrites whatever was saved there. It does that again on every restart for as long as the setting stays on new.

So if you want a fresh world, the safe way is to pick an empty SaveSlot and leave SaveMode on continue. If you do use new, set it back to continue before the next restart. The server stores slot 1 in a folder called 0000000001 under Saves/DedicatedServer/Multiplayer/; our guide on moving a save to a dedicated server explains how to use that.

Game mode

GameMode sets the difficulty when a new save is created: normal, hard, hardsurvival, peaceful, creative or custom.

It is ignored when the server loads an existing save. Changing GameMode from normal to hard on a running world does nothing; the save keeps the mode it was made with. With custom, the server reads the options under CustomGameModeSettings (below).

The default file writes Continue and Normal with a capital, while the guide lists the allowed values in lower case. The server writes the capitalised form itself, so both work.

Idle and performance settings

KeyDefaultWhat it does
IdleDayCycleSpeed0.0How fast time passes while nobody is online, from 0 to 1. At 0 the island stands still
IdleTargetFramerate5Server framerate while empty, 1 or higher
ActiveTargetFramerate60Server framerate with players online, 10 or higher

The low idle framerate keeps an empty server cheap to run. There is little reason to change these, unless you want the seasons to move on while nobody plays; then set IdleDayCycleSpeed to something like 0.5.

Log settings

KeyDefaultWhat it does
LogFilesEnabledfalseWrites the log to files in <user data folder>/logs
TimestampLogFilenamestrueA new file per start, named sotf_log_<date_time>.txt. With false it overwrites sotf_log.txt
TimestampLogEntriestrueA timestamp in front of every line

Turn LogFilesEnabled on when you troubleshoot, so you can read back why the self-test failed. For more detail, start the server with -verboseLogging. Endnight advises using it only while you have a problem, because it makes the logs much bigger.

GameSettings: works in every mode

GameSettings holds two options that apply in any game mode, also on an existing save:

"GameSettings": {
  "Gameplay.TreeRegrowth": true,
  "Structure.Damage": true
}
  • Gameplay.TreeRegrowth: trees grow back when players sleep.
  • Structure.Damage: buildings can be damaged. Set it to false for a relaxed building server.

CustomGameModeSettings: only for a new custom world

These options are only read when GameMode is custom and the server creates a new save. On an existing save they are ignored, whatever the mode. They are set once, when the world is created.

KeyAllowed valuesEffect
GameSetting.Multiplayer.Cheatstrue, falseAllows cheats
GameSetting.Vail.EnemySpawntrue, falseEnemies spawn
GameSetting.Vail.EnemyHealthlow, normal, highEnemy starting health
GameSetting.Vail.EnemyDamagelow, normal, highDamage enemies do
GameSetting.Vail.EnemyArmourlow, normal, highEnemy armour
GameSetting.Vail.EnemyAggressionlow, normal, highEnemy aggression
GameSetting.Vail.AnimalSpawnRatelow, normal, highAnimal spawn rate
GameSetting.Vail.EnemySearchPartieslow, normal, highHow often search parties come
GameSetting.Environment.StartingSeasonspring, summer, autumn, winterSeason at the start
GameSetting.Environment.SeasonLengthshort, default, long, realisticSeason length
GameSetting.Environment.DayLengthshort, default, long, realisticDay length
GameSetting.Environment.PrecipitationFrequencylow, default, highHow often it rains or snows
GameSetting.Survival.ConsumableEffectsnormal, hardDamage from low hydration and fullness
GameSetting.Survival.PlayerStatsDamageoff, normal, hardDamage from bad or rotten food and drink
GameSetting.Survival.ColdPenaltiesoff, normal, hardHow hard cold hits health and stamina
GameSetting.Survival.StatRegenerationPenaltyoff, normal, hardSlower health and stamina regeneration
GameSetting.Survival.ReducedFoodInContainerstrue, falseLess food in containers
GameSetting.Survival.SingleUseContainerstrue, falseContainers open only once
GameSetting.Survival.BuildingResistancelow, normal, highHow well buildings resist attacks
GameSetting.Survival.CreativeModetrue, falseCreative mode
GameSetting.Survival.PlayersImmortalModetrue, falseGod mode for all players
GameSetting.FreeForm.ForcePlaceFullLoadtrue, falsePlace everything in your hands (stones, floors) in one click
GameSetting.Construction.NoCuttingsSpawntrue, falseNo cuttings spawn
GameSetting.Survival.OneHitToCutTreestrue, falseTrees fall in one hit

Endnight's example file also contains GameSetting.Multiplayer.PvpDamage with the value Normal, but the guide does not list its other values, so leave it out unless you know what you want.

Command line arguments beat the file

Every key can also be set as a start argument, in the form -dedicatedserver.<key> "<value>":

SonsOfTheForestDS.exe -dedicatedserver.ServerName "Our Island" -dedicatedserver.MaxPlayers "4"

That matters on the Pelican egg. Its start command passes the ports, MaxPlayers, Password, GameMode, SkipNetworkAccessibilityTest and SaveSlot as arguments, filled from the Startup tab. Change those in the panel, not in the file, because the start argument wins over the file. The egg's defaults are four players and the password changeme.

Five JSON mistakes that stop the server

The self-test refuses a config it cannot read, so a typo means no server. Check for:

  1. A missing comma between two settings.
  2. A comma after the last setting before a closing }.
  3. Keys without quotation marks. Every key needs them: "MaxPlayers".
  4. Text values without quotation marks: "Password": "pinecone".
  5. Numbers and true or false in quotation marks. Write "MaxPlayers": 4, not "4".

The console names the setting that broke the test, so read it before you change anything else.

Three example configs

A private server for four friends. The keys you change from the default:

"ServerName": "Pinecone Island",
"MaxPlayers": 4,
"Password": "choose-your-own",
"SaveSlot": 1,
"SaveMode": "continue",
"GameMode": "normal"

A peaceful building server. No enemies, no damage to bases:

"GameMode": "peaceful",
"SaveSlot": 2,
"SaveMode": "continue",
"GameSettings": {
  "Gameplay.TreeRegrowth": true,
  "Structure.Damage": false
}

A hard winter start on a fresh slot. Custom mode, read once when the world is created:

"GameMode": "custom",
"SaveSlot": 3,
"SaveMode": "continue",
"CustomGameModeSettings": {
  "GameSetting.Environment.StartingSeason": "winter",
  "GameSetting.Survival.ColdPenalties": "hard",
  "GameSetting.Vail.EnemyAggression": "high",
  "GameSetting.Survival.SingleUseContainers": true
}

Because slot 3 is empty, continue creates the new world there, and the next restart loads it instead of wiping it.

Server owners

ownerswhitelist.txt holds the SteamID64 of every server owner, one per line. Lines that start with # are comments. Owners get the in-game admin panel (Pause Menu, then Players) to make others admin, kick and ban. For the full setup, see the Sons of the Forest server guide.

FAQ

Where is dedicatedserver.cfg?

In the server's user data folder. On Windows that is C:\Users\<user>\AppData\LocalLow\Endnight\SonsOfTheForestDS unless you set -userdatapath. The server creates the file on its first start.

Why does my server make a new world every restart?

SaveMode is on new. That setting overwrites the save on SaveSlot on every start. Set it to continue.

Can I change the difficulty of an existing world?

Not with GameMode. The server ignores GameMode and CustomGameModeSettings when it loads an existing save. Only the two GameSettings options (tree regrowth and structure damage) still apply.

How do I make the server private?

Set a Password of up to 40 characters. Players have to enter it before they can join. LanOnly is something else: it hides the server from the internet list altogether.

My changes to dedicatedserver.cfg do not stick. Why?

A start argument overrides the file. Panels such as the Pelican egg pass several settings as arguments from the Startup tab, so change them there.