Migrating a Sons of the Forest Co-op Save to a Dedicated Server
Many groups start their Sons of the Forest experience in peer-to-peer co-op via Steam's existing session system, then later decide they want a 24/7 persistent dedicated server so the world stays accessible even when the original host is offline. The good news: your existing save and all its world objects, base structures, and companion states can be transferred with a few carefully copied files.
π What Gets Transferred
World objects (structures, storage items, felled trees), Kelvin & Virginia companion states, story progression flags, and world-seed-based terrain are all portable.
β οΈ What Doesn't Transfer
Individual player inventories are stored per-SteamID on the client side. Players will keep their own inventory since SOTF stores this locallyβnot on the server.
Step 1: Locate the Source Co-op Save
The host player's save files are stored locally. Locate them on the original host machine:
Windows:
C:\Users\[YourUsername]\AppData\LocalLow\Endnight\SonsOfTheForest\Saves\[SteamID]\Multiplayer\[SlotNumber]\
Linux (Steam / Proton):
~/.steam/steam/userdata/[SteamID]/1326470/remote/Saves/Multiplayer/[SlotNumber]/
The slot folder will contain files like:
[SlotNumber]/
βββ WorldObjectLocatorManager.saved
βββ GameState.saved
βββ WeatherSystem.saved
βββ Companions/
β βββ Kelvin.saved
β βββ Virginia.saved
βββ PlayerInventories/
βββ [SteamID].saved
Step 2: Identify the Correct Save Slot
If you have multiple save slots, confirm which slot corresponds to your co-op world by checking the most recent modification date:
# Linux:
ls -lt ~/.steam/steam/userdata/[SteamID]/1326470/remote/Saves/Multiplayer/
# Windows (PowerShell):
Get-ChildItem "$env:APPDATA\..\LocalLow\Endnight\SonsOfTheForest\Saves\[SteamID]\Multiplayer\" |
Sort-Object LastWriteTime -Descending
Step 3: Copy the Save to Your Dedicated Server
On your dedicated server, saves are stored in a slightly different path:
# Linux server path:
/home/steam/.config/unity3d/Endnight/SonsOfTheForest/Saves/Multiplayer/
# Windows server path:
C:\Users\[ServerUser]\AppData\LocalLow\Endnight\SonsOfTheForest\Saves\Multiplayer\
Create a new slot folder (e.g., 0) on the server and copy over your save files:
# Example using rsync (Linux β Linux server):
rsync -avz /path/to/local/Multiplayer/0/ \
steam@yourserver.com:/home/steam/.config/unity3d/Endnight/SonsOfTheForest/Saves/Multiplayer/0/
Step 4: Configure the Server to Use the Migrated Save Slot
In your dedicatedserver.cfg, set the SaveSlot to match the slot number you just copied:
{
"Difficulty": "Normal",
"SaveSlot": "Multiplayer",
"SaveIndex": 0,
"IsPublic": false,
"GamePort": 27016,
"QueryPort": 27017,
"LanServerPort": 8766
}
Step 5: Test the Migration
- Start the dedicated server and check the console log for:
[SaveManager] Loaded save slot: Multiplayer/0 - Connect as a client and verify base structures, trees, and placed items appear correctly
- Check Kelvin and Virginia are present and behaving normally
- Walk through key story locations to confirm gates and bunker states are preserved
Troubleshooting
- World loads but is empty: The server loaded the wrong slot β double-check
SaveIndexin your config - Kelvin or Virginia missing: Copy the
Companions/subfolder explicitly β it is sometimes missed during bulk file transfers - Story flags reset (doors locked again): The
GameState.savedfile controls story progression β verify it was included in your transfer - Permission errors on Linux: Ensure the
steamuser owns all copied files:chown -R steam:steam /home/steam/.config/unity3d/
Important: After migrating, the world is now server-authoritative. The original host's local copy and the server copy are now separate. Any changes on the server will NOT sync back to the original local save β treat the server version as the canonical world going forward.
Professional Hosting
Our team can assist with save migrations for your community. Host your Sons of the Forest server with Supercraft and upload your existing save via our file manager on day one.