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

[Linux] Add anticheat information when possible #1504

Merged
merged 9 commits into from
Jul 11, 2022
Merged

Conversation

arielj
Copy link
Collaborator

@arielj arielj commented Jun 20, 2022

This PR adds anticheat information when possible using the information from AreWeAntiCheatYet.com.

It downloads the games.json from https://github.com/Starz0r/AreWeAntiCheatYet/blob/master/games.json at boot in the background only on Linux, to keep the information up to date (it's less than 100kb).

I left this message It may not work due to denied or broken anticheat support on purpose without interpolation of the actual status to help translations (also, I don't know how to handle translations based on a variable).

I went over all the games in the json and looked for them in the epic store to create the map of names for games that have differences but I might have missed something, we can always add more or update when needed.

Denied:
Screen Shot 2022-06-20 at 7 26 33 PM

Supported:
Screen Shot 2022-06-20 at 7 26 59 PM

Broken:
Screen Shot 2022-06-20 at 7 27 14 PM

Denied in install modal:
Screen Shot 2022-06-20 at 7 26 44 PM


Use the following Checklist if you have changed something on the Backend or Frontend:

  • Tested the feature and it's working on a current and clean install.
  • Tested the main App features and they are still working on a current and clean install. (Login, Install, Play, Uninstall, Move games, etc.)
  • Created / Updated Tests (If necessary)
  • Created / Updated documentation (If necessary)

@arielj arielj added the pr:ready-for-review Feature-complete, ready for the grind! :P label Jun 20, 2022
@arielj arielj linked an issue Jun 20, 2022 that may be closed by this pull request
Copy link
Member

@flavioislima flavioislima left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks pretty good!
Left just some small comments :)

electron/anticheat/utils.ts Show resolved Hide resolved
src/components/UI/Anticheat/index.tsx Show resolved Hide resolved
Copy link
Collaborator

@Nocccer Nocccer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Besides what Flavio found, looks good to me. We can actually implement tests for the backend functions. But maybe in another pr.

Just an idea: Maybe a new logprefix Anticheat ?

@JakobDev
Copy link
Contributor

It might be good to include informations like the reference link notes and updates from the JSON file if present.

@arielj
Copy link
Collaborator Author

arielj commented Jun 24, 2022

It might be good to include informations like the reference link notes and updates from the JSON file if present.

I tried, but the information varies between games and it was really difficult to consider all the cases in a consistent design (you have games with multiple updates with different references, the main reference may not even match the last update reference so I can't use the main reference always without the updates) and without making it overwhelming. It felt like too much information, the average user might not care about all the details.

I did add the link to open areweanticheatyet to see those details for the people that do want to know.

@Nocccer Nocccer changed the title Add anticheat information when possible [Linux] Add anticheat information when possible Jun 24, 2022
Copy link
Member

@flavioislima flavioislima left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good.
I am curious to collect info on that from the next beta because some things might match and some others might not. But if we are not impending the user from installing the game then its fine.

@Curve
Copy link

Curve commented Jul 7, 2022

It might be good to include informations like the reference link notes and updates from the JSON file if present.

I tried, but the information varies between games and it was really difficult to consider all the cases in a consistent design (you have games with multiple updates with different references, the main reference may not even match the last update reference so I can't use the main reference always without the updates) and without making it overwhelming. It felt like too much information, the average user might not care about all the details.

I did add the link to open areweanticheatyet to see those details for the people that do want to know.

Currently, the Reference is mostly used for games where there is official word from the developers or there have not been more than 1 changes to the status in the past (Mostly the reference is also the most straight to the point).

Updates is what's used for the most recent additions and contains more precise information than the reference link, if I were to show any information in Heroic I'd go for the latest update.

However the reference links are sometimes not really in sync with the updates at all, I will try to improve that and keep things more consistent

@Curve
Copy link

Curve commented Jul 7, 2022

It might be good to include informations like the reference link notes and updates from the JSON file if present.

I tried, but the information varies between games and it was really difficult to consider all the cases in a consistent design (you have games with multiple updates with different references, the main reference may not even match the last update reference so I can't use the main reference always without the updates) and without making it overwhelming. It felt like too much information, the average user might not care about all the details.
I did add the link to open areweanticheatyet to see those details for the people that do want to know.

Currently, the Reference is mostly used for games where there is no official word from the developers or there have not been more than 1 changes to the status in the past (Mostly the reference is also the most straight to the point).

Updates is what's used for the most recent additions and contains more precise information than the reference link, if I were to show any information in Heroic I'd go for the latest update.

However the reference links are sometimes not really in sync with the updates at all, I will try to improve that and keep things more consistent

Alright, I've update the list.
If you still want to display relevant information on the Anti-Cheat Status you should:

  • use reference if set, it should be preferred over the updates
  • in case reference is not set use the last recorded update

@arielj
Copy link
Collaborator Author

arielj commented Jul 9, 2022

I updated this to use the namespace and to show a link to the latest reference for a given status:
image

@felipecrs can you test this again with these changes?

Thanks you both @felipecrs and @Curve for the initiative and the quick addition of this info!

@arielj
Copy link
Collaborator Author

arielj commented Jul 9, 2022

Just an idea: Maybe a new logprefix Anticheat ?

I was going to add this but then I saw I only use this in one place and the string always says AreWeAntiCheatYet on it. I'll skip this, seems too much to add that new logprefix for this single use.

@felipecrs
Copy link
Contributor

I updated this to use the namespace and to show a link to the latest reference for a given status:
image

@felipecrs can you test this again with these changes?

Thanks you both @felipecrs and @Curve for the initiative and the quick addition of this info!

Hey, great to see this. Unfortunately, I don't have an environment to test it, I trust you.

By the way, I think if you display:

Source: AreWeAntiCheatYet

I think it would look a little better.

@arielj
Copy link
Collaborator Author

arielj commented Jul 9, 2022

I updated this to use the namespace and to show a link to the latest reference for a given status:
image
@felipecrs can you test this again with these changes?
Thanks you both @felipecrs and @Curve for the initiative and the quick addition of this info!

Hey, great to see this. Unfortunately, I don't have an environment to test it, I trust you.

By the way, I think if you display:

Source: AreWeAntiCheatYet

I think it would look a little better.

Thanks, I'll change that, I think it will also make translations easier

@Curve
Copy link

Curve commented Jul 9, 2022

I updated this to use the namespace and to show a link to the latest reference for a given status:
image

@felipecrs can you test this again with these changes?

Thanks you both @felipecrs and @Curve for the initiative and the quick addition of this info!

No problem, always an honor ^^

@arielj arielj merged commit 9c4b01f into beta Jul 11, 2022
@arielj arielj deleted the feature/anticheat-badge branch July 11, 2022 22:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
pr:ready-for-review Feature-complete, ready for the grind! :P
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Show the anticheat status of a game if in Linux
6 participants