Skip to content
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

Request to remove cheat engine + game conqueror #618

Closed
GloriousEggroll opened this issue Oct 4, 2022 · 29 comments
Closed

Request to remove cheat engine + game conqueror #618

GloriousEggroll opened this issue Oct 4, 2022 · 29 comments
Labels
enhancement New feature or request

Comments

@GloriousEggroll
Copy link

Unfortunately I've had to remove steamtinkerlaunch from the Nobara installation ISOs because I do not want to risk users getting banned by any anticheat scanners for any reason:

https://github.com/frostworx/steamtinkerlaunch/wiki/Cheat-Engine
https://github.com/frostworx/steamtinkerlaunch/wiki/GameConqueror

I do not see the value of having these added to a steam-specific tool that is otherwise very useful. If these could be removed I'd be happy to re-add steamtinkerlaunch to the Nobara install.

@GloriousEggroll GloriousEggroll added the enhancement New feature or request label Oct 4, 2022
@frostworx
Copy link
Collaborator

frostworx commented Oct 4, 2022

Thanks for the suggestion! I personally don't care if both would be removed (in fact I even considered to remove CE before for various reasons), but I'm short of time to do so currently.

edit: I'll simply remove both whenever I continue with the mo2 rewrite, so no need to think about a PR if someone considered.
I never used any of both tools, and wouldn't miss any CE related "reports" for sure, so I fully support the suggestion.

@sonic2kk
Copy link
Owner

sonic2kk commented Oct 4, 2022

Perfectly understandable and I also think removing these is a good choice.

CheatEngine seems like it can be used independently of STL anyway and still work, I don't think you have to launch games through it and even if you do, people using game hacks are doing so at their own risk. Plus, in my own personal opinion, CheatEngine seems a little sketchy... GameConqueror I have no idea about but if it's risky to use it can be removed as well.

People that do want to use these can install them separately and use those programs as custom commands.

Dunno if it's worth rolling a new release right after removing these so it could be a while before STL is added back to the Nobara repos for any Nobara users that come across this. I can update the wiki page saying that it's been temporarily removed, though.

I wonder, just while we're on the subject, is there anything else that needs modifying? I had a look through the wiki pages and I don't see any other offenders.

@zany130
Copy link
Collaborator

zany130 commented Oct 4, 2022

Not too sure about removing cheat engine, on the one hand, I agree upstream makes it very difficult to acuire the program without risky malware, and that's pretty sketchy ... also agree with @GloriousEggroll about not wanting to include stuff that can lead to a ban..... but by the same token dxvk async and reshade/specialk can lead to bans as well ( with dxvk though I don't think there have been confirmed cases, reshade/specialk however I think does.)

cheat engine does have uses outside of the obvious cheating use cases. It is sometimes used for mods (free camera mods, debug options, etc.)

One proposal I think would be what if we hide those options by default and add a disclaimer to not use those tools in online games.

@sonic2kk
Copy link
Owner

sonic2kk commented Oct 4, 2022

I think the problem from reading in the GE server is that they can get flagged up by anti-cheat scanners specifically because they are for cheating. ReShade, SpecialK and DXVK Async are separate as they aren't really "programs" that anti-cheat scanners can flag up. Afaik these are all DLLs which sure, the scanners could flag up, but it's probably less likely than CE and GC.

