VGKAMI
Advertise Get listed

Game Guides

Sons of the Forest Server Settings Explained: The Best Config for Your Group

October 26, 2026 10 min read

The best Sons of the Forest dedicated-server setup for most private groups is a password-protected Normal world with MaxPlayers matching your actual party, SaveMode set to Continue, the documented 600-second save interval, and all three default UDP ports forwarded when players connect over the internet. Put those values in the server’s dedicatedserver.cfg, restart the server, and treat difficulty, enemy, season, and survival rules as new-world decisions rather than ordinary live-server switches.

This guide explains where the file lives, which options are safe to change, how Custom mode is organized, why edits are sometimes ignored, and how to protect an established save before experimenting.

Where is dedicatedserver.cfg and what does it control?

dedicatedserver.cfg is a JSON file in the dedicated server’s persistent user-data directory. On Windows, the documented default is C:Users<user>AppDataLocalLowEndnightSonsOfTheForestDS. If the server starts with -userdatapath, use that alternate directory instead; editing a file in the default path will then have no effect.

The file controls identity, access, capacity, networking, save behavior, idle behavior, logging, and documented gameplay switches. A complete default also contains IpAddress, GamePort, QueryPort, BlobSyncPort, idle and active frame targets, logging flags, and SkipNetworkAccessibilityTest. The documented network-port defaults are UDP 8766 for game traffic, UDP 27016 for queries, and UDP 9700 for blob synchronization.

What the documented defaults mean

Setting Documented default or range Purpose
MaxPlayers 8 (documented range 1–8) Maximum simultaneous players.
SaveSlot 1 The numbered world slot loaded by the server.
SaveMode Continue Continues the selected existing world instead of starting over.
GameMode Normal The preset used when a save is created.
SaveInterval 600 seconds How often the server writes an automatic save.
GamePort UDP 8766 Gameplay connection port.
QueryPort UDP 27016 Server-query port used by listings and tools.
BlobSyncPort UDP 9700 Blob-synchronization traffic.

Those values are defaults, not a requirement that every group use eight players or a 600-second interval. Capacity should reflect the people who will actually play, while the default save cadence is a sensible balance between recovery and disk writes.

What is the best starting configuration for a private group?

Use Normal mode unless everyone has agreed to a different experience. Give a private server a password, set MaxPlayers to the real party size, leave SaveSlot at 1 for a first world, keep SaveMode at Continue, and retain the 600-second save interval. Forward UDP 8766, 27016, and 9700 to the host for internet play; use LanOnly when every player is on the same closed local network.

A practical four-player baseline

{
  "ServerName": "Our Sons of the Forest Server",
  "MaxPlayers": 4,
  "Password": "choose-a-group-password",
  "LanOnly": false,
  "SaveSlot": 1,
  "SaveMode": "Continue",
  "GameMode": "Normal",
  "SaveInterval": 600,
  "GameSettings": {},
  "CustomGameModeSettings": {}
}

This is a focused baseline, not a replacement for every key in the distributed file. Preserve the other documented entries—such as the IP address, ports, frame targets, logging flags, and accessibility-test switch—when editing an existing configuration. Removing an entry can restore a program default or produce an invalid setup.

Which settings can I change without creating a new world?

Server identity, access, player count, ports, save selection, save mode, save interval, idle behavior, and documented GameSettings switches are read again after a restart. Stop the server, edit the JSON, and start it again before players connect.

Decision Main keys When it takes effect Practical guidance
Server access ServerName, Password, LanOnly Restart Password-protect private groups; choose LAN-only for a genuinely local network.
Capacity MaxPlayers Restart The documented range is 1–8; set it to the intended party size.
Persistence SaveSlot, SaveMode, SaveInterval Restart Keep Continue for an established world and back up the slot before changing it.
Networking IpAddress, GamePort, QueryPort, BlobSyncPort Restart Change ports only when your router, firewall, and launch parameters use the same values.
General gameplay switches GameSettings Restart Use only documented keys and valid JSON values.

