ValveSoftware / Source-1-Games

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

[TF2] Users can connect to 64-bit VAC secured servers on the 32-bit client by creating a shortcut to the exec with the -steam launch option #5868

Closed slender100 closed 6 months ago

slender100 commented 6 months ago

There seems to have been a misunderstanding with issue #5777, where it was originally thought that the 32 bit binary was a bug, but that is not the case.

Normally, attempting to use the 32 bit client (tf.exe) via launching it directly from the game's folder to join into any VAC secured 64-bit server will fail, stating that the player is in insecure mode.

However, this can be circumvented by creating a shortcut to the executable with the -steam launch option, allowing 32 bit clients to connect to any VAC secured 64 bit server, as demonstrated here.

This is currently being used by bot hosters in order to join into VAC secured 64 bit servers without needing to completely overhaul their current cheat for the new 64-bit client, as they can just use the pre-exisiting 32-bit client with this circumvention method.

As described by @Joshua-Ashton in the aforementioned issue, the 32-bit client is still used for tools that have not been updated to be compatible the 64-bit client, which means the 32-bit client itself should not be capable of connecting to official VAC secured 64-bit servers, and I am under the assumption that this, in itself, is not intentional, as the current client that steam uses to launch TF2 is the 64-bit client.

Fixing this would not only neuter those currently hosting bots, but also fix any potential issues that may transpire from how the 64-bit server parses 32-bit clients.

kisak-valve commented 6 months ago

Hello @slender100, as previously mentioned (https://github.com/ValveSoftware/Source-1-Games/issues/5777#issuecomment-2067776011), the Windows 32 bit Team Fortress 2 client having normal Steam network functionality is not a bug. This is not circumvention. If the 32 bit client is from the same build version as the 64 bit client, they should be compatible.

slender100 commented 6 months ago

Hello @slender100, as previously mentioned (#5777 (comment)), the Windows 32 bit Team Fortress 2 client having normal Steam network functionality is not a bug. This is not circumvention. If the 32 bit client is from the same build version as the 64 bit client, they should be compatible.

I don't believe that having normal network functionality was a bug, I said that being able to connect to VAC secured servers with the current 32-bit client was unintentional, and there is currently no way to normally launch the 32-bit client within the steam client, apart from older builds for demo playback within betas.

This is actively being used by bot hosters to run their 32-bit builds of cheats, while still being able to connect to 64-bit VAC secured servers.

wgetJane commented 6 months ago

This is actively being used by bot hosters to run their 32-bit builds of cheats, while still being able to connect to 64-bit VAC secured servers.

i'm very confused what you think a fix for this issue would even be

even if valve prevents 32-bit clients from connecting to vac-secured servers or just outright stops serving the 32-bit binaries, the current 32-bit binaries would still exist

people can just back them up or literally just download them using DepotDownloader

note that the linux version of tf2 only comes with 64-bit binaries right now, so it's likely that they're already using older binaries (afaik most bot hosters run their bots on linux)