ValveSoftware / Source-1-Games

Source 1 based games such as TF2 and Counter-Strike: Source
647 stars 75 forks source link

[L4D2] Auto Connecting unwanted servers #5563

Closed winnietheorange closed 6 months ago

winnietheorange commented 8 months ago

I haven't been playing the game for about a month, my friends stated that after playing for a while on various group servers they entered to play together, they were automatically connected to Russian servers such as zozo.gg, exclusive coop, etc. I told them that if they try to connect to a server with the connect command while inside the server, they return to the main menu and get an error. Jumping from server to server does not work in l4d2. They said I should come and see for myself. I got into the game, I'm not using any special cfg or addon. I played for 5 minutes and in the middle of the game it connected to another server with the connect command. I could not believe my eyes. I switched to the server I wanted again with the connect command from the console, and it jumped from server to server without giving the error of returning to the main menu.

In the last l4d2 updates, you solved the problem of not being able to switch to another server and returning to the main menu when you used the connect command while in the server, but you caused a completely different problem.

Either these Russian groups and servers are deliberately stealing our players, or you have ruined the game. We cannot play with the friends we want on the server we want, it connects the players collectively to random servers with the connect command.

The videos below were sent by players who do not know each other from different servers, everyone is forcibly transferred from the server they want to play on to different servers.

https://youtu.be/yW0LYUpeJ2g https://youtu.be/t7AUEpQf9-8

Tsuey commented 8 months ago

Few additional points:

winnietheorange commented 8 months ago

Few additional points:

  • This issue has been active across various Reddit threads 1 2 3 in addition to Kerry's forum pin.
  • The zozo community is mentioned, but a few weeks ago the redirects were to CORE-SS

Speaking of core ss, they were using a bug that showed their ping as low in order to appear at the top of the steam group servers list and eventually removed the ping display as a result of 0 ping. https://github.com/ValveSoftware/Source-1-Games/issues/5484

Tsuey commented 8 months ago

Patch is Live.

Please let us know here if lobby redirects persist and, if not, this issue can be closed!

accelerator74 commented 8 months ago

Few additional points:

  • This issue has been active across various Reddit threads 1 2 3 in addition to Kerry's forum pin.
  • The zozo community is mentioned, but a few weeks ago the redirects were to CORE-SS

Speaking of core ss, they were using a bug that showed their ping as low in order to appear at the top of the steam group servers list and eventually removed the ping display as a result of 0 ping. #5484

Take a look at the screenshots below. Chinese servers broke the game interface with their garbage servers, which were attached to the main groups of the game. And it would be nice if there was some limit. But look into the search and you will see about 900 Chinese servers with the name 【CN】36.无限. All of them are leeches of the main group of the game. For the most part, it was the Chinese servers that abused this opportunity more than anyone else.

1 2 3 4

Why, for example, am I forced to see Chinese servers with a huge ping first in my list of group servers, why do I need them? This is a problem of the game and it is very, very easy to fix it, just by changing the name of the 2 functions, but alas... I have already written a solution for this to the TLS team, and am looking forward to a speedy solution to this problem. But nothing is known yet when this will happen...

accelerator74 commented 8 months ago

Also, something very strange happens when connecting to two Chinese servers without ping from the first screenshot.

Sending UDP connect to public IP 43.249.194.250:28885
Server using 'public' lobbies, requiring pw no, lobby id 0
RememberIPAddressForLobby: lobby 0 from address 43.249.194.250:28885
Server approved grace request...
Retrying connection to 43.249.194.250:28885, server requires lobby reservation but is unreserved.
Received game details information from 43.249.194.250:28885...
BinkOpen( d:\steam\steamapps\common\left 4 dead 2\left4dead2\media\l4d2_background05.bik )
Adding direct connect IP to reservation 43.249.194.250:28885
Adding direct connect IP to connection 43.249.194.250:28885
Connecting to public(43.249.194.250:28884) private(0.0.0.0:27015) direct(43.249.194.250:28885) 
Sending UDP connect to public IP 43.249.194.250:28884
Sending UDP connect to private IP 0.0.0.0:27015
Sending UDP connect to direct IP 43.249.194.250:28885
Server using '<none>' lobbies, requiring pw no, lobby id 0
RememberIPAddressForLobby: lobby 0 from address 43.249.194.250:28884
CSteam3Client::InitiateConnection: 43.249.194.250:28884
BinkOpen( d:\steam\steamapps\common\left 4 dead 2\left4dead2\media\l4d2_background05.bik )
Connected to 43.249.194.250:28884
BinkOpen( d:\steam\steamapps\common\left 4 dead 2\left4dead2\media\l4d2_background05.bik )
] disconnect 
CAsyncWavDataCache:  4 .wavs total 0 bytes, 0.00 % of capacity
CAsyncWavDataCache:  4 .wavs total 0 bytes, 0.00 % of capacity
Connecting to public(43.249.194.250:28886) 
Sending UDP connect to public IP 43.249.194.250:28886
Server using 'public' lobbies, requiring pw no, lobby id 0
RememberIPAddressForLobby: lobby 0 from address 43.249.194.250:28886
Server approved grace request...
Retrying connection to 43.249.194.250:28886, server requires lobby reservation but is unreserved.
Received game details information from 43.249.194.250:28886...
BinkOpen( d:\steam\steamapps\common\left 4 dead 2\left4dead2\media\l4d2_background05.bik )
Adding direct connect IP to reservation 43.249.194.250:28886
Adding direct connect IP to connection 43.249.194.250:28886
Connecting to public(43.249.194.250:28883) private(0.0.0.0:27015) direct(43.249.194.250:28886) 
Sending UDP connect to public IP 43.249.194.250:28883
Sending UDP connect to private IP 0.0.0.0:27015
Sending UDP connect to direct IP 43.249.194.250:28886
Server using '<none>' lobbies, requiring pw no, lobby id 0
RememberIPAddressForLobby: lobby 0 from address 43.249.194.250:28883
CSteam3Client::InitiateConnection: 43.249.194.250:28883
BinkOpen( d:\steam\steamapps\common\left 4 dead 2\left4dead2\media\l4d2_background05.bik )
Connected to 43.249.194.250:28883

