tf2patcher icon indicating copy to clipboard operation
tf2patcher copied to clipboard

Linux Support!

Open IgLocoXD opened this issue 3 years ago • 15 comments

I don't know if this patcher gonna have a Linux version, it would be amazing, because there is no patcher for TF2 Linux ver. and the old methods doesn't work some times :(

IgLocoXD avatar Aug 27 '22 06:08 IgLocoXD

This is incredibly difficult, even when using sudo / wheel. Probably not possible.

avetharun avatar Dec 14 '22 03:12 avetharun

Who said anything about sudo/wheel? It could just be a Linux compatible binary

kinoko87 avatar Apr 04 '23 18:04 kinoko87

Although until that day, which I assume is not coming, the best workaround is just using wine just do sudo apt install wine and enjoy

kinoko87 avatar Apr 04 '23 18:04 kinoko87

It's possible to build a Linux binary in test environment on Windows 10/11 with WSL and go from there.

alkaris2 avatar Jul 12 '23 22:07 alkaris2

I do not have much knowledge on how to perform the exploit, but I tried to refactor the code to work for Linux and was unsuccessful. Wine alone doesn't work since the way the patcher detects the game being open is incompatible with wine.

The two main hurdles for Linux compatibility from what I see are

  1. Figuring out how exactly to attach to the hl2_linux process in order to perform the patch. This isn't too hard to do as long as you can properly close handles to not get detected by VAC
  2. Whether or not the patch memory address is the same on Linux, and if not how to acquire the new address

I am interested also in the equip region fork of this project, but that comes with it's own issues. If you open the game unpatched, it will de-equip any conflicting items you had, so you have to patch every time you open the game. It might be possible to set up a script to automatically run any given patcher when the game opens, but that's a later step.

rsedxcftvgyhbujnkiqwe avatar Apr 12 '24 19:04 rsedxcftvgyhbujnkiqwe

I do not have much knowledge on how to perform the exploit, but I tried to refactor the code to work for Linux and was unsuccessful. Wine alone doesn't work since the way the patcher detects the game being open is incompatible with wine.

The two main hurdles for Linux compatibility from what I see are

1. Figuring out how exactly to attach to the hl2_linux process in order to perform the patch. This isn't too hard to do as long as you can properly close handles to not get detected by VAC

2. Whether or not the patch memory address is the same on Linux, and if not how to acquire the new address

I am interested also in the equip region fork of this project, but that comes with it's own issues. If you open the game unpatched, it will de-equip any conflicting items you had, so you have to patch every time you open the game. It might be possible to set up a script to automatically run any given patcher when the game opens, but that's a later step.

Figuring out how hl2_linux launches isn't that difficult to figure out. When you launch TF2 on Linux it first executes a script hl2.sh before executing hl2_linux, attaching to that process is non-trivial, you just look up the PID that the game is running on from your task manager and attach a debugger like GDB or Scanmem to the running process. However injecting to a running process shouldn't necessarily be needed, you can just add the patched payload into the hl2.sh script by creating a containerized environment so it can launch with the game.

alkaris2 avatar Apr 15 '24 05:04 alkaris2

ngl this on thing on linux will be fire. Bump.

catdotjs avatar Apr 16 '24 18:04 catdotjs

Figuring out how hl2_linux launches isn't that difficult to figure out. When you launch TF2 on Linux it first executes a script hl2.sh before executing hl2_linux, attaching to that process is non-trivial, you just look up the PID that the game is running on from your task manager and attach a debugger like GDB or Scanmem to the running process. However injecting to a running process shouldn't necessarily be needed, you can just add the patched payload into the hl2.sh script by creating a containerized environment so it can launch with the game.

I was thinking about putting something within the hl2.sh script too. How would the patched payload work, just patching the client.so file itself instead?

rsedxcftvgyhbujnkiqwe avatar Apr 17 '24 19:04 rsedxcftvgyhbujnkiqwe

I went ahead and developed a equip region patcher for linux, which utilizes the same principle but just patches different memory. I don't have much interest in the decal patcher itself, but if someone wants to figure out how to patch the decal for the linux 64 bit binary, feel free to fork it and patch the memory modification to perform the decal patch instead.

rsedxcftvgyhbujnkiqwe avatar Apr 22 '24 06:04 rsedxcftvgyhbujnkiqwe

please please please can i please have some linux support sir please sir thank you that would be really really awesome

VexagonGD avatar Sep 29 '24 00:09 VexagonGD

i spent actual hard earned money on my photo ID badge, found no other tools, i need a linux support for this please

VexagonGD avatar Sep 29 '24 00:09 VexagonGD

@VexagonGD

please please please can i please have some linux support sir please sir thank you that would be really really awesome

There's no point of begging for linux support from @default-username-was-already-taken, it's very unlikely that he'll ever respond. You can try and go to the dborodin836's tf2patcher fork and ask there. I can also apply the decal for you for free, if you provide the items (shocking), as a one-time deal, until Linux support is added.

teufortressIndustries avatar Sep 29 '24 01:09 teufortressIndustries

Uhh, actually, i think you can't? because dborodin has disabled the issues page. I guess the only option is for you to contact the dborodin directly.

teufortressIndustries avatar Sep 29 '24 01:09 teufortressIndustries

@teufortressIndustries

Would you be willing to apply the decal for me? Im on linux and cant apply a decal either. Heres my steam.

viktorshlong avatar Mar 10 '25 00:03 viktorshlong

@viktorshlong sent you an invite

teufortressIndustries avatar Mar 10 '25 00:03 teufortressIndustries