Issue

This evening, I was struggling to access my new “7 Days To Die” server after provisioning a new Rocky Linux 8 VM to host it on. As a preface, I have plenty of experience hosting both bare-metal and VM game servers. For Steam games, my tool of choice is typically LinuxGSM by Daniel Gibbs. This is a fabulous piece of software that abstracts some of the nitty-gritty away (which definitely helps when running servers from multiple games).

Port-Forwarding

Normally, I would chalk a connection issue up to a misconfigured port forward. I quickly determined that another issue was at fault when I couldn’t access the server from the LAN. That is a telltale sign something else is at play.

Google Searching

After many dead ends, I stumbled upon this r/7daystodie thread where the OP noticed that there is a parameter in the settings file that prevents SteamNetworking from being enabled. I was dumbfounded that a default setting in the server config prevents networking/connection on the main platform of distribution.

Important Settings

On line 15 of my configuration file (sdtdserver.xml), I removed SteamNetworking from the value field. This was based upon the suggestions from the above Reddit thread.

<property name="ServerDisabledNetworkProtocols" value="SteamNetworking"/>      <!-- Networking protocols that should not be used. Separated by comma. Possible values: LiteNetLib, SteamNetworking. Dedicated servers should disable SteamNetworking if there is no NAT router in between your users and the server or when port-forwarding is set up correctly -->

Wrap-up

I found that, when using a text-editor such as nano to edit the configuration file, the comment is obstructed which explains that SteamNetworking should be removed when “port-forwarding is set up correctly”. I would definitely say that this is user error, but from a developer side, it could definitely be more clear that this value needs to be modified before use (without relying on line-wrap). This value is easily missed and there is no emphasis or clarity that a server won’t be accessable unless you pay close attention to the configuration.