And these can be enabled/disabled at will (well I'm not sure about ReShade tbh), whereas CE/GC could be installed for one game but anticheat could flag it up for other games as they have a tendency to scan your system for these kinds of programs (on Windows EAC has even been known to ban for having VMware installed)

@zany130
Copy link
Collaborator

zany130 commented Oct 4, 2022

I agree the risk in CE is way higher than reshade/specialk and dxvk async (something I forgot to mention reshade disables itself when it detects a network connection not sure about special k so they do have ways of mitigating possible bans.)

as for just having the tool in your prefix I never that about that being a potential red flag for anti cheats (isn't that extremely invasive?) I thought you had to be actively using the tool in question. I don't play any anti cheat games really (since I play mostly single player games which have DRM which is similar)

afaik I think steamtinkerlaunch doesn't install cheatengine into the the game's prefix but into ~.config/steamtinkerlaunch/Downloads/cheatengine/
so not sure if just having it downloaded would be able to trigger the anti cheat.

@sonic2kk
Copy link
Owner

sonic2kk commented Oct 4, 2022

(isn't that extremely invasive?)

Yup. Some client side anticheats can be pretty invasive but I won't turn this into a topic about my opinions on anticheat 😉

as for just having the tool in your prefix I never that about that being a potential red flag for anti cheats (isn't that extremely invasive?) I thought you had to be actively using the tool in question. I don't play any anti cheat games really (since I play mostly single player games which have DRM which is similar)

afaik I think steamtinkerlaunch doesn't install cheatengine into the the game's prefix but into ~.config/steamtinkerlaunch/Downloads/cheatengine/
so not sure if just having it downloaded would be able to trigger the anti cheat.

That's a good point, but I think removing it is probably safer (and I'll trust GE that this can flag up anti-cheats, he's way more knowledgeable on this space than I am). Having said that, you could still install and use CheatEngine/GameConqueror. Afaik STL doesn't do any "special sauce" to get it running, so you could just download and install it to a custom prefix and set it as a custom command with STL. So you can still use CE/GC but it's a bit more work - Which I'm honestly okay with given that 1) this was requested and from what I can ascertain requested for good reason, and 2) it reduces maintenance cost for STL 😅

I definitely get wanting to keep it and I'm not trying to devalue that at all. You'll still be able to use CheatEngine and if you really want CheatEngine functionality, you can always set it up manually. True, you could argue this for a lot of STL, but it is "riskier" to include this in STL purely because of the anti-cheat issue. By removing it we put the risk more directly onto the user and make it "safer" so-to-speak for regular users to use SteamTinkerLaunch without the risk of having it labelled as a cheat program or potentially getting innocent users banned for a feature they may have never used or only used once.

Hope that kind of explains my side of this at least 😃

@zany130
Copy link
Collaborator

zany130 commented Oct 5, 2022

Well I always heard CE is pretty much an instant ban where as the others I mentioned more of a possibility. So totally agree this is a valid concern

I just brought those other tools up to suggest maybe (and I feel like I seen this mentioned somewhere else before in the context of making the menu less cluttered ) if maybe hiding such settings behind a toggle may be a good idea? Falling that I agree the best course of action would be removing CE support.

@AliceDTRH
Copy link

AliceDTRH commented Oct 5, 2022

I personally think it's best to not download it automatically but still keep support. CheatEngine is useful not just to cheat but also to apply patches to fix certain software or to analyze games for modding. If users enable it, I imagine they are aware of the risks and if not, then maybe we could add a warning or something.

In addition I think that this is extremely invasive and it makes me sick we even have to consider this possibility on a Linux system in the first place.

Are there ways to setup wine prefixes/your system in a way that prevent this kind of behavior? I think the problem here is the anti-cheat software, not the fact that the user has these tools on their system, in their personal folder, not even running.

@sonic2kk
Copy link
Owner

sonic2kk commented Oct 5, 2022

I read back through the messages posted on the Discord and it seems like this is a dependency issue. STL can pull in GameConqueror as an optional dependency, though it is optional I can see why a package maintainer might still not want STL to use it at all.

But I'm not sure about Cheat Engine now that I think about it. Is the issue really just that a user could have Cheat Engine installed? STL doesn't pull in CE as a dependency, a user has to manually install it from STL. Is it just having the ability to more easily use this tool that is causing the problem?

@GloriousEggroll If you have anything more to add here about what the problem is more specifically that would be great 😃 I'm also just curious myself, is having the ability to download Cheat Engine automatically/at all with STL the problem? And as for GameConqueror, is the issue that it is an optional dependency? I'm not trying to be argumentative or anything, just want to make sure everything is clear :)

If the issue with CheatEngine is the automatic downloading we could remove that and maybe replace it with pointing to a downloaded CE installer, rather than STL fetching it, which I think @zany130 suggested.

I personally don't use Cheat Engine and if it does have to be removed to prevent anticheats flagging anything up, we can go from there, but more background on the problem would be nice to ensure there's no misunderstandings. And for users that miss these programs we can point them here to tell them why it was removed and also tell them that if they do wish to use CheatEngine they can set it as an STL custom command. More background can help remove any doubt that removing these tools is the most reasonable path forward and that we're all on the same page about the justification 🙂

@zany130
Copy link
Collaborator

zany130 commented Oct 5, 2022

If the issue with CheatEngine is the automatic downloading we could remove that and maybe replace it with pointing to a downloaded CE installer, rather than STL fetching it, which I think @zany130 suggested.

Well I was suggesting to hide the options all together from the game menu. And either add a new advanced tab or a global setting to hide/show them in game menu

I remember this was once talked about for controlling how many settings/tools are shown to the user by default. So some settings/tools need the advanced filter set for it to be accessible and then ofc it could also be possible to manually set the option in the steamtinkerlaunch config file for the game regardless of the global filter. So it would just be hidden in the GUI

EDIT: although I don't know if this would address GE concerns, especially since his main concern sounds like is gameconqueror being a dep which wouldn't change by just hiding the option. I would also like gameconqueror to be kept as its is a much better open source tool without any of the sketchy ads bundled in.

@GloriousEggroll
Copy link
Author

you guys are reading into this way more than needed. I just dont want to ship anything with cheat/cheat engine capability. even if the program itself doesnt pull in a dependency i still dont like the fact that its able to utilize cheat engines. I dont want those engines OR steamtinkerlaunch to get picked up by any anticheat scanner. Its not worth the risk and not something that can be shipped.

@frostworx
Copy link
Collaborator

In the first place, I remove both because

  • probably nobody uses Game Conqueror from steamtinkerlaunch anyway
  • CE is annoying for multiple reasons already for a longer time and this is a good opportunity to stop all those CE related "issues"

It is nice to have steamtinkerlaunch in @GloriousEggroll's iso, but not the main motivation to actually remove both
(I fully agree to the arguments though, so also from this perspective a good decision)

For those who want to keep CE functionality:
this might be a good opportunity to start a new steamtinkerlaunch fork and contribute (non CE) back.
Would be nice to gain more contributors that way ;)