It looks like some kind of redirect, while creating a lobby with the ID 0.

Localia-cn commented 8 months ago

Replying to https://github.com/ValveSoftware/Source-1-Games/issues/5563#issuecomment-1991241871

Replying to https://github.com/ValveSoftware/Source-1-Games/issues/5563#issuecomment-1991283894

Replying to https://github.com/ValveSoftware/Source-1-Games/issues/5563#issuecomment-1991241871

I'm pretty sure they did this by editing the “timestamp” in their gamedetail udp packet, same as this: https://github.com/ValveSoftware/Source-1-Games/issues/5484 They all keep themselves at the top of the server list by keeping their ping below 0.

ProjectSky commented 8 months ago

Replying to https://github.com/ValveSoftware/Source-1-Games/issues/5563#issuecomment-1991241871

sv_steamgroup requires more restrictions and does not allow unauthorized binding of groups.

lDrDooml commented 8 months ago

Replying to #5563 (comment)

sv_steamgroup requires more restrictions and does not allow unauthorized binding of groups.

To solve this problem, the token system for servers that was used in CS:GO should be implemented

Tsuey commented 8 months ago

To clarify a bit, the original reported issue should be resolved as we've not heard of any more lobby/mid-game redirects. As per this issue's title, players were literally auto / force connecting to unwanted servers with zero input made on their end, by simply idling in a lobby and being forced to a server. The Steam Group Server listing, and sv_steamgroup, all require someone to manually start a game, or the player to join an in-progress game, and are older and unrelated issues.

To solve this problem, the token system for servers that was used in CS:GO should be implemented

I would recommend that you open up a new issue and expanded on this idea -- there's no issue that I know of for L4D2 leech servers, other than some good discussion on the update team repo, which describes limiting sv_steamgroup to only the first ID.

hazmeister commented 8 months ago

Happy to raise it as a separate ticket, but worth noting since this change, the chat box in the lobby no longer announces players leaving and joining. A small regression, but it initially made me people were still being hoovered up. Think it’s just the usual impatience though.

GameRookies commented 8 months ago

Patch is Live.

Please let us know here if lobby redirects persist and, if not, this issue can be closed!

Please notify valve the new update patch did't take effect in China. Everything remains the same as before, the matchmaking system still redirects players to the cracked server.

Tsuey commented 8 months ago

Please notify valve the new update patch did't take effect in China. Everything remains the same as before, the matchmaking system still redirects players to the cracked server.

Could you post us a video of exactly what is happening, from loading the game to the bug occurring, with all addons disabled? I think we may be referring to "redirect" in different ways, per Diver76's comment.

GameRookies commented 8 months ago

Please notify valve the new update patch did't take effect in China. Everything remains the same as before, the matchmaking system still redirects players to the cracked server.

Could you post us a video of exactly what is happening, from loading the game to the bug occurring, with all addons disabled? I think we may be referring to "redirect" in different ways, per Diver76's comment.

Sorry, that's my mistake. I'll record and upload a video as soon as possible to show everyone what's happening with the matchmaking system in China. However, these crackers are very cunning, they may have seen our communication records and deliberately disabled the hijacking of the matchmaking system at certain times, just like on March 13th, in order to evade tracking by Valve's technical team.

I understand what Diver76's saying. In an earlier post, he mentioned someone exploiting by registering a large number of Steam accounts to idle on private servers, thereby increasing the chances of their server being matched with players. But the issue I'm reporting is not related to that. The 'redirect' I'm describing is different from the previous issue that Russian servers forcefully redirected players from the lobby. In China, if you select "Quick Match" or "lobby list" as a player, you will always connect to several fixed IPs (from crackers), covering various modes like coop/versus/survival etc, resulting in an inability to connect to other community servers via the matchmaking system.

Rather than a 'problem', this seems more like a bug where someone maliciously exploited a vulnerability in the matchmaking system. It's not about completely redesigning the entire matchmaking system, as he suggested, but rather about figuring out how crackers exploited this bug.

Tsuey commented 8 months ago

Sorry, that's my mistake. I'll record and upload a video as soon as possible to show everyone what's happening with the matchmaking system in China...

Thank you for the clarification that it's a different issue. We'll all keep an eye on #5297 for your video (be sure to post it in there). By comparison, the issue @winnietheorange reported here is one of the most disruptive problems L4D2 has ever experienced, so we just want to make sure the issue reported here is resolved -- which it still seems to be.

Happy to raise it as a separate ticket, but worth noting since this change, the chat box in the lobby no longer announces players leaving and joining. A small regression, but it initially made me people were still being hoovered up. Think it’s just the usual impatience though.

Kerry has seen this issue (as it's a direct regression) and let us know that Valve will look into it; no ETA, and if it isn't fixed I'd assume keeping the messages were problematic in some way.

Tsuey commented 7 months ago

... the chat box in the lobby no longer announces players leaving and joining. A small regression...

Should be fixed today.

hazmeister commented 7 months ago

... the chat box in the lobby no longer announces players leaving and joining. A small regression...

Should be fixed today.

Nice, I’ll check it out!

Edit: Confirmed working, thank you!

kisak-valve commented 6 months ago

Closing as fixed.