Subsistence

Subsistence

92 ratings
Subsistence Dedicated Server Setup
By ColdGames
Instructions on how to setup and configure a Subsistence dedicated server.
10
   
Award
Favorite
Favorited
Unfavorite
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).
Required Redistributables
The server requires at the minimum:
* Direct X June 2010
* VC redist 2010
These will install by simply running Binaries/Redist/UE3Redist.exe in the install directory.

Also required:
* VC redist 2019
The installer can be obtained through Steamworks Common Redistributables or on Microsoft's site.
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 so by running ../Subsistence Dedicated Server/Binaries/Win64/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/Win64/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
You can type "help" in the console to list the available commands (press the "=" key to dropdown the console):
ListPlayers ListBases TeleportToBase [baseId] DeleteBase [baseId] InspectBuildable ViewSteamProfileOfPlayerWhoPlacedBuildable FreeCam TurnOffAllBaseLights BanPlayerBySteamId [steamId]
Resetting/Clearing Profiles
To reset all profiles, stop the server and delete the following file:
../Subsistence Dedicated Server/SaveData/ProfileSaves/saveFilesList.sav
Then restart the server.
Updating the Server
After new updates are released, run the following command in SteamCMD to update to the latest version:
app_update 1362640 validate
Making Remote API Calls to Your Server:
Note: Currently only available in Experimental Alpha 47.45 and upwards.

The server files include a optional web service which provides an API to make remote calls via http. This allows for things like posting in-game global messages, etc.

A technical guide on how to use setup and use the API is here: https://steamproxy-script.pipiskins.com/sharedfiles/filedetails/?id=2601952438

The API is currently very early, and it's capabilities will expand over time.
Transferring co-op profiles to a dedicated server:
To do this, you just need to transfer the following folder ../Subsistence/UDKGame/SaveData to the corresponding folder on your server. Ensure the server is not running while copying these files.

If renting a Nitrado server I would recommend using a ftp client (such as Filezilla), or you can use their "File Browser" link on the server dashboard to do this.
Moving Save Files Between Servers
At times you may wish to migrate your server profile saves to another machine/service. You can do so by copying the following folder to the new server:
/UDKGame/SaveData
Note: Prior to Alpha 57 (which switched to 64 bit), save files were all stored in the /Binaries/Win32 folder.
Join the "Servers: Admin" Channel on the Subsistence Discord Server
To find help with your server, or to help out others, please join the Subsistence Discord and visit the "servers: admin" channel: https://discord.gg/zyy4jQs
104 Comments
unknown2500 20 May @ 4:13am 
I found out it is possible to convert single player data to multiplayer data for use on a dedicated server. Followed steps from the Subsistence Discord.
unknown2500 19 May @ 4:35am 
How can move my singleplayer world/progress to my new private local dedicated server?
Looks like SP and MP data are saved in different folders.
Dracconus 17 Jun, 2024 @ 5:06pm 
If, like me, you're able to connect to your server using your LAN IP, and players outside your LAN are able to connect using a Tunnel, or the


start <serverIp>:<port>?password=<adminPassword>
or
start steam.<serverSteamId>?password=<adminPassword>[/quote]


commands but the server isn't showing in the list and they're unable to connect directly with your IP:PORT, the issue is that the query port you have set in the file is one that for some reason "just doesn't work."

In this circumstance simply change the query port as aforementioned, (in my case I set it to 280155 instead of 27015) then forward the port using UDP in your router and you should be set. Restart the server / host system / router (in that order for troubleshooting) if you don't see if come up in the list.

My friends and I recently discovered this game and we're loving it. Other than a few hiccups it's easily one of the most enjoyable survival experiences we've had in games.
Lucky_Luke 16 Jul, 2023 @ 12:39am 
@HemiSatellite - Assuming this is still for Dedicated Server.
You will need to edit your UDKDedServerSettings.ini file and change hunters as per the description to what you want.
the same for the month of the year.
HemiSatellite 10 May, 2023 @ 9:59am 
Any one running this with steamcmd? if so any way to turn hunters on/off or changing month of year? thanks
N7NobodyCats 3 May, 2023 @ 5:16am 
anyone know how to enable all the disabled commands like allweapons, allammo etc etc that are disabled?
The Power 22 Mar, 2023 @ 9:14am 
Does anyone know of a docker container is availble for this and what the server specs need to be to run the container ?
Damian 24 Feb, 2023 @ 12:11pm 
How to set the creation time of the next game save? on a dedicated server.
ECV 6 Aug, 2022 @ 11:23pm 
Please keep in mind that Windows root servers usually cost double to triple than Linux root servers, and who is going to pay 80 bucks a month to test an early access game in MP.

Unless you go totally-scam-low-cost shared hosting

It is usually pretty easy to make a Linux server port, unless you have hard-coded a lot of windows stuff instead of using interfaces and hybrid libraries. In which case the game is going to die anyhow, once the architectural unfixable bugs creep in. A death that many many EA games suffer.

Anyhow, I kinda feel that a Linux server would boost interest. I know plenty of admins who wouldn't consider a game running on windows. Purely because the already have plenty of resources available on Linux. It is by far the most widespread platform for game-servers.

It's like creating new car that will only run on F1 certified racetracks- It could be the coolest car ever, but not many are gonna check it out until it will go on regular roads :)
DreadPirate 4 Aug, 2022 @ 8:15am 
Keep in mind that ColdGames is a single developer working on this game. Linux support isn't going to be top priority at this time. CG has a lot of other planned features he is working on for the base game that takes priority.

I've run countless workloads on both Windows and Linux (including game servers). Both OS's have their strengths/weaknesses. The primary reason you see many Windows based Dedicated Server releases is that a developer can remove the graphics (in a modular way) make a few adjustments and create a Windows build with very little effort. This is why I personally have had much better stability with Windows based dedicated server builds around 80% of the time. Too many developers just toss an untested, unoptimized Linux build out there as a checkbox... CG is not that type of developer.

It's possible CG may explore Linux once he reaches particular milestones. But keep in mind that it has to fit into his internal roadmap, please be patient.