-
-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bad server detection due to recent changes #364
Comments
But this still seems to be an edge case. About 90% of the time I had only 1/2 sockets (like the old way). |
Here's some data that could be used later. Case 1:Main menu:
In game:
Case 2:Main menu:
In game :
There's no issue going from in game to main menu, it does "rollback" correctly. |
It does seems like it's not fully implemented since the server ip is still a microsoft one and not a valve one so it should stay detectable by our tool |
We noticed some player complaining about no detection at all (#343) which was due to multiple UDP sockets (more than 25) opened while in normal operation SoT only opens 2 of them. One for matchmaking, one for game server.
This seems to be a concern since EasyAnticheat was implemented. (THIS DOESNT MEAN BETTERFLEET COULD BE FLAGGED /!\ I'm only stating that since easy anticheat is there we noticed some protocol changes. Betterfleet stays basically undetectable by an anticheat due to it's "passive" nature, it doesn't read nor touch to anything related to the game itself but as a VPN could do it "listens" for communication (without reading packet data itself))
After some digging it seems to happen randomly on some runtimes. Ive managed to reproduce the situation 2 times, one with 24 weird udp sockets and another time with 25 of them). By sniffing the traffic using wireshark it does seems to be some kind of installation to fetch ping from the player. Each socket gets a little bit of traffic from different IPs, owned by Steam itself. It does seems to be some kind of system like Steam Datagram Relay (SDR).
This could mean that Microsoft is currently working on a way to hide their servers ip using Steam relay servers. However, we're still able to detect the ip (moth manually and through betterfleet) and this ip is still owned by Microsoft so it's presumably the game server ip.
But this does mean something.
Based on observations and a reddit thread of CSGO Devs SDR is mainly focused on "27015-27200" range. First we're assured that we won't get any false positives since SoT servers are not on the same range.
The game server local udp socket is still the next to last one from a powershell netstat command in this type of scenario.
We're still having trouble to figure it out when betterfleet was launched after the game was. We cannot differenciate between the main menu and the in game status because of the randomness nature of amount of udp sockets related to this SDR thing.
One way could be to dome some statistical work and try to check if the next to last one is close enough to other ones. If it is, it means we're in main menu (bcs SDR local ports are following each others).
In any case it does mean we need to use powershell more in this type of scenario, which seems like a pretty bad idea due to its performance issue.
Otherwise we could just warn the user that he needs to launch again his game..
The text was updated successfully, but these errors were encountered: