Question UDP Traffic Only Works on WiFi (Not Wired

Jun 1, 2022
5
0
10
Okay, I have a really odd issue that's driving me crazy. I have a group of 20-30 users that connect to my game server over UDP that suddenly were unable to connect. They are able to connect to other servers of mine, just not the one they "normally" connect to. The oddest part is, for those that can, switching to WiFi (over wired) seems to allow them back in?! I would expect the other way around if anything. Here are my findings so far:
  1. Router and modem manufacturers are all different
  2. ~60% of users were able to connect if they switched completely to WiFi over wired. The other 40% consist of those who do not have wireless cards, or (for 1-2) still didn't work (they may have just not followed instructions, though)
  3. Traffic for the game operates over UDP
  4. I tried having users mess with multicast (from another post), but still no luck.
I read a little about IGMP snooping, but wasn't sure if this would realistically work (as well as still waiting for a potential victim). My other thought is there is DDoS protection in place on the server which may be preventing certain IPs from connecting, however, based on the number of reports as quickly together as they did, I don't suspect this (as well as hundreds of others are able to connect just fine, including myself). I also read about attempting to disable IPv6, but I don't know how this would help.

Any guidance or suggestions to try would be great!
 
Update! So I've learned, in 100% of cases so far, that if the user changes their internal IP (192.168.x.x e.g.) they are able to connect. Why would this break in the first place?
 
Your post is all over the place with conflicting network concepts.

Is this in some kind of lan or are you connecting over the internet.

The internet only sees the person router it has no idea how they connect. Everything comes from that single IP address and it does not matter if they connect via wifi ethernet or even say USB. The internal IP are all translated to that IP so it does not matter what IP they use.
You can not use any form of multicast on the internet. Not sure why this was never implemented it would be a great way to do live stream video. Multicast is pretty much dead even on private corporate networks they use other methods to transmit things like video.

UDP has all kinds of issues passing through firewalls. Even simple NAT will block it which is why things like UPnP exist.

Now if you are running some kind of private vpn and then passing traffic over that maybe private IP make a difference. I don't know you are going to have to be much more clear about what you have set up.
 
Your post is all over the place with conflicting network concepts.

Is this in some kind of lan or are you connecting over the internet.

The internet only sees the person router it has no idea how they connect. Everything comes from that single IP address and it does not matter if they connect via wifi ethernet or even say USB. The internal IP are all translated to that IP so it does not matter what IP they use.
You can not use any form of multicast on the internet. Not sure why this was never implemented it would be a great way to do live stream video. Multicast is pretty much dead even on private corporate networks they use other methods to transmit things like video.

UDP has all kinds of issues passing through firewalls. Even simple NAT will block it which is why things like UPnP exist.

Now if you are running some kind of private vpn and then passing traffic over that maybe private IP make a difference. I don't know you are going to have to be much more clear about what you have set up.
Hey! Thanks for the reply. My networking concepts are kind of all over the place because the issue is so weird! The host is public, and people are able to connect to it just fine. Clients are connecting to the public host over UDP ports (2302 to be specific). Suddenly, 20-30 clients just couldn't connect anymore (out of hundreds). The reason why I made this post is because of the oddity that, when the users switch to WiFi, they are able to suddenly connect again, and what does this indicate the root issue may be? As this makes 0 sense to me because, as you said, regardless of if you are connecting to a public server using WiFi or Ethernet on your internal LAN, it gets translated anyways and, in a sense, "Doesn't matter" - That is the exact oddity of this whole thing! It's like it's breaking the rules of networking itself!
 
It is much more likely it is something strange with how the UDP traffic is interacting with the NAT. Unlike TCP the router does not know when a session is closed because UDP does not have that concept. It puts things in the NAT table and then sets a timer for when to remove the rule.
It could also be on the firewall or even NAT on the server side depending on how it is implemented.

This is one of those you would need to actually capture traffic that is failing. It is not likely to have the same failure on many different end users so it would be more likely they were sending the data and it was being blocked or dropped someplace on the server side. It get very hard to troubleshoot this type of stuff when you do not actually have control of a lot of the equipment.
 
It is much more likely it is something strange with how the UDP traffic is interacting with the NAT. Unlike TCP the router does not know when a session is closed because UDP does not have that concept. It puts things in the NAT table and then sets a timer for when to remove the rule.
It could also be on the firewall or even NAT on the server side depending on how it is implemented.

This is one of those you would need to actually capture traffic that is failing. It is not likely to have the same failure on many different end users so it would be more likely they were sending the data and it was being blocked or dropped someplace on the server side. It get very hard to troubleshoot this type of stuff when you do not actually have control of a lot of the equipment.
You know, that actually makes a ton of sense. I'm going to give a few things a try