@sonic2kk
Copy link
Owner

sonic2kk commented Oct 5, 2022

Just wondering what makes CE/GC more risky to anticheats than the ability to launch any custom program or things like MO2/Vortex/SpecialK. Is it just that the anticheats will specifically flag this stuff up? Just curious honestly 😃

That's not to say I don't support removing direct CE support, and I'm kind of indifferent on GC, this is more a general issue. In my mind, if this is removing something because an anti-cheat specifically looks for it, what happens if they start looking for something like SpecialK? Since I'm not totally familiar I don't know what makes those tools specifically different especially when it was pointed out that they have uses outside of cheating in spite of CE's name. What is it that makes these tools risky but other tools not risky?

There's little tone in text so I don't mean to be rude with any of this asking. Not trying to be pushy or demanding and sorry if it comes off that way. Only asking questions :)

@frostworx
Copy link
Collaborator

Unquestionably, any tool customizing the game process can be risky in one way or another.
Users are always clearly self-responsible when using any manipulation tool, including mods,
I won't wipe support for any mod tools though, because it is simply important for linux gaming to not be excluded from modding
(still wouldn't mind more contributions apparently here, because I don't mod)

I was undecided if removing SpecialK was the better choice once when it didn't have a proper download option, but as that changed, I decided to keep support for it. I still have no real use case for me personally (maybe I should simply read more about it, but even then, I probably won't use it because I don't play very much, ironically), but until it doesn't cause too much work, I will keep it.

@sonic2kk
Copy link
Owner

sonic2kk commented Oct 5, 2022

Unquestionably, any tool customizing the game process can be risky in one way or another.

I absolutely agree, more or less I'm wondering what separates CheatEngine here that makes it so critical to remove. I'm positive it wouldn't be flagged up if it wasn't, this is for my own knowledge and for future users that might end up here 😄


You mentioned a fork earlier, perhaps I (or someone else) could host a branch on a fork that attempts to keep CE/GC functionality. Then a patchfile could be generated from that and applied. It's cumbersome and if that's a really bad idea or something you aren't comfortable with, that's totally okay. Just an idea I had for the users that might want this functionality, but it could also come back and still have anticheat potentially flag up STL even though the user has modified the code themselves.

Just throwing ideas around 🙂

@frostworx
Copy link
Collaborator

