Subsistence Guide

Subsistence Dedicated Server Setup for Subsistence

Subsistence Dedicated Server Setup

Overview

Instructions on how to setup and configure a Subsistence dedicated server.

Dedicated Server Setup

You can either manually host your own server on your own hardware, or rent a server.

Renting a Server

The are many services that are setup to host Subsistence servers. I would recommend Nitrado[nitra.do], as I have worked closely with their team to integrate the various game settings into their dashboard. If you rent a server, you do not need to download the server files, and you can use their online UI to configure and manage your server.

Downloading the Server Files

The Subsistence server files are currently freely available via SteamCMD. From the SteamCMD command line, login as an anonymous account:

login anonymous

Run the following command to download the server files:

app_update 1362640 validate

Alternatively, you can also access the files under the tools section in the standard Steam client (in the Library section).

Configuring the Server

Once downloaded, the app needs to be run once to generate the UDK*.ini files used to configure the server. You can do by running ../Subsistence Dedicated Server/Binaries/Win32/run_dedicated_server.bat (once started then manually close the app).

To configure the server, most game settings are all in ../Subsistence Dedicated Server/UDKGame/Config/UDKDedServerSettings.ini:

//Must be a value between 1 to 5. Can be used to store 5 seperate saves on a single server instance. ProfileId=1 //Whether hunters are enabled on the server. HuntersEnabled=true //0 == normal attacks. 1 == only revenge attacks. 2 == no attacks. HunterAttacks=0 //Values: easy/normal/hardcore Difficulty=normal //Number of in-game days per in-game year. Values need to be: 12/24/36/48/60/90/120/200/365 DaysPerYear=36 //When set, will allow the server to start in a particular month (overriding whatever is set in the current save file). This value will be reset to -1 once the server has launched, and will continue using what is stored in the save file for future launches.
//Values: Jan=0/Feb=1/March=2/April=3/May=4/Jun=5/Jul=6/Aug=7/Sep=8/Oct=9/Nov=10/Dec=11
MonthOverride=-1 //Password that players must use to join the server. Leave blank to allow anyone to join. Password=testme //Password that admins should use to login to the server. AdminPassword=someAdminPasswword //The name that will show in the in-game server list. Please replace with your own server name. Maximum of 64 characters allowed. ServerName=My Server Name //An optional short description of the server, which will show when a player clicks on the server in server list. Max length of 256 characters. ServerDescription=Some description //The name that will show in the in-game server list for who is hosting this server. Maximum of 64 characters allowed. HostedByName=Nitrado //The maximum player slots on the server (can be 1 to 32). MaxPlayers=32 //Number of real-world hours that a player (and their team-mates) are offline from the server before their base starts to decay. Use this setting to keep servers clean of old abandoned bases. Set to 0 for no base decay. It is recommended to set this value for public servers (example: 4 days would be 96). NumPlayerOfflineHoursBeforeBaseDecay=0 //If true, players can damage other players. PvPDamage=true //If true, players can damage player-placed buildables. PlayersCanDamagePlayerBases=true //If true, players can access enemy player base items (such as storage chests, refineries, etc). Does not affect doors/windows/hatches. PlayersCanAccessEnemyPlayerBaseItems=true

To set the server port (if running multiple servers on a single machine) update “Port=7777” in UDKEngine.ini.

To update the Steam port (so your server can be seen in the in-game server list), update “QueryPort=27015” in UDKEngine.ini.

If you use multiple ips on the same machine, you can use the launch param: -multihome=<INTERNAL IP>

Starting the Server

Start the server by running ../Subsistence Dedicated Server/Binaries/Win32/run_dedicated_server.bat (or view the command that is running inside the .bat and run that yourself).

Running the server should make it show up in the in-game server list.

Troubleshooting

To view the logs, the log file is located at: ../Subsistence Dedicated Server/UDKGame/Logs/Launch.log

If you want to debug connection issues and enable additional network logging (so many more network related logs show in the Launch.log file), you can unsuppress the following two lines in UDKEngine.ini (by adding a semicolon at the start of each line):

;Suppress=DevOnline ;Suppress=DevNet

However you should disable this after testing, otherwise your log file will be getting heavily spammed.

Log Errors:
UDP recvfrom error: 2 (Unknown Error) from 0.0.0.0:0

