Servers are bombarding router with UDP packets once the server list is requested causing a DOS
Servers are bombarding router with UDP packets once the server list is requested causing a DOS
- Legacy ID
- No Bug
Have several client machines connected to a standard router (like the WGR614v7).
(Machines can be running on any OS that supports DayZ SA)
1.) Open command prompt (if running windows) on a client machine and enter:
ping -t -l 1 www.google.com
2.) Open game on the client machines and navigate to the server list
3.) Refresh server list on two of the clients
4.) Inspect the command prompt opened in step 1
Command prompt shows loss of packets.
Using a sniffer it was noted that the servers found on the server list caused an UDP flood resulting in a denial of services effect.
Run a dedicated process on a dev-server machine that holds all the game servers in some kind of text format (the dev-server process finds and updates the game servers as the game client does right now and refreshes the information every "x" minutes) and pass the information to the game client which can process it further (represent it in GUI). Refresh button shouldn't trigger update on the whole game server list but only on the selected game server - it should trigger a direct communication b/w game client and game server (bypassing the dev-server machine).
The Friends function shouldn't be a problem if the dev-server holds all the players currently playing on all the servers.
A function should be added that allows a player to see the name and IP of the server on which he/she is currently playing.
The Remote function shouldn't just filter the requested server list with its avalable entries (which is very lazy) but should trigger a communication b/w game client and requested game server.
As the duplicates are closed, it may be useful to note in this thread that other users have had succes by disabling the firewall of their modem/router (which would mainly be the anti DDOS functionality that you are switching off...).
Furthermore, we are especially experiencing this after I turned on the IP Flood Detection on the firewall of my modem. So before switching the firewall off entirely, switch off IP Flood Detection first to see if that helps.
We now have one person looking for a server, and after joining, have the other one look in the friends tab to join, so we don't flood it entirely.
i made a few tests. i reproduced the crash again and again with my fritz box 7360.
last thing i did was du dump the tcp stream , better udp stream. could this mass udp flooding kill all the routers ?
i attached an example dump.
nevertheless i opened a call at AVM asking for help.
Here is the tcpdump stream which shows the udp storm.
Regards Oliver van der Velde
(I'm a UK Player) After the initial server list as loaded I've found that if I refresh the server list I lose all the UK server listings but gain access to all the US and Aus servers, if I refresh again I lose those and gain access once again to the UK servers.
Added a couple of screenshots.
After 1 week of investigating with AVM and my ISP both couldn't solve this issue. But ISP could also reproduce this behaviour but only with FB 7360. AVM still investigates.
I now found a suitable workaround which worked for me. "Just" route all traffic though a VPN, then the UDP Endpoint is not the Router, but the VPN Endpoint. I use a Linux Server which hosts a IPSEC/L2TP VPN Server.
After est. the VPN Connection from my WIN7 Machine Voila i can open Server Browser without any crash !
If someone is interested in more information contact me on twitter ( @ollinator2000 )
I will now stop any investigation about the udp Flooding and play some rounds of Dayz!!
@Exstinguo: you re right, a vpn is a not very suitable to decrease your latency .
but my experience is, this is no problem. i experience no lags, rubberbanding or disconnects.
i can play like a charm. I dont know how to to meassure my latency inside DayZ, if i could i would test a little bit more. ;-)
Are you saying this isn't going to be fixed?
One of the biggest issues to this game is trying to get in it, the server list DOS the game and you sit there waiting for a server list that will never appear, sometimes you have to exit the game to force a server list refresh.
Refreshing the list further adds to the problem by chucking you to the other side of the worlds servers which means you then have to refresh again adding further frustration.
Moving from internet to favourites wipes the server list, again you have to wait for the server list to appear, further DOS'ing yourself.
Love the game once in it, but seriously sort this server listing problem please.
Glad I could find this issue to up vote. Just realized that DayZ was doing this today. It has happened a few times to me but I always thought it was related to my internet, then today I was like "I think DayZ is causing this. There's no way it's a coincidence that it always happens when I start up DayZ." Sure enough, you guys confirmed it. This is a pretty big issue in my mind. Hope the gradual improvement is quick gradual and not slow gradual.
there were some major changes to netcode and server messaging. Can you please investigate on your end if the situation has improved?
Try the latest experimental build.
I never had a problem loading server lists.
Now with the latest patch...
I can load the whole server list most of the time on the first game startup. If I fail to connect to a server or sometimes just hit refresh the list will not load. To make it work I must restart my game. Sometimes it takes 2-3 restarts to load a server list.
Issue is still present. Very little improvement if any.
NO need to restart the game. If you get no servers in the browser, after several refresh-es, go to main menu and wait 2-3-5 min, so that router can sort out all packets flooding it.
You can monitor it with command prompt by pinging any site.
Usually when it gets flooded you'll see that packets don't reach the site you're pinging, resulting in a "Request timed out". Once you get a nice steady stream of pings then you're good to play again.
Restarting the game doesn't do anything. You just need to wait.. which is the annoying part.
That is correct, wait for the next version please :)
Note that the the experimental build will likely be updated sooner than stable. I can't give any eta on either at the moment however.
Tested on Stable 45.124426 and this issue is STILL present. This is game breaking and needs to be fixed now, not a month ago like it was supposed to be... You are effectively DoSing my router and that is NOT okay.
I'm sorry to hear that this issue is still bothering you. One final thing I would ask everyone experiencing this to do is to read the following article.
In case you did what is described in the article and are still experiencing this problem, please let me know!
I tried those 3 (the 4th is just funny to me) solutions on Stable 0.45.124426. To create a new string value registry setting absolutely worked for me! I refreshed the server list over and over while simultaneously pinging google.com, and the server list always worked along with the ping test. Very nice to see.
Edit: Used a value of 10000, did not have to decrease it.
Thanks a lot Accolyte!
I tried number 3 in 0.45 and it worked perfectly fine for me. After having continuesly pressed the refresh butten for about a minute I was still able to speak to my companions over teamspeak without any problems. I used 10000 as value for the regkey.
Unfortunately, the regkey CafeRate only decreases the rate with which servers are being found. This doesn't resolve the flooding issue. Any middle grade router will get overwhelmed if more then 2 people are requesting the server list at the same time. Now, I understand this game is in alpha stage but an issue as this shouldn't be hard to fix for an experienced developer. Just get your server list on an SQL database and make the client request it from there, I don't see how this can be more then several days of work.
I am also getting the floods, still. Why is that still a problem, I tried to call my internet provider and said that i got a Router that is not bad, and should handle that kind of floods, so i really dont know.
Well i got the solution:
i got the Fritzbox 7360 and the problem was the Firmware on it so i decited to update to the news firmware FRITZ!OS 06.20 and it works i can use the Server browser and i dont get any Disconnects. i hope it helps other people.
As Accolyte replied, this issue will be more of an ongoing improvement effort as it won't be "fixed" as such. For this reason, the ticket will be closed since this is not an actual bug. Again, please feel free to follow the steps described in the following Steam kb article (https://support.steampowered.com/kb_article.php?ref=4487-YUOC-6922):
To resolve this issue:
- Look for a firmware update for your router and/or modem that may resolve the issue.
- If no firmware update is available, set Steam's Internet Connection speed to a lower setting to reduce the speed that the server list populates. This setting can be changed in Steam, in "Steam>Settings" under the "Downloads" tab.
- If this still fails to resolve the issue, you may artificially limit the speed at which the list populates. To do so:
- Go to Start > Run and type in: regedit.
- Navigate to: HKEY_CURRENT_USER\Software\Valve\
- Create a new string value registry setting named CafeRate.
- Give the CafeRate regkey a value of 10000 and progressively decrease the value until the issue is resolved. A rate of 3000 should be considered the minimum value.
- If you are still unable to resolve your issue, you should strongly consider replacing your router with a higher-grade model.