An Abiotic Factor dedicated server is a free SteamCMD download (app id 2857200) that is configured almost entirely through command-line arguments, with one extra file for the world rules. Six players fit comfortably on 4 GB of memory; a long-running world with a built-out base and a dozen people wants 8 GB or more. It needs two UDP ports, 7777 for the game and 27015 for the Steam query, and it will happily run for months if you stop it cleanly and back up one folder.
The thing to understand before you start is where settings live. There is no single server.cfg. Identity, ports, slots and passwords are launch arguments. World rules - difficulty, spawn rates, hunger speed, death penalties - are in SandboxSettings.ini. Moderators are in Admin.ini. Change the wrong one and nothing happens, which is most of the support traffic around this game.
What the Abiotic Factor dedicated server is#
Abiotic Factor is a co-op survival game set inside a research facility, and its multiplayer is built around a small group: the default player cap is six, and the encounters, loot and crafting economy are tuned for roughly that. The dedicated server exists so the world keeps running when the host logs off, and so nobody's frame rate is everybody's simulation.
A few facts that shape everything else:
- The server tool is a Windows build. The Steam depot for app
2857200ships a Windows executable. Linux hosting is done by running it under Proton or Wine, which works well and is what most Linux and container-based hosts do. If a native Linux build has landed by the time you read this, it will appear as a separate depot on the same app. - It is free and anonymous.
login anonymousin SteamCMD is enough. You do not need an account that owns the game to run the server. - Characters are server-side. Your character, your perks and your inventory belong to the world save on that server, not to your Steam account. Joining a different server means starting a different character. This is worth telling your group before somebody spends an evening on a test server.
- Crossplay is on by default and is restricted, not enabled, by a flag. That is the opposite of most games and catches people who assume they have to switch it on.
Requirements and resource usage#
The facility is a set of connected levels rather than one open map, and the server keeps the occupied ones loaded. Memory climbs with player count, with how many levels the group has opened up and with the number of deployables they have built.
| Players | RAM | vCPU | Notes |
|---|---|---|---|
| 1-4, early game | 4 GB | 1 | A fresh save, one or two levels open |
| 6, mature world | 6 GB | 1.5 | The default cap with a real base |
| 8-12 | 8-10 GB | 2 | Above the intended group size |
| 16-24 | 12 GB | 2.5-3 | Possible, not balanced. Expect oddities |
- CPU: an Unreal server bound by one dominant thread. Clock speed beats cores. The load comes from enemy AI and from simulated deployables, so a base full of machines costs more than an empty corridor.
- Disk: allow 10-15 GB for the install and remember it grows with every content patch. The save itself is small, a few tens of megabytes.
- Network: light. A six-player co-op server is not a bandwidth problem; latency between players and the server is what you can feel.
Raising -MaxServerPlayers past six is supported by the parameter but not by the game. Enemy scaling, loot density and the crafting economy were built for a small team, and the practical result of twelve players is a world that is stripped bare in two evenings. If you want a bigger group, raise loot respawn and enemy multipliers in the sandbox settings to compensate rather than hoping it works out. How many players fit on a server makes the general argument.
Installing the server with SteamCMD#
$ steamcmd +force_install_dir C:\abiotic\server +login anonymous \ +app_update 2857200 validate +quitThe executable lands at AbioticFactor/Binaries/Win64/AbioticFactorServer-Win64-Shipping.exe. Start it once with nothing but -log, let it create its folders, then stop it. You now have:
AbioticFactor/Saved/Config/WindowsServer/SandboxSettings.iniAbioticFactor/Saved/SaveGames/Server/Admin.iniAbioticFactor/Saved/SaveGames/Server/Worlds/Cascade/AbioticFactor/Saved/Logs/On a panel-based host none of this is typed by hand: the install runs when the server is created, the arguments are fields on the Startup tab, and the files are edited in the browser or over SFTP. SteamCMD explained covers app ids, validation and update scripts if you are doing it yourself.
Launch parameters are the configuration#
This is the full start line, and for most servers it is the only place you will ever set anything:
AbioticFactorServer-Win64-Shipping.exe -log -useperfthreads \ -NoAsyncLoadingThread -SteamServerName="Cascade Nightshift" \ -MaxServerPlayers=6 -PORT=7777 -QueryPort=27015 \ -ServerPassword=hallway-42 -WorldSaveName=Cascade \ -AdminPassword=change-this| Parameter | Default | What it does |
|---|---|---|
-SteamServerName= | a generic name | The name in the server browser. Quote it if it has spaces |
-MaxServerPlayers= | 6 | Slots. Accepts more, the game is built for six |
-PORT= | 7777 | Game port, UDP |
-QueryPort= | 27015 | Steam query port, UDP |
-ServerPassword= | empty | Join password. Empty means public |
-WorldSaveName= | Cascade | The save folder name, so also how you keep two worlds |
-AdminPassword= | empty | Lets a player claim admin in game |
-AdminIniPath= | default | Alternative Admin.ini location, relative to Saved |
-SandboxIniPath= | default | Alternative SandboxSettings.ini location |
-PlatformLimited= | off | PC, Playstation or Xbox. Restricts crossplay |
-LANOnly | off | Local network only |
-MultiHome= | all | Bind to one address on a multi-homed machine |
-log | off | Write to standard output, which is what a panel reads |
-newconsole | off | Opens a separate console window. Pointless when headless |
-useperfthreads | off | Unreal task-graph threading, in the stock start script |
-NoAsyncLoadingThread | off | Also in the stock start script |
-WorldSaveName deserves more attention than it gets. It names the folder under Saved/SaveGames/Server/Worlds/, so changing it starts a brand new world and leaves the old one untouched on disk. That is the safe way to test a patch or a sandbox change: point the server at a new save name, break things, then point it back. It is also the way people accidentally "lose" a world - nothing was deleted, the argument just changed.
Ports, crossplay and connecting#
| Port | Protocol | Purpose |
|---|---|---|
7777 | UDP | Game traffic |
27015 | UDP | Steam query, the server browser |
Both are UDP. A firewall rule that only opens TCP gives you a server that runs, logs and accepts nobody, which is the single most common "it does not work" report for any Steam-based game. Game server ports explained covers why the query port is separate and what breaks when only one of the pair is reachable.
Players get in three ways:
- The in-game server list, which is driven by the query port. A password-protected server still appears; players are prompted for the password.
- Steam favourites. In the Steam client, View, then Game Servers, then Favorites, add
203.0.113.10:27015- the query port, not the game port. The server then shows in the in-game list reliably even when the public list is slow. - A hostname instead of an address, if you would rather hand out something memorable than an IP. Connecting a domain to a game server has the A record details.
Crossplay is enabled unless you disable it. -PlatformLimited=PC restricts the server to Steam players, and the other values do the equivalent for the console platforms. The reason to restrict is consistency rather than performance: platform-limited servers avoid the mismatched-version window that appears when a patch reaches one store before another.
SandboxSettings.ini: the world rules#
This file is the equivalent of the sandbox screen in single-player, and it is the only settings file most servers ever need. It must begin with the section header, and keys are case-sensitive:
[SandboxSettings]GameDifficulty=1HardcoreMode=FalseEnemySpawnRate=1.0EnemyHealthMultiplier=1.0EnemyPlayerDamageMultiplier=1.0DetectionSpeedMultiplier=1.0EnemyAccuracy=2HungerSpeedMultiplier=1.0ThirstSpeedMultiplier=1.0FatigueSpeedMultiplier=1.0DamageToAlliesMultiplier=0.5PlayerXPGainMultiplier=1.0DeathPenalties=1DurabilityLossOnDeathMultiplier=0.1ItemStackSizeMultiplier=1.0BaseInventorySize=12LootRespawnEnabled=FalsePowerSocketsOffAtNight=TrueDayNightCycleState=0FoodSpoilSpeedMultiplier=1.0StructuralSupportLimit=5AllowRecipeSharing=TrueThe settings that change how a server plays, rather than how it feels by five per cent:
| Key | Default | What it does |
|---|---|---|
GameDifficulty | 1 | 1 normal, 2 hard, 3 apocalyptic |
HardcoreMode | False | One life. Forces the hardest difficulty |
AllowIronMode | True | Ironman, only meaningful with hardcore on |
LootRespawnEnabled | False | The big one for long-lived servers, see below |
EnemySpawnRate | 1.0 | How often enemies come back |
EnemyHealthMultiplier | 1.0 | Enemy health |
EnemyPlayerDamageMultiplier | 1.0 | Damage enemies do to players |
EnemyAccuracy | 2 | Ranged accuracy on a 0-4 scale |
DetectionSpeedMultiplier | 1.0 | How quickly you are noticed |
DamageToAlliesMultiplier | 0.5 | Friendly fire. 0 removes it entirely |
DeathPenalties | 1 | Penalty tier on a 0-6 scale |
DurabilityLossOnDeathMultiplier | 0.1 | Gear damage when you die |
HungerSpeedMultiplier | 1.0 | Hunger drain. Lower is kinder to a part-time group |
ThirstSpeedMultiplier | 1.0 | Thirst drain |
FatigueSpeedMultiplier | 1.0 | Tiredness |
PlayerXPGainMultiplier | 1.0 | Levelling speed |
BonusPerkPoints | 0 | Free perk points at character creation |
ItemStackSizeMultiplier | 1.0 | Stack sizes |
ItemWeightMultiplier | 1.0 | Carry burden |
BaseInventorySize | 12 | Starting inventory slots |
DayNightCycleState | 0 | 0 normal, 1 always day, 2 always night |
PowerSocketsOffAtNight | True | Facility power cuts out at night |
FoodSpoilSpeedMultiplier | 1.0 | Spoilage |
StructuralSupportLimit | 5 | How far you can build unsupported |
AllowRecipeSharing | True | Recipes learned by one are learned by all |
AllowCharacterReset | True | Players can respec |
LootRespawnEnabled=False is the default and it is the right default for a group of six who play a campaign together and finish it. It is the wrong default for a persistent public server: the facility is finite, and once it has been stripped there is nothing for a new player to find. Turn it on for anything that will run longer than a couple of months, and expect the economy to feel very different.
The other setting worth deliberate thought is AllowRecipeSharing. Leave it on for a group with different schedules, or the person who can only play Sundays will spend every session behind. Turn it off if the group wants specialisation to mean something.
Sandbox changes apply on the next start. Stop the server, edit, start; editing a live server risks the file being rewritten under you.
Admins and moderation#
There are two routes to admin, and most servers use both.
The first is -AdminPassword= on the start line, which lets a player claim admin powers in game with that password. It is convenient and it is a shared secret, so treat it like one: rotate it when somebody leaves the group, and do not put it in a public Discord.
The second is Admin.ini, created at AbioticFactor/Saved/SaveGames/Server/Admin.ini on first start. It takes SteamID64s under a section header, one per line:
[Moderators]Moderator=76561198012345678Moderator=76561198087654321Open the file the server generated and follow the header it wrote rather than assuming - this is the part of the game that has moved between builds. The ID you need is the 17-digit SteamID64, not a profile name; the reliable way to read one is from the server log after the person has joined once.
Give each admin their own way in rather than sharing one login. On a panel host that means a subuser with console permission and nothing else, which also gives you a per-server activity log showing who restarted what. Subusers and least privilege covers why that matters more than it sounds.
Saves, backups and starting over#
The world lives in one folder: AbioticFactor/Saved/SaveGames/Server/Worlds/Cascade/, or whatever you set -WorldSaveName to. That folder holds the facility state, the built deployables and each player's character. Back up that folder and you can rebuild everything else from SteamCMD in ten minutes.
- Stop the server cleanly. A clean shutdown flushes the save. Killing the process, or a host that goes away without warning, can cost you whatever has happened since the last autosave.
- Back up before every patch. Content updates to a game in active development occasionally change save formats, and the backup you did not take is the one you needed.
- Keep the backup somewhere other than the server. A copy in a second folder on the same disk protects you from a mistake in the file manager, not from losing the machine.
- Two worlds, one server. Because
-WorldSaveNameselects the folder, you can keep a second save for testing and switch by editing one argument. It is the cheapest staging environment any game gives you - staging and production on one account applies the same idea more generally.
A backup nobody has restored is a hypothesis. Restore one into a spare world name occasionally and log in to confirm your character is there; backups that actually restore explains why that second step is the whole point.
On RE:NODE the Restart button sends a clean stop, backup slots are included on every Abiotic Factor plan, restores are one button, and a Schedules entry can take a nightly backup and restart at an hour when nobody is playing. If the server ever reaches its memory limit the container is stopped and restarted clean rather than swapping, so an unsaved stop is the risk to plan around - which is the argument for the nightly backup rather than the weekly one.
Troubleshooting#
The server starts but does not appear in the list. Check both UDP ports, then add the server to Steam favourites by address:27015 and join from there. If that works, the server is fine and the public list is being slow. Also confirm you have not added -NOSTEAM.
Players see the server but time out joining. The query port is open and the game port is not. They are separate rules.
Nothing in `SandboxSettings.ini` takes effect. Either the [SandboxSettings] header is missing or misspelled, the file is in the wrong folder, or a -SandboxIniPath argument is pointing somewhere else. Check the log at startup, which names the files it loaded.
Everyone spawned into an empty new world. -WorldSaveName changed, or was never set and the default differs from what you expected. The old folder is still under Saved/SaveGames/Server/Worlds/. Stop the server, set the argument to that folder's name, start.
The server crashes after a game update. The server tool updates separately from the client. Run the SteamCMD update with validate and confirm the build matches; mismatched versions are rejected at connection rather than crashing, so a crash after a patch is usually an incompatible save or a mod-free reinstall being needed.
Memory climbs over days. Normal up to a point, as more of the facility is opened and more is built. A scheduled restart keeps it flat - see restart schedules that help. If it climbs to the limit within hours, the slot count or the build density is beyond the plan.
Something is wrong and you do not know what. Read the log before changing anything. The last lines before an exit are usually explicit about the file or the argument at fault; reading the console is about doing that efficiently.
FAQ#
How many players can an Abiotic Factor server hold?
Six by default. -MaxServerPlayers accepts higher numbers, but loot density, enemy scaling and the crafting economy are built for a small group, so a larger server needs sandbox settings adjusted to compensate.
Do I need to own the game to run the server?
No. The dedicated server is app 2857200 and installs with login anonymous. You need the game to play, not to host.
Can console and PC players share a server?
Yes. Crossplay is on unless you turn it off with -PlatformLimited=, which takes PC, Playstation or Xbox and restricts the server to that platform.
Where are the sandbox settings on a dedicated server?
In SandboxSettings.ini under AbioticFactor/Saved/Config/WindowsServer/, starting with a [SandboxSettings] header. The in-game sandbox screen only applies to a locally hosted game.
Does the server run on Linux?
The depot ships a Windows build, and Linux hosts run it under Proton or Wine. That works reliably and is how most container-based hosting does it, but it is worth knowing when you are debugging file paths.
How do I start a fresh world without deleting the old one?
Change -WorldSaveName to a new value. A new folder is created under Saved/SaveGames/Server/Worlds/ and the previous world stays on disk, ready to switch back to.




Comments
Completely anonymous: no account, no email, no cookie. We store the name you type, the text and the time - nothing else. Links are limited and markup is not rendered.