This error means some other application is already binding to the port you are using for QueryPort in UDKEngine.ini. Set the QueryPort to some other port (like 27025, or any port you like) and run the server again.

Can’t see your server in the server list:

First check that your server is correctly being assigned a unique Steam id. You should see a line like this in your log when starting the server up:

Log: Steam game server UID: 90138574019046407

This means your server is reachable for connecting clients.
You can test this by connecting via the in-game console (press “=” to bring up the console) and use this command:

start steam.90138574019046407?password=yourPassword

If you have a Steam id for your server, but are not seeing it in the server list, this likely means your QueryPort (set in UDKEngine.ini) is not correctly open or forwarded to your server machine. This port is what allows your server to be queried for the current game status and settings by the server list. Please view this forum thread for further troubleshooting steps on forwarding ports.

Missing .dll’s?

If your server is failing to run due to missing library files, please try running Binaries/Redist/UE3Redist.exe? That should install the required missing libraries.

Logging in as an Admin

If you are hosting a password protected server, you can login to your server from the normal server list, just use your AdminPassword (that you set in your UDKDedServerSettings.ini config).

If you are running an open server (no password) then the password field will not show in the join window. Instead open the the console from the main menu (press “=” key) and login using either of the two following commands:

start <serverIp>:<port>?password=<adminPassword> or start steam.<serverSteamId>?password=<adminPassword>

The server Steam id can be seen in the command line (stdout) once the server initializes.

Kicking/Banning Players

While logged in as an admin, open the “Server Stats” panel, using the button (under your player’s clothing panel). When clicking on the individual players on your server, a Kick and Ban button will display on the right:
You can view a list of banned players by clicking the “Banned” tab above the player list. From here you can choose to unban them.
Banning a player will ban them from all 5 profiles you may host on your server.

Removing buildables from your server

You may want to remove unwanted buildables placed by players, either due to exploiting or for general cleanup. There is a bindable key in the control menu for “Delete Buildable”.
Look at the buildable and press this key to delete it. This will only work while logged in as an admin. It will not work on hunter-placed buildables.

Deleting an entire base

As an admin, open the console and type the following to list all bases on your server:

ListBases

Find the id of the base you wish to delete in the list. The run the following command:

DeleteBase [baseID]

So the command would look like:

DeleteBase 99

Freecam mode

While logged in as an admin. Enter the following command to enter into freecam mode:

FreeCam

This will put you in a detached state and allow you to freely fly around your server to monitor activities.

  • You can modify the speed of the camera by using the mouse wheel.
  • Press escape to exit the mode.
  • You can use the “DeleteBuildable” admin key while in this mode for clearing unwanted buildables.

Teleport to player

To teleport directly to a player on your server, open the “Server Stats” menu while logged in as an admin (the button under your character clothing profile).
Click on the player you wish to teleport to. A “teleport to player” button will appear on the right side of the menu.

  • This will teleport you in freecam mode
  • Other players will be unaware of your camera viewing them

Admin Console Commands

There are only a few available commands, since I migrated several over to the Server Stats UI rather than command line, but you can type “help” in the console to view the available commands. I plan to add much more Admin capabilities in the future, so thanks for your patience 🙂

Resetting/Clearing Profiles

To reset all profiles, stop the server and delete the following file:

../Subsistence Dedicated Server/Binaries/Win32/saveFilesList.sav

Then restart the server.

Transferring co-op profiles to a dedicated server:

To do this, you just need to transfer your saveFilesList.sav and all serverSaveGame*.sav files (there should be 30 of them), from your Subsistence/Binaries/Win32 folder to the corresponding folder on your server. Ensure the server is not running while copying these files.

If renting a Nitrado server, you can use their “File Browser” link on the server dashboard to do this.

Updating the Server

After new updates are released, run the following command in SteamCMD to update to the latest version:

app_update 1362640 validate

Save file structure

At times you may wish to migrate your server profile saves to another machine/service. Below are the files/directories that you will need to move.

/Binaries/Win32/*.sav (31 files total) /Binaries/Win32/BannedPlayers (directory) /Binaries/Win32/Player_Mp (directory) /Binaries/Win32/ProfileStats_Mp (directory)
SteamSolo.com