What the developer documents
The reference is the AbioticFactorDedicatedServer wiki on GitHub, which the Steam announcement for the Early Access launch introduced as the guide the studio created for hosting. Everything below about the server comes from that wiki, the sample files in the same repository, or the studio's Steam announcements.
| Item | Documented value |
|---|---|
| Platform | Windows only, per the Quickstart |
| Steam app | 2857200, listed in Steam as Abiotic Factor Dedicated Server |
| Game port | -PORT=, 7777 in the sample; must be reachable from the internet |
| Query port | -QueryPort=, 27015 in the sample; advertises the server on Steam, recommended |
| Players | -MaxServerPlayers=, 1 to 24; more than 6 is not recommended |
| World folder | Saved\SaveGames\Server\Worlds\Cascade unless -WorldSaveName= says otherwise |
| Hardware | No CPU, memory or disk figure is published |
Hotfix 0.9.1 disabled Steam P2P on dedicated servers in favour of direct connections, so every player reaches the game port itself. A firewall that drops 7777 drops everyone.
With no official sizing, this page gives none. Our suggestion: run a session with your real group and watch the server process in Task Manager before deciding the machine is too big or too small.
Windows only: the licence and the Linux question
The Quickstart opens with the platform note: the dedicated server is currently Windows only. On our lines Windows Server from 2008 R2 to 2025 installs in one click on the widest x86 lines, never on ARM. It is a paid licence billed monthly on top of the machine, counted per core, and it takes no prepay discount, so a high-core box costs more to license than a modest one.
Linux via Wine or Proton: a workaround from the community, not an official route. The Quickstart only points Linux users to a guide written by players in the repository's issue tracker. Valve's SteamCMD can fetch the Windows build on a Linux host with @sSteamCmdForcePlatformType windows, but running it under a compatibility layer has no official support from Deep Field Games, and any game update can break it.
Account, folders and firewall before the first start
The server never needs administrator rights, so it gets a standard local account of its own. Create the account, lock the install folder to that account and the administrators, and add the firewall rules before the executable ever runs. Run this in an elevated PowerShell; Read-Host -AsSecureString keeps the account password out of the command history.
$pw = Read-Host -AsSecureString "Password for afserver"
New-LocalUser -Name afserver -Password $pw -PasswordNeverExpires -Description "Abiotic Factor server"
New-Item -ItemType Directory -Path C:\steamcmd, C:\AbioticFactor
icacls C:\AbioticFactor /inheritance:r /grant:r "Administrators:(OI)(CI)F" "SYSTEM:(OI)(CI)F" "afserver:(OI)(CI)M"
# keep your own way in before the firewall is enforced
Enable-NetFirewallRule -DisplayGroup "Remote Desktop"
Set-NetFirewallProfile -Profile Domain,Private,Public -Enabled True -DefaultInboundAction Block
$exe = "C:\AbioticFactor\AbioticFactor\Binaries\Win64\AbioticFactorServer-Win64-Shipping.exe"
foreach ($proto in "UDP","TCP") {
New-NetFirewallRule -DisplayName "Abiotic Factor $proto" -Direction Inbound -Action Allow -Program $exe -Protocol $proto -LocalPort 7777,27015
}
The guide names the two ports but no protocol, so these rules open both UDP and TCP and tie each to the server executable alone; that choice is ours, not the developer's. Neither rule is limited to an address, so IPv6 is covered along with IPv4. Port 14001 matters only for -LANOnly discovery on a local network and stays closed here.
Installing with SteamCMD
- Download
steamcmd.zipfrom Valve and extract it intoC:\steamcmd. - Fetch the server with
C:\steamcmd\steamcmd.exe +force_install_dir C:\AbioticFactor +login anonymous +app_update 2857200 validate +quit. Valve's wiki says to set the install directory before logging in, which this line does. - Confirm that
AbioticFactorServer-Win64-Shipping.exesits inC:\AbioticFactor\AbioticFactor\Binaries\Win64. - For each update, stop the server and run the same line again. The studio's patch notes regularly remind owners to update their dedicated servers.
RunServer.bat and the password it carries
The guide starts the server from a batch file placed beside the executable. This version follows the repository's sample with a few changes:
@echo off
cd /d C:\AbioticFactor\AbioticFactor\Binaries\Win64
AbioticFactorServer-Win64-Shipping.exe -useperfthreads -MaxServerPlayers=6 -PORT=7777 -QueryPort=27015 -ServerPassword=ChangeThisJoinPassword -SteamServerName="Lab Crew" -WorldSaveName=Cascade
-useperfthreadsis optional; the wiki says the developers tested with it and currently recommend it.-log -newconsoleopens a visible log window. Add them for a first interactive test; without them the server runs in the background, which suits the scheduled task below.- The sample's flag that disables the async loading thread is left out: the parameter page says it is not currently recommended after community feedback.
-PlatformLimited=PC,=Playstationor=Xboxturns crossplay off and admits one platform only.- Never add
-NOSTEAM; the wiki warns against it.
The join password exists only as -ServerPassword=. The guide documents no config-file setting for it, so it has to sit in this file and in the process command line, where administrators and the afserver account the server runs under can read it. The folder permissions above keep the file from every other account. Use a password you have never used anywhere else.
Admin rights without a second password
There are two ways to make someone an admin. The first keeps another secret off the command line: the guide has you close the server and edit C:\AbioticFactor\AbioticFactor\Saved\SaveGames\Server\Admin.ini (it should appear once the server has run at least once; that is our reading of the guide), adding one line per admin under [Moderators], such as Moderator=76561190000000000 with the player's SteamID64. That works for Steam accounts only.
Xbox and PlayStation players need the second way, -AdminPassword=, which the wiki recommends for console users. It is separate from the join password, it goes on the same command line with the same exposure, and leaving it out disables password admin entirely.
Running it under the service account
A scheduled task starts the batch file at boot as afserver. Get-Credential asks for the password in a dialog, so it never appears in a command line or the history:
$cred = Get-Credential -UserName afserver -Message "afserver password"
$action = New-ScheduledTaskAction -Execute "C:\AbioticFactor\AbioticFactor\Binaries\Win64\RunServer.bat"
$trigger = New-ScheduledTaskTrigger -AtStartup
$settings = New-ScheduledTaskSettingsSet -ExecutionTimeLimit ([TimeSpan]::Zero) -RestartCount 3 -RestartInterval (New-TimeSpan -Minutes 1)
Register-ScheduledTask -TaskName AbioticFactorServer -Action $action -Trigger $trigger -Settings $settings -User $cred.UserName -Password $cred.GetNetworkCredential().Password
Start-ScheduledTask -TaskName AbioticFactorServer
The zero time limit matters: Task Scheduler otherwise stops a task after 72 hours. Ending the task stops only cmd.exe, not the server it launched. Before an update or a backup, stop both with Stop-ScheduledTask -TaskName AbioticFactorServer; Get-Process AbioticFactorServer-Win64-Shipping -ErrorAction SilentlyContinue | Stop-Process and wait until Get-Process AbioticFactorServer-Win64-Shipping returns nothing before touching any files. This is a hard stop: progress since the last save can be lost, so do it when nobody is playing.
Worlds, sandbox settings and backups
- Worlds live in
Saved\SaveGames\Server\Worlds; the server loadsCascadeunless-WorldSaveName=names another folder. - Each world gets its own
SandboxSettings.iniin its folder: difficulty, loot respawn, hunger and thirst rates, death penalties and the rest.-SandboxIniPath=points at a shared file instead, relative toSaved. - A Steam co-op world moves over from the host's PC: under
%LocalAppData%\AbioticFactor\Saved\SaveGamesopen the folder named after the host's SteamID, thenWorlds, and copy the world's folder across; rename the copied folderCascadeor name it with-WorldSaveName=. PS5, Xbox and Game Pass saves are not supported. - The game keeps up to five world backups and writes a new one every 30 minutes; the studio says this works on dedicated servers too.
Those backups share a drive with the live world. In our view an off-machine copy of the whole Saved folder, taken with the server stopped as described above, is the one that survives a dead drive or a bad edit.
Where our machines fit, and where they do not
Our game server machines are physical servers leased whole, on HPE enterprise hardware, with every core and all the memory serving the world and nobody else. Each has an unmetered port, 1 Gbps on 10 of the 18 configurable lines and 500 Mbps on the rest, and one IPv4 address. Rack servers and blades carry an out-of-band controller (iLO, iDRAC or a Supermicro BMC) whose browser console still works when a firewall rule or an update locks you out of Remote Desktop. A racked machine is live about 30 minutes after the order is approved.
Pick the city closest to your players from our five data centers, all on our own network, AS19624. Another Windows-only survival server set up the same way is the Enshrouded build.
Wrong fit: a group that plays a few evenings a month can let one player host from the game itself, since the wiki notes Steam player-hosted saves move to a dedicated server later. And if the plan is Linux with no Windows licence, this game does not support that today.
Questions
Does the Abiotic Factor server run on Linux?
Not officially. The developer's Quickstart says the dedicated server is currently Windows only and points Linux users to a community guide. Running the Windows build under Wine or Proton is a player-made workaround that Deep Field Games does not support, and an update can break it.
Which ports need to be open?
The game port set by -PORT= (7777 in the guide) and the query port set by -QueryPort= (27015). The guide calls the query port not strictly required but recommended, since it advertises the server on Steam. Port 14001 matters only for LAN-only servers.
How many players can join one server?
Between 1 and 24, set with -MaxServerPlayers=. The wiki does not recommend going above 6, and players see a warning before joining a server set higher.
The server does not show in the in-game browser. What now?
First check that the game port is reachable from outside and the query port is open. The studio's hotfix 0.10.0.15214 notes describe a workaround: close the game, open the Steam server browser and find and join the server from there.
Can Xbox and PlayStation players join and moderate?
The wiki implies they can: -PlatformLimited= is described as what disables crossplay, so in our reading crossplay is on unless you set it. It does not state the default outright. Admin.ini whitelisting by SteamID covers Steam accounts only, so console admins need -AdminPassword=, which the wiki recommends for them. Their own console saves cannot be moved to the server.