I don't like having CE support around since their hide-a-trustable-download-source-behind-a-patreon-paywall-thingy, so I'm glad to use that opportunity (for GC it is mostly the gui, as scanmem support built-in steamtinkerlaunch using yad would be much nicer, but also the requirement for root priviledges)

Anybody is free of course to create and maintain a fork, but I would hate loosing your contributions to steamtinkerlaunch, of course. Why not leave it to those who actually really care a lot for cheating and therefore leave the chance open that new users become active with contributing new stuff? 🤓

@AliceDTRH
Copy link

AliceDTRH commented Oct 5, 2022

I don't like having CE support around since their hide-a-trustable-download-source-behind-a-patreon-paywall-thingy,

Totally agree with that, if they make it so difficult to redistribute.
I personally only used CE for creating mods and don't mind seeing it go if the issues with CE itself are motivation behind the decision.

@sonic2kk
Copy link
Owner

sonic2kk commented Oct 5, 2022

Agree on the CE stuff, though I didn't want to get my personal thoughts on it too mixed up in this thread 😄

Anybody is free of course to create and maintain a fork, but I would hate loosing your contributions to steamtinkerlaunch, of course. Why not leave it to those who actually really care a lot for cheating and therefore leave the chance open that new users become active with contributing new stuff? 🤓

You make a good point heh, and I never meant to imply I'd stop contributing. As long as I have ideas I can contribute and things I can give back I'll keep doing so! But you make an excellent point, it's also better to leave it up to other users who are more familiar with the program(s) to maintain those forks 😄

@zany130
Copy link
Collaborator

zany130 commented Oct 5, 2022

Why not leave it to those who actually really care a lot for cheating

Like i and @AliceDTRH mentioned cheat engine is useful for modding games which you mentioned is something that steam tinker launch should facilitate.

I also don't see how having a toggle which automatically install cheat engine to a global location on your Linux install where windows anti cheat has no business mucking around in. Is any more dangerous than having a similar check box for modmanager, vortex,reshade and specialk (both which actually affect the game directory were anti cheat does have business mucking around in.)

This sounds like more of an - issue of being associated with a program that has cheat in the name and potentially allows unfair cheating in online games leading to (rightfully) baned accounts. That is a users problem for doing something wrong (gaining an unfair advantage in a online game)

Nothing will change with cheat engine removed.

People who want to use cheat engine for legitimate uses will download it and add it as a custom command.

People who want to cheat and gain unfair advantage in a game will download it and add it as a custom command

Both cases will be facilitated by steam tinker launch and user will still complain when something goes wrong with it.

I personally only used CE for creating mods and don't mind seeing it go if the issues with CE itself are motivation behind the decision.

Aggred, however the distribution issue was solved when i found that scoop installer (a windows package manager) provides un modified binarys built from cheat engine source.

@AliceDTRH
Copy link

AliceDTRH commented Oct 5, 2022

@zany130 I agree with the points you raise, looking more into the actual issues raised at https://github.com/frostworx/steamtinkerlaunch/wiki/Cheat-Engine#notes though, I see that CheatEngine has not only made it more difficult to obtain their software, they also do not allow redistribution of their software. See https://github.com/cheat-engine/cheat-engine/blob/26923f19269e112958ba42f31adb8777fc9cca3a/Cheat%20Engine/release/License.txt#L15

@zany130
Copy link
Collaborator

zany130 commented Oct 5, 2022

Good point didn't check if upstream allows redistribution.

