<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://developer.vellocetsoftware.com/index.php?action=history&amp;feed=atom&amp;title=ANEURISM_IV%2FDedicated_servers</id>
	<title>ANEURISM IV/Dedicated servers - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://developer.vellocetsoftware.com/index.php?action=history&amp;feed=atom&amp;title=ANEURISM_IV%2FDedicated_servers"/>
	<link rel="alternate" type="text/html" href="https://developer.vellocetsoftware.com/w/index.php?title=ANEURISM_IV/Dedicated_servers&amp;action=history"/>
	<updated>2026-10-21T19:56:59Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://developer.vellocetsoftware.com/w/index.php?title=ANEURISM_IV/Dedicated_servers&amp;diff=115&amp;oldid=prev</id>
		<title>DocumentationBot: Version 1</title>
		<link rel="alternate" type="text/html" href="https://developer.vellocetsoftware.com/w/index.php?title=ANEURISM_IV/Dedicated_servers&amp;diff=115&amp;oldid=prev"/>
		<updated>2026-10-01T04:13:05Z</updated>

		<summary type="html">&lt;p&gt;Version 1&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{ANEURISMNav}}&lt;br /&gt;
&lt;br /&gt;
A dedicated server runs the world without a player occupying the host computer. This guide uses a Linux x86-64 machine, Bash, and [https://developer.valvesoftware.com/wiki/SteamCMD SteamCMD]. Run the server under a normal Linux user account that owns its installation and data directories.&lt;br /&gt;
&lt;br /&gt;
The examples install the &amp;lt;code&amp;gt;preview&amp;lt;/code&amp;gt; branch for version &amp;lt;code&amp;gt;20-preview1&amp;lt;/code&amp;gt;. Players can select &amp;lt;code&amp;gt;preview&amp;lt;/code&amp;gt; in Steam under &amp;#039;&amp;#039;&amp;#039;ANEURISM IV → Properties → Betas&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Install the server ==&lt;br /&gt;
&lt;br /&gt;
Install SteamCMD using Valve&amp;#039;s instructions for your Linux distribution. Then create separate directories for the game files and saved data:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
umask 077&lt;br /&gt;
mkdir -p &amp;quot;$HOME/aneurism/server&amp;quot; &amp;quot;$HOME/aneurism/data&amp;quot;&lt;br /&gt;
steamcmd +force_install_dir &amp;quot;$HOME/aneurism/server&amp;quot; \&lt;br /&gt;
  +login anonymous +app_update 2832030 -beta preview validate +quit&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If Steam reports that the account has no subscription, replace &amp;lt;code&amp;gt;anonymous&amp;lt;/code&amp;gt; with your Steam account name and complete the Steam Guard prompts. Leave your Steam password out of the command.&lt;br /&gt;
&lt;br /&gt;
The dedicated-server download uses Steam App ID &amp;lt;code&amp;gt;2832030&amp;lt;/code&amp;gt;. The installed &amp;lt;code&amp;gt;steam_appid.txt&amp;lt;/code&amp;gt; must contain the game&amp;#039;s App ID, &amp;lt;code&amp;gt;2773280&amp;lt;/code&amp;gt;. These IDs have different purposes. If that file is missing or has another value, validate the installation again.&lt;br /&gt;
&lt;br /&gt;
== Set the owner and startup settings ==&lt;br /&gt;
&lt;br /&gt;
Create &amp;lt;code&amp;gt;~/aneurism/server.env&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cat &amp;gt; &amp;quot;$HOME/aneurism/server.env&amp;quot; &amp;lt;&amp;lt;EOF&lt;br /&gt;
ANIV_COMMUNITY_OWNER_STEAM_ID=YOUR_STEAM_ID64&lt;br /&gt;
ANIV_SERVER_NAME=&amp;#039;My ANEURISM server&amp;#039;&lt;br /&gt;
ANIV_MAX_PLAYERS=32&lt;br /&gt;
ANIV_MAP=aneurismiv&lt;br /&gt;
ANIV_ROTATION=persistent-world&lt;br /&gt;
ANIV_SERVER_PASSWORD=&amp;#039;&amp;#039;&lt;br /&gt;
ANIV_DATA_ROOT=&amp;#039;$HOME/aneurism/data&amp;#039;&lt;br /&gt;
EOF&lt;br /&gt;
chmod 600 &amp;quot;$HOME/aneurism/server.env&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Open the file in a text editor and replace &amp;lt;code&amp;gt;YOUR_STEAM_ID64&amp;lt;/code&amp;gt; with your personal 17-digit SteamID64. Use your account&amp;#039;s numeric ID, not a profile nickname or a server&amp;#039;s Steam ID. You can find your Steam ID in [https://store.steampowered.com/account/ Steam account details].&lt;br /&gt;
&lt;br /&gt;
The owner is recorded when the database is first created. Keep the same owner setting on later starts. Changing the environment variable doesn&amp;#039;t transfer ownership.&lt;br /&gt;
&lt;br /&gt;
Set &amp;lt;code&amp;gt;ANIV_MAP&amp;lt;/code&amp;gt; explicitly. &amp;lt;code&amp;gt;aneurismiv&amp;lt;/code&amp;gt; selects ANEURISM IV; &amp;lt;code&amp;gt;misery&amp;lt;/code&amp;gt; selects Misery. The [[ANEURISM IV/Server configuration|configuration guide]] explains the remaining settings.&lt;br /&gt;
&lt;br /&gt;
== Start and join ==&lt;br /&gt;
&lt;br /&gt;
Load the environment file and start the server in the foreground:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
set -a&lt;br /&gt;
. &amp;quot;$HOME/aneurism/server.env&amp;quot;&lt;br /&gt;
set +a&lt;br /&gt;
cd &amp;quot;$HOME/aneurism/server&amp;quot;&lt;br /&gt;
./aniv_server.x86_64 -batchmode -nographics -logFile -&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The log appears in the terminal. Steam login and relay allocation can take up to three minutes. Wait for the map to load, then open ANEURISM IV on your gaming computer, refresh &amp;#039;&amp;#039;&amp;#039;Community&amp;#039;&amp;#039;&amp;#039;, and join your server.&lt;br /&gt;
&lt;br /&gt;
A running process alone doesn&amp;#039;t confirm that the server is ready. If it never appears or exits during startup, check the log and the [[ANEURISM IV/Troubleshooting|troubleshooting guide]].&lt;br /&gt;
&lt;br /&gt;
== Keep it running with systemd ==&lt;br /&gt;
&lt;br /&gt;
After the foreground launch works, press Ctrl+C and wait for the process to exit before starting a service. The following user service uses the same files and sends logs to the system journal.&lt;br /&gt;
&lt;br /&gt;
Create the directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p &amp;quot;$HOME/.config/systemd/user&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save this as &amp;lt;code&amp;gt;~/.config/systemd/user/aniv.service&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=ANEURISM IV community server&lt;br /&gt;
StartLimitIntervalSec=300&lt;br /&gt;
StartLimitBurst=3&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=simple&lt;br /&gt;
WorkingDirectory=%h/aneurism/server&lt;br /&gt;
EnvironmentFile=%h/aneurism/server.env&lt;br /&gt;
ExecStart=%h/aneurism/server/aniv_server.x86_64 -batchmode -nographics -logFile -&lt;br /&gt;
Restart=on-failure&lt;br /&gt;
RestartSec=15&lt;br /&gt;
TimeoutStopSec=120&lt;br /&gt;
SendSIGKILL=no&lt;br /&gt;
UMask=0077&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=default.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Start it with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl --user daemon-reload&lt;br /&gt;
systemctl --user enable --now aniv.service&lt;br /&gt;
systemctl --user status aniv.service&lt;br /&gt;
journalctl --user -u aniv.service -n 100 --no-pager&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To keep the user service running after logout and start it at boot, have a machine administrator enable lingering for your Linux account:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo loginctl enable-linger &amp;quot;$USER&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use these commands for routine operation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl --user stop aniv.service&lt;br /&gt;
systemctl --user start aniv.service&lt;br /&gt;
systemctl --user restart aniv.service&lt;br /&gt;
journalctl --user -u aniv.service -f&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The service waits for shutdown without forcing a kill. If stopping times out, inspect the process and log before updating files or making a backup. A manual stop keeps the server stopped even though crash recovery is enabled.&lt;br /&gt;
&lt;br /&gt;
== Network access ==&lt;br /&gt;
&lt;br /&gt;
Allow the server to reach Steam and HTTPS services. Community gameplay uses Steam Relay; leave unsolicited inbound traffic blocked. You don&amp;#039;t need to forward UDP &amp;lt;code&amp;gt;7777&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;27015&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;27016&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Steam uses local UDP ports &amp;lt;code&amp;gt;27015&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;27016&amp;lt;/code&amp;gt;. They must be free for this process. For multiple servers on one machine, give each instance a separate network namespace or virtual machine, as well as its own data directory. Changing a gameplay port doesn&amp;#039;t change these Steam service ports.&lt;br /&gt;
&lt;br /&gt;
Community administration happens through the connected game client.&lt;br /&gt;
&lt;br /&gt;
== Optional persistent Steam identity ==&lt;br /&gt;
&lt;br /&gt;
Anonymous Steam login works for normal hosting. Its server identity can change after a restart. To use a persistent identity, create a game server login token at [https://steamcommunity.com/dev/managegameservers Steam Game Server Account Management] for App ID &amp;lt;code&amp;gt;2773280&amp;lt;/code&amp;gt;. Use a separate token for each server that runs at the same time.&lt;br /&gt;
&lt;br /&gt;
The executable accepts &amp;lt;code&amp;gt;-gslt&amp;lt;/code&amp;gt;. For a foreground launch, load &amp;lt;code&amp;gt;server.env&amp;lt;/code&amp;gt; as above, then enter the token at a hidden prompt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd &amp;quot;$HOME/aneurism/server&amp;quot;&lt;br /&gt;
read -r -s -p &amp;#039;Steam game server login token: &amp;#039; ANIV_GSLT&lt;br /&gt;
printf &amp;#039;\n&amp;#039;&lt;br /&gt;
./aniv_server.x86_64 -batchmode -nographics -logFile - -gslt &amp;quot;$ANIV_GSLT&amp;quot;&lt;br /&gt;
unset ANIV_GSLT&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This keeps the token out of shell history, but the running process&amp;#039;s arguments can still expose it to users with sufficient machine access. Keep tokens out of shared logs, screenshots, and configuration examples. The systemd example above uses anonymous login.&lt;br /&gt;
&lt;br /&gt;
A rejected or malformed token stops startup. The server won&amp;#039;t retry that launch anonymously. The login token controls the server&amp;#039;s Steam identity; your personal &amp;lt;code&amp;gt;ANIV_COMMUNITY_OWNER_STEAM_ID&amp;lt;/code&amp;gt; still controls ownership.&lt;br /&gt;
&lt;br /&gt;
[[Category:ANEURISM IV]]&lt;/div&gt;</summary>
		<author><name>DocumentationBot</name></author>
	</entry>
</feed>