RE:NODE
ჰოსტინგი

სახელმძღვანელოები12 წუთის საკითხავი

Abiotic Factor dedicated server: setup and settings

Run an Abiotic Factor server: SteamCMD install, every launch parameter, SandboxSettings.ini, crossplay, admins, ports, saves and the usual crashes.

ეს სტატია ჯერ ინგლისურადაა. ვთარგმნით.

1 მკითხველი

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 2857200 ships 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 anonymous in 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.

PlayersRAMvCPUNotes
1-4, early game4 GB1A fresh save, one or two levels open
6, mature world6 GB1.5The default cap with a real base
8-128-10 GB2Above the intended group size
16-2412 GB2.5-3Possible, 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#

bash
$ steamcmd +force_install_dir C:\abiotic\server +login anonymous \    +app_update 2857200 validate +quit

The 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:

code
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.

autosave and clean stopLaunch argumentsname, ports, slotsSandboxSettings.iniworld rulesAdmin.inimoderatorsServer processone per worldWorld saveSaved/SaveGames
Where an Abiotic Factor server reads its settings

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:

bash
AbioticFactorServer-Win64-Shipping.exe -log -useperfthreads \  -NoAsyncLoadingThread -SteamServerName="Cascade Nightshift" \  -MaxServerPlayers=6 -PORT=7777 -QueryPort=27015 \  -ServerPassword=hallway-42 -WorldSaveName=Cascade \  -AdminPassword=change-this
ParameterDefaultWhat it does
-SteamServerName=a generic nameThe name in the server browser. Quote it if it has spaces
-MaxServerPlayers=6Slots. Accepts more, the game is built for six
-PORT=7777Game port, UDP
-QueryPort=27015Steam query port, UDP
-ServerPassword=emptyJoin password. Empty means public
-WorldSaveName=CascadeThe save folder name, so also how you keep two worlds
-AdminPassword=emptyLets a player claim admin in game
-AdminIniPath=defaultAlternative Admin.ini location, relative to Saved
-SandboxIniPath=defaultAlternative SandboxSettings.ini location
-PlatformLimited=offPC, Playstation or Xbox. Restricts crossplay
-LANOnlyoffLocal network only
-MultiHome=allBind to one address on a multi-homed machine
-logoffWrite to standard output, which is what a panel reads
-newconsoleoffOpens a separate console window. Pointless when headless
-useperfthreadsoffUnreal task-graph threading, in the stock start script
-NoAsyncLoadingThreadoffAlso 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#

PortProtocolPurpose
7777UDPGame traffic
27015UDPSteam 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:

  1. The in-game server list, which is driven by the query port. A password-protected server still appears; players are prompted for the password.
  2. 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.
  3. 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:

AbioticFactor/Saved/Config/WindowsServer/SandboxSettings.ini
[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=True

The settings that change how a server plays, rather than how it feels by five per cent:

KeyDefaultWhat it does
GameDifficulty11 normal, 2 hard, 3 apocalyptic
HardcoreModeFalseOne life. Forces the hardest difficulty
AllowIronModeTrueIronman, only meaningful with hardcore on
LootRespawnEnabledFalseThe big one for long-lived servers, see below
EnemySpawnRate1.0How often enemies come back
EnemyHealthMultiplier1.0Enemy health
EnemyPlayerDamageMultiplier1.0Damage enemies do to players
EnemyAccuracy2Ranged accuracy on a 0-4 scale
DetectionSpeedMultiplier1.0How quickly you are noticed
DamageToAlliesMultiplier0.5Friendly fire. 0 removes it entirely
DeathPenalties1Penalty tier on a 0-6 scale
DurabilityLossOnDeathMultiplier0.1Gear damage when you die
HungerSpeedMultiplier1.0Hunger drain. Lower is kinder to a part-time group
ThirstSpeedMultiplier1.0Thirst drain
FatigueSpeedMultiplier1.0Tiredness
PlayerXPGainMultiplier1.0Levelling speed
BonusPerkPoints0Free perk points at character creation
ItemStackSizeMultiplier1.0Stack sizes
ItemWeightMultiplier1.0Carry burden
BaseInventorySize12Starting inventory slots
DayNightCycleState00 normal, 1 always day, 2 always night
PowerSocketsOffAtNightTrueFacility power cuts out at night
FoodSpoilSpeedMultiplier1.0Spoilage
StructuralSupportLimit5How far you can build unsupported
AllowRecipeSharingTrueRecipes learned by one are learned by all
AllowCharacterResetTruePlayers 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:

AbioticFactor/Saved/SaveGames/Server/Admin.ini
[Moderators]Moderator=76561198012345678Moderator=76561198087654321

Open 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 -WorldSaveName selects 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.


კომენტარები

სრულიად ანონიმურად: ანგარიშის, ელფოსტის და cookie-ის გარეშე. ინახება მხოლოდ სახელი, ტექსტი და დრო - სხვა არაფერი. ბმულების რაოდენობა ლიმიტირებულია.

0/2000