Overview
A short instruction of how to install, config and run a dedicated server
Server Requirements
Since most of the physics is calculated on the server side it’s better to have a CPU with a high clock rate. Intel i7-i9 (8-10th generations) or AMD Ryzen 5-9 (2-3 generations) will be better here. For Xeon’s would be good if clock rate will be over 3.5 GHz. Roughly speaking, each server instance will take 2-3 threads so you can run multiple servers on dedicated machines with mentioned CPUs.
Of course, it all depends on the number of servers you plan to create and how loaded they will be. For example, I’m running two simple servers (Climb and Battlebots) that can run even on systems with just two cores and clock speed about 2Ghz. On the other hand, there can be servers that use much more complex vehicles and missions for their game modes. And there is no guarantee that server even with a top-notch CPU will not start slowing down the simulation.
There only two things that you shouldn’t really care about – is GPU and RAM. I don’t think you will ever be needed more than 4 GB per one Stormworks server (unless you are using mods).
A lot of data is required to be sent and received. The more players online the more traffic will be. There are no exact numbers because it all depends on the world scene (the number of objects, vehicles and theirs logic that needs to be sync) but roughly I would say you need to expect 50-300Kb/s per player.
Only Windows systems are supported for now. Confirmed to work on Window 7, Windows 10, Windows Server 2016 and 2019. Should work with no issues on Windows 8 and 8.1 as well.
Minimum:
CPU: 2 GHz
RAM: 4 GB free RAM
Bandwidth: 10 Mbps
Recommended:
CPU: 4-5 GHz
RAM: 4 GB free RAM
Bandwidth: 20 Mbps + static IP address for a public server
Server Installation
Stormworks Dedicated Server is available as a tool and can be simply downloaded via Steam if you want to try it out on your system first. But even in that case always run server.exe directly from the installation folder (do not use server launch from Steam client).
In case if you want to run an actual dedicated server I would recommend to stick with SteamCMD:
- Download SteamCMD
- Unzip it to C:steamcmd for example
- Go to that folder and launch steamcmd
- After update is finished you should see this:
- Now all is needed is login as anonymous and download Stormworks Dedicated Server files. For that you will need to type next commands (or simply copy and paste all three lines at once):
- NOTE: Of course, you can use any other directories for SteamCMD and the Stormworks server.
- If you did all right then you should be able to see SteamCMD downloading:
- Once it finished type quit to exit and close SteamCMD:
- Installation complete. Here how C: drive should look if follow exact the same steps:
Stormworks game is a very frequently updated one. We are getting new features and bugfixes pretty much every week. To keep your server be up to date I would recommend you to create a batch file in the SteamCMD directory with next content:
Linux is not supported but should work fine under the Wine so let me know if you will need a guide for that.
Server Configuration
Go to the server folder and run server.exe at least once to create a server_config.xml file that will be in %appdata%Stormworks folder by default.
Edit that file with any text editor such as default Notepad or more advanced Notepad++, for example:
Please, keep the XML syntax right.
Server data parameters are pretty much understandable but I’ll leave a note for some of them:
List of bases to put in your config:
This section is needed to give admin permissions for clients by using Steam64 ID. To find ID of your or your friends accounts you can use websites like [link] or [link]
Example:
Blacklist is simply a ban list. We fill it in the same way as we add admins. Accounts of players that were banned by admins will be automatically stored here too.
Whitelist also fills the same way but note that the server will be automatically switched into whitelist mode if there will be at least one entry. In that mode only players from that list will be able to connect.
A list of players that allowed to interact with workbench. By default only admins and whitelisted players are allowed to spawn, despawn and return vehicles so if you want other players to have that permission then you should add them to that list.
Here we put all playlists of missions and environment mods that we want on the server.
Example for enabling all default playlists and environment mods:
NOTE: Starting a server with no playlists will automatically add default missions.
If you want your server config file to be in a more comfortable folder (let’s say, in the same folder where you have your server files like absolutely most of game dedicated servers do) then you can use +server_dir launch parameter to set the path you need.
For example, server launched with these parameters will look for config and world saves in C:swds:
Or will create them with default settings if these files and folders are missing:
But if you want to run multiple servers you will need to use separate path for each one. This is how batch script look for my Mad Max server, for example:
This will use server_config.xml from the mad_max folder and automatically update and restart server on process termination (or simply on server crash).
Server Running
Just try to run the server.exe again and, if there are no issues with the server config, then you should be able to see status console with ticks and timer running.
See Known Issues if you are not reaching that status or server is crashing.
A very very basic commands we have for now:
All commands works in the chat only for now and <id> here is session ID of player that we can see in the players menu.
Firewalls and Portforwarding
To make your server be visible for other players you need to have a public IP and set your firewall to allow connections for server executable (Stormworks Dedicated Server). Here how it looks for the default Windows Firewall:
If you install Stormworks Dedicated Server as a tool via Steam client then Steam will add that rule automatically for the default Windows Firewall. For all other security software, you will need to add it manually.
If you are running a server on the machine that is behind the NAT (WiFi router in most of the cases) then you also will need to forward all three game ports. There are thousands of different router models that go with different hardware and firmware versions so I can’t show you how to forward these ports but you can use [link] website for that.
Here how it may look on popular D-Link routers with “orange” firmware:
If you run more than one server from your network you need to use different port range for each.
But be aware, that if you run server and client from the same network or even from the same computer then to see your own server you will need to enable NAT Loopback or install Microsoft Loopback adapter for example.
This is a workaround for those who run a dedicated server on the same computer/network as the game client. Please, use it only if other players already can see and join your server but you can’t.
- Open Control Panel > Device Manager and select Network Adapters
- Select menu Action > Add legacy hardware
- Next
- Select Install the hardware that I manually select from a list (Advanced)
- Next
- Select Network Adapters in the list
- Next
- Select Microsoft in Manufacturer list
- Select Microsoft KM-TEST Loopback Adapter in Model list
- Next > Next > Finish
- Close Device Manager window
- Open Control Panel > Network and Internet > Network Connections
- You should see a new connection that uses Microsoft Loopback Adapter but cannot establish connection
- Right click on that connection and select Properties
- Double click Internet Protocol Version 4 (TCP/IPv4)
- Select Use the following IP address
- NOTE: If it was already selected and you see some IPs entered then you opened a wrong connection. Get out of here by clicking Canel in both windows.
- Enter in IP address field your external IP address (you can see it here for example [link]
- You can leave default Subnet mask
- Click OK buttons in opened windows to save settings
If you did all right you should be able to see your own server when that connection is enabled.
If you lost your Internet connection then you probably changed IPv4 parameters of your actual Internet connection.
Known Issues
Make sure that Visual C++ Redistributable 2013[www.microsoft.com] is installed.
Means that server config file is corrupted or have a syntax error.
It could be server config error or something wrong with the missions or environment mods. Try to start a server with the default config.
If you downloaded it as a tool using Steam client then always run server.exe directly. Also, Make sure that server ports are forwarded and your firewall is not blocking server executable. Check server in the Steam server browser [url]steam://open/servers[/url] or ask your friends to check server visibility. It could be that it’s just because of NAT.
There is no support for non-latic characters so you better to avoid them in server naming.
The game is still in developement and dedicated server is something that surely may crash. Please, report all issues using a Report a Bug button in the game menu. It would be super helpful if you will also attach crash minidumps that should be in the folder with the Stormworks server files.
Suggestions
This is a very early version of the dedicated server for the Stomrworks game. There is a long road before we will reach something that will be comfortable to run and manage, so please, be patient.
Feel free to ask questions and leave suggestions in comments. I’ll put most popular wants here:
- Add Linux support
- Add automatic vehicle cleanup
- Add vehicle spawn queue
- Allow admins always have access to creative menu (even if it’s set to false)
- Allow admins join full server
- Allow admins join without entering a password
- Allow whitelisted players join full server
- Allow whitelisted players join without entering a password
- Enable/disable whitelist mode only (to have passworded servers with whitelists to allow not whitelisted players join it so admins can ?add_whitelist on the go)
- Enable/disable that new mode where only authorized players can spawn vehicles