Jump to content

ANEURISM IV/Server configuration

From Vellocet Developer Community

Set the server name, map, password, and player limit in the hosting menu or dedicated-server environment. Put gameplay rules and the message of the day in the data directory.

Data directory

Dedicated servers should set ANIV_DATA_ROOT to an absolute path. The installation guide uses ~/aneurism/data, with the full path written into server.env.

Without this override, the game uses its per-user data directory:

Platform Default location
Windows %USERPROFILE%\AppData\LocalLow\Vellocet\ANEURISM IV
Linux $XDG_CONFIG_HOME/unity3d/Vellocet/ANEURISM IV, or ~/.config/unity3d/Vellocet/ANEURISM IV when XDG_CONFIG_HOME is unset
macOS ~/Library/Application Support/unity.Vellocet.ANEURISM IV, or ~/Library/Application Support/Vellocet/ANEURISM IV if that directory already exists

These locations follow Unity's per-user data paths. The player log reports configuration paths. Check it if the expected directory is absent. Keep each saved world in its own directory and never let two running servers share one.

File Contents
aniv.db Saved world, players, owner, staff assignments, local bans, and whitelist.
aniv.cfg General server settings.
customserverrules.cfg Gameplay values such as rewards and event durations.
customobjectvalues.cfg Overrides for individual fates.
motd.txt Message shown to joining players.
tasks.json Saved task progress.

Create the optional text files when you need them. See Backups and updates before replacing a database or moving a world.

Shared startup settings (next update)

Shared startup option names and validation are prepared for the next ANEURISM IV update. The current preview still uses the environment settings below. After that game update, a dedicated server can put these defaults in aniv.cfg:

hostname "My ANEURISM server"
map "aneurismiv"
maxplayers "32"
sv_password ""

Use the map ID aneurismiv or misery. Keep this file readable only by the server account if it contains a password. The optional environment values below override these defaults; explicit +hostname, +map, -maxplayers, and +sv_password options override both. Do not set the same option twice. Restart to apply changes.

Dedicated-server environment

These variables are read when hosting starts. Edit server.env and restart the server to apply changes.

Variable Value
ANIV_COMMUNITY_OWNER_STEAM_ID Required personal SteamID64 of the owner. Use the same account for every start of this saved world.
ANIV_SERVER_NAME Public name, 1–64 characters. Avoid links, addresses, control characters, and surrounding spaces. Set it explicitly.
ANIV_MAX_PLAYERS Whole number from 2 to 60. Defaults to 60; the setup example uses 32.
ANIV_MAP Map ID. Use aneurismiv or misery, in lowercase. Set it explicitly.
ANIV_ROTATION Public label, up to 64 characters. Defaults to persistent-world. This label doesn't schedule map changes.
ANIV_SERVER_PASSWORD Optional password, up to 64 characters with no control characters. Empty means no password.
ANIV_DATA_ROOT Absolute writable path for this world's data and configuration files.

The dedicated server is publicly listed in Community. Use a password to restrict admission. Friends and Invite only visibility are available when hosting from the game. Read the whitelist limitation before using that feature.

General settings

In aniv.cfg, write one setting per line and put its value in double quotes. Names are case-sensitive. Lines beginning with # are comments. Use 1 and 0 for switches.

# aniv.cfg
region "eu-central"
enableGlobalChat "1"
enableReports "0"
maintenanceTime "null"
wipeShutdown "0"
Setting Default Use
region unknown Region label used in server metadata. It doesn't move the server to another location.
enableGlobalChat 0 Enable global text chat for this server with 1.
enableReports 0 Enable the community report option in the server window with 1.
lostDisabled 0 Disable the Lost event with 1.
maintenanceTime null Start the daily maintenance warning sequence at a UTC time such as 03:00:00. See below.
wipeShutdown 0 Exit after a gameplay world wipe with 1.
serverName Generated when absent Fallback name used during world initialization. The hosting menu or ANIV_SERVER_NAME supplies the current session name.
systemServerName Session name Alternate name used by server metadata. Usually leave it unset so the listing follows your chosen session name.

Keep passwords in server.env or set them with the in-game password command. Startup sv_password in aniv.cfg is part of the next update described above. The game doesn't read an ANIV_* environment assignment from aniv.cfg.

Maintenance timing

maintenanceTime is the UTC time when warnings begin. The server waits 10 minutes, then 5 minutes, then 1 minute before disconnecting players and shutting down networking. A setting of 03:00:00 therefore begins maintenance shutdown around 03:16 UTC.

This setting doesn't launch a replacement process. Leave it at null unless your hosting setup also handles the restart. The systemd service in the installation guide restarts a crashed process; it doesn't detect a process that remains alive after networking stops.

Gameplay rules

Use customserverrules.cfg for gameplay settings. It uses the same quoted-value format:

# customserverrules.cfg
eventWartimeDuration "900"
lootCycleInterval "600"
fateRespawnTime "10"
rewardBankerTransaction "Small"

See ANEURISM IV/Gameplay settings for the setting names, shipped defaults, reward values, and fate overrides.

Message of the day

Write your server rules or welcome message in motd.txt:

Welcome to the server.
Please read the rules before joining a faction.
Ask a moderator if you need help.

The server reads the file when hosting starts. Restart after editing it. If the file is empty or missing, joining players see the server name instead.

Apply changes

Restart after changing startup settings, the map, the message of the day, or fate overrides. Use a separate data directory for a different map.

An owner or administrator can run reloadservercfg from the connected game console to reread aniv.cfg, customserverrules.cfg, and loot configuration. Settings already copied into a running system, such as chat/report switches and the maintenance timer, still need a restart. Removing a gameplay override doesn't reset its value in memory; restart to restore the shipped default.

reloadlocalcfg affects the computer running that console. It doesn't reload a remote dedicated server. customobjectvalues.cfg is applied when the map initializes and isn't part of reloadservercfg.