Jump to content

Steam datagram relay option for dedicated servers, often causes worse latency for clients


TheCatInABox

Recommended Posts

Add an option to disable Steam's datagram relay.

Why:
Steam's datagram relay does wonders for when you want to mask a servers/client ip, and prevent it from being DDoS. It also can have the added benefit of lowering latency. The only issue is that in a lot of cases, it increases latency, causes connection issues or causes basically unplayable ping.

SDR works really well when you and the client are near steam's endpoints, but a lot of the cases, that just wont happen.
 

Notes:

Valheim use to use SDR by default, but found out that using direct connection was faster in most cases, and decided to make SDR an optional flag. https://steamcommunity.com/games/892970/announcements/detail/3058478454632856787

 

There's also been a case whilst researching where I believe SDR has been a negative impact on other server hosts/people trying to play.
https://www.reddit.com/r/projectzomboid/comments/rrbki5/psa_if_you_or_your_friends_lag_or_have_connection/


Real world issue:

Preface:
- Dedicated server, no resource sharing or VM stuff going on. Its located in Finland. Server handles 30 players just fine.
- Client has full fibre internet, located central Europe.

I've been hosting a server that's got around 20-30 players. One client has perfectly stable ping (20 to 30ms) until one day, they joined and got around 200-300ms. For what ever reason, the relay near their city is down (?), or is routing packets incorrectly. When they join the server, the IP is assigned to a relay in china, where one hop goes from 30ms to 230ms.

Finding out this game uses SDR was a bit of a pain, since it's not documented anywhere (?), and it was more of a guess as I've seen similar issues in other server's I've hosted that use SDR.
There's no way for us to fix this for that client, as there's no way to disable it, or have them disable SDR on their end.
 

 


Work around:

-nosteam disables it, but it also ruins workshop support, and a few servers want mods that auto update and be visible on steam's server browser.

Solution:
Just a simple -nosdr or SDR=0 will work.


Thank you for reading this!
 

Edited by TheCatInABox
Small mistakes upon re-reading
Link to comment
Share on other sites

Update:
We've confirmed it is steam relay's causing the higher ping. The client has been connecting to the server & blocking any relay IP that has high ping, which has apparently fixed the issue and made their ping go back to playable levels.  (They still get the odd one or two high ping instances when joining, but that's to be expected until they block any out of city ones)

I'm guessing this is an issue with steam SDR not choosing the closest relay.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...