I assumed scoop was redistributing the binary's it was fine if we used scoop binary's of CE. (I did ask them if it was ok we use their binary's.)

@sonic2kk
Copy link
Owner

sonic2kk commented Oct 5, 2022

Then that just leaves GameConqueror, which seems more friendly but likely doesn't need inclusion in STL. The option in STL just runs the GameConqueror script which needs to be installed by the user manually anyway. This one would be very easy to just set as a forked custom command since they can probably just run which gameconqueror and then point a custom command to that path. This is much less of a "loss" than Cheat Engine which is a Windows program and STL did some setup for, GameConqueror seems very straightforward to use even if there is no option for it built into STL.

If someone was going to maintain this feature, CheatEngine seems problematic to keep but GameConqueror seems fairly straightforward (should just be a checkbox, a path in the global menu and some launch command appending). Just putting that out there for anyone in future that might consider this.

@frostworx
Copy link
Collaborator

frostworx commented Oct 6, 2022

random rough idea for a possible new Steam-Collection feature:
check additionally for collections starting with "RUN_" (so for example "RUN_gameconqueror")

When found, check if there is a corresponding STL config file (for example under ~/.config/steamtinkerlaunch/run/)
and if it has enough useful information for a custom start.

it could have multiple options, like required command line parameters, download url, download dest,
absolute path to the executable, native or windows and so on... you get the point.
basically it is a enhanced, more versatile custom program launch with "unlimited" options (edit: combined with the long time removed tweaks feature, which had automatic configuration settings per game imported from protonfixes, lutris and some self rolled ones)
Not saying that I will add it (in the near future), but might be worth to discuss at least.
If there is broader interest, it would make sense to open a separate issue for further brainstorming.

@KBouder
Copy link

KBouder commented Oct 7, 2022

That would be really handy (especially for Xbox 360 emulation on Linux (when it's actually ready), as some games actually require the use of Cheat Engine in order to get them fully playable. Lost Odyssey for an example.

Referencing #625, this might be the best way to make this work without the potential of people getting banned in other games not using it.

@sonic2kk
Copy link
Owner

sonic2kk commented Oct 20, 2022

I'm going to take a look at removing this over the next few days. I would like to leave releasing a new major version of STL until at least the MO2 overhaul is tested and merged but maybe we could take a look at removing this from git and also releasing a very small version bump to remove CE/GC, that way we can get it back into Nobara.

Releasing a version with only the removal of those two programs will mean there is no replacement, but I am hoping to release a new major version once the MO2 overhaul is merged, the Steam Deck installation overhaul is further tested, and once the there is more work on #625. So there'll be no replacement in a small version bump but the next major version should hopefully include a new feature.

@sonic2kk
Copy link
Owner

sonic2kk commented Oct 20, 2022

It seems to have went a lot more smoothly than expected, so as of f791df8, GameConqueror and CheatEngine have been removed from SteamTinkerLaunch.

This should hopefully not affect existing users aside from the functionality simply being removed. No additional bugs should be introduced, but I haven't used either program so I cannot test.

If you would still like CheatEngine and GameConqueror, you can use them as custom programs. GameConqueror seems like it should be straightforward, CheatEngine might require a bit more work. But once there is movement on the mentioned issue for more advanced custom command features, the functionality should return.

Sorry to everyone that liked these programs, but for CheatEngine specifically it seems as though we weren't actually allowed to distribute that. GameConqueror was removed more specifically because of the potential anti-cheat problems that GloriousEggroll outlined.


Once more testing has been done to ensure that this didn't break SteamTinkerLaunch for them (ideally from people that used CheatEngine in the past), I can release a new minor version and we can close this issue. And once this minor version is out, I will remove the Cheat Engine and GameConqueror wiki pages.

@sonic2kk
Copy link
Owner

Since my last comment I have decided not to release a minor version. A new release of SteamTinkerLaunch will be rolled probably sometime in December, this change seems to have went smoothly as well.

There is not currently a simple alternative for using CheatEngine apart from setting it as a custom command yourself (which afaik with CheatEngine it's a standalone exe that you can just run as a custom command). GameConqueror can also work I think by just pointing the custom command to the Python script.

Closing this issue since this is pretty much resolved. Not in a stable release yet but it will be in the next one, and no bugs seem to have been introduced as a result of this change.

Thanks!

@meladath
Copy link

meladath commented Apr 10, 2023

Came to find out why CE/GC support is no longer in STL. Find out GE managed to get CE/GC support removed just because he said he was worried about users of his distro getting banned from some games?

Anyone knows any alternative software that does support CE? That's the entire reason I used this software.

EDIT: Seems to justification to remove it was that users can still run it as a custom command, but doesn't that defeat the entire point of this software, being that it is used to abstract away those things?

@AliceDTRH
Copy link

EDIT: Seems to justification to remove it was that users can still run it as a custom command, but doesn't that defeat the entire point of this software, being that it is used to abstract away those things?

There were more reasons to remove it, one of which was the fact that it was against CheatEngine's license.
I don't think this ticket is the right place to discuss alternative software.

Repository owner locked as off-topic and limited conversation to collaborators Apr 17, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

7 participants