Why do difficulty and Custom mode usually require a new save?

GameMode and CustomGameModeSettings are world-creation settings. The server copies them into a new save, so changing them while continuing an existing slot usually does not rewrite that world’s rules. Create a new save slot for a clean change, or make a separately backed-up, carefully edited save when you understand the risks.

Choosing a preset

Preset Best fit What to evaluate before choosing
Normal A first shared world or a mixed-experience group. Balanced enemy pressure, resource use, and survival demands.
Hard Players who want more punishment and stronger survival pressure. Whether everyone accepts tougher encounters and less forgiving mistakes.
Peaceful Exploration, building, and story without normal enemy pressure. Whether the group will miss combat-driven progression.
Creative Construction and experimentation as the primary activity. Whether unrestricted building changes the purpose of the shared save.
Custom A group with specific, agreed rules. Enemy, environment, food, cold, and building settings must be considered together.

The labels alone do not tell you whether a mode suits your party. Compare enemy presence and damage, season and day length, food and cold penalties, building resistance, and whether the group is willing to start a new world.

How do Custom mode settings change the survival experience?

Set GameMode to Custom, then populate CustomGameModeSettings. Custom mode exposes several axes rather than one difficulty slider; change them as a package because easing food or cold while increasing enemy damage can produce a very different experience than the individual labels suggest.

Enemies and animals

The Vail group includes EnemySpawn, EnemyHealth, EnemyDamage, EnemyArmour, and EnemyAggression. AnimalSpawnRate controls the animal side of the world. Decide first whether the party wants frequent combat, dangerous but sparse encounters, or a quieter exploration loop; then adjust health, damage, armour, and aggression consistently.

Seasons, daylight, and weather

Environment.StartingSeason determines the opening season, while SeasonLength, DayLength, and PrecipitationFrequency shape the calendar and weather. Longer seasons and longer days reduce the rate at which the group must prepare and travel. More realistic or frequent weather increases the survival commitment, particularly for players who are still learning the map.

Food, cold, and player penalties

The Survival group contains ConsumableEffects, PlayerStatsDamage, ColdPenalties, ReducedFoodInContainers, and SingleUseContainers. These determine how strongly eating, exposure, and container availability punish poor preparation. Change them together rather than making food scarce while leaving every other survival penalty at its mildest setting.

Building durability

BuildingResistance changes how forgiving construction is when the environment or enemies damage structures. Lower resistance can make a defensive base a recurring maintenance project; higher resistance keeps the focus on exploration. Agree on this before creating the save because it is part of the world-creation rules.

Multiplayer-specific rules

Custom mode also includes selected multiplayer rules. Review those options with the whole group, especially when one player hosts regularly and others join only occasionally. A rule that feels harmless to the host can change the workload or risk for everyone sharing the world.

How do I safely edit and apply the configuration?

Use this sequence whenever you change a server setting. It prevents a malformed JSON file or an accidental overwrite from destroying the only copy of a save.

  1. Stop the server cleanly. Do not edit while the process is writing configuration or save data.
  2. Back up the persistent data. Copy the complete user-data folder, or at minimum the selected save slot, to a separate location that the server cannot overwrite.
  3. Edit the correct file. Check the launch command for -userdatapath, then open dedicatedserver.cfg in that directory.
  4. Keep valid JSON. Quote keys and text values, leave booleans as true/false, keep numbers unquoted, and place commas between properties but not after the final property.
  5. Configure world creation deliberately. For Custom rules, set GameMode to Custom and fill CustomGameModeSettings. Do not expect those values to retrofit an existing slot.
  6. Start the server and read the console. Look for configuration or parsing errors before anyone joins.
  7. Verify persistence. Confirm the intended SaveSlot and SaveMode loaded, then test access with one player before opening the session to the whole group.
  8. Keep the backup until the result is proven. If the world behaves unexpectedly, stop the server and restore the saved copy rather than making repeated untracked edits.

The Steam Community dedicated-server configuration guide by Dishmink and a collaborator states that every parameter listed in the configuration file can be overridden with a command-line argument. That means a launch argument can silently win over the value you changed in JSON; inspect the startup command whenever the file appears correct but the running server disagrees.

Which ports and network settings does an internet server need?

Forward UDP 8766, 27016, and 9700 from the router to the dedicated-server computer when players connect over the internet. Use the same numbers in the configuration and any firewall rules. The game port carries play traffic, the query port supports discovery and status queries, and the blob-sync port handles synchronization data.

When should I use LanOnly?

Set LanOnly to true when every player is on the same private local network and you do not want the server exposed for internet connections. For remote friends, leave it false and configure router forwarding and host-firewall rules for all three UDP ports.

What if a port is already in use?

Choose an unused port only if you can update every dependent component: the server configuration, router forwarding, firewall rule, and the connection details players use. Changing one value in isolation commonly produces a server that starts locally but cannot be reached from outside.

How do I give another player server-owner administration?

Add the owner’s Steam ID to ownerswhitelist.txt, one ID per line, following the dedicated-server administration guide. Save the file, then restart or reload the server as required by your installation so the whitelist is read. Keep this file private: anyone with an authorized Steam ID can receive owner-level controls.

What should I check when my custom settings are ignored?

Work through these checks in order instead of changing several values at once:

  • JSON validity: A missing quote, comma, or brace can cause the server to reject the file or fall back to defaults.
  • Correct path: Confirm whether -userdatapath points somewhere other than the documented Windows directory.
  • Restart: Stop and start the server; editing a file while it is running does not make a live world reload every option.
  • Command-line precedence: A launch argument can override a file value, as documented by the Steam Community guide.
  • New-save scope: Enemy, season, environment, survival, and building values are copied when a world is created. Test them in a new slot.
  • Save selection: You may be joining a different SaveSlot than the one you edited.
  • Console output: Read startup messages for parse errors, rejected keys, or a different user-data directory.

If the old world is valuable, restore the backup before further experimentation. Repeated edits without a known-good copy make it difficult to tell whether the problem is configuration, save state, or a launch override.

Is managed hosting a better option than self-hosting?

Managed dedicated-server hosting is a reasonable fit when you do not want to configure port forwarding, keep a host PC running, or perform your own backups. Hosting control panels commonly expose save-slot selection, configuration editing, and backup workflows; some document enabling Custom mode before entering custom rules. Self-hosting gives you direct control over the files and launch arguments, while managed hosting trades some low-level control for simpler administration.

Priority Self-hosting Managed hosting
Initial setup You handle the user-data path, firewall, router, and process startup. The provider supplies a control panel and network endpoint.
Backups You copy the user-data folder or save slot yourself. Providers may expose scheduled or on-demand backups; verify retention before relying on them.
Configuration access Direct access to JSON and command-line arguments. Panel editor or file manager, with provider-specific limits.
Cost and availability Uses your own hardware, connection, and electricity. Recurring service cost and possible regional availability limits.

Whichever route you choose, keep an independent copy of important saves. A control panel is convenient, but it is not a substitute for a backup you can restore without the provider.

Frequently Asked Questions

Can I change Sons of the Forest difficulty on an existing server?

Preset and Custom difficulty values are copied into a save when that world is created. The reliable approach is a new save slot; editing an existing save is possible only as a separately backed-up, advanced procedure and is not the normal configuration workflow.

What is the maximum player count for a dedicated server?

The documented range for MaxPlayers is 1–8. Set the value to the group you actually expect, since a higher ceiling does not improve a small party’s experience.

Do all three Sons of the Forest server ports use UDP?

The documented defaults are UDP 8766, UDP 27016, and UDP 9700. Forward each required port to the same host and keep router and firewall rules synchronized with the values in the configuration.

Where should I keep a backup before changing server settings?

Copy the entire persistent user-data folder, or at least the active save slot, to a separate location that is not managed by the running server. Keep that copy until the server has restarted successfully and the intended world has been verified.