Skip to content

Commit 168a154

Browse files
committed
Improve descriptions
1 parent 1e07ce0 commit 168a154

File tree

80 files changed

+92
-92
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

80 files changed

+92
-92
lines changed

CONTRIBUTING.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ Here's what to do whenever adding new rules:
77
3. Add corresponding lines to [`tests/types/_NonMatchingTests.txt`](tests/types/_NonMatchingTests.txt) that your test should NOT pick up on. *To reduce merge conflicts, we suggest inserting new strings into random place in the file, instead of at the bottom.*
88
4. Add a corresponding file in [`descriptions`](descriptions) with a matching name describing the technology in a short manner.
99

10+
Descriptions should be 1-2 sentences written in a neutral matter, rather than just marketing talk from the authors website (i.e. avoid saying #1 tool).
11+
1012
**Example:**
1113
Let's say we want to add a rule to detect the FNA game engine. This one is very convenient because it can be matched by simply finding a file named `fna.dll`. However, we also want to be sure to match `some/directory/fna.dll`, but we *don't* want to return a match if we find `some_file_that_just_ends_with_fna.dll` or `fna.dllsomethingelse`.
1214

@@ -29,6 +31,8 @@ Prefer making regex rules that end with a clean extension name, because we optim
2931
- One: `\.dll$`
3032
- Multiple: `\.(?:dylib|dll|so)$`
3133

34+
Prefer detecting unique file extensions, rather than `.dll`.
35+
3236
Then add some lines to [`tests/types/_NonMatchingTests.txt`](tests/types/_NonMatchingTests.txt) with this content:
3337

3438
```
@@ -41,15 +45,15 @@ sub/dir/fna.dllwhoops
4145

4246
If the rule is written correctly, it should NOT match any of these filenames.
4347

44-
Notice the `fna_dll` where there is a `_` in place of `.` to make sure the dot was escaped correctly in the regex.
48+
Notice the `fna_dll` where there is an `_` in place of `.` to make sure the dot was escaped correctly in the regex.
4549

4650
- For `.`: replace them with another character to test that they are escaped, `.abc` -> `_abc` (must be a dot, and not any character)
4751
- For `^`: add text before the matching regex, `^test` -> `abctest` (must start)
4852
- For `$`: add text after the matching regex, `test$` -> `testabc` (must end)
4953

5054
New contributions should make sure they also provide tests and have run those tests themselves, and should be careful about introducing lots of false positives or negatives. Ideally, you want to look for the most unique looking file that is common to most or all games of a particular engine/technology, that is very unlikely to occur for other apps.
5155

52-
Also note that we are not particularly interested in maintaining rules for engines that only like 3 people have ever used.
56+
Also note that we are not particularly interested in maintaining rules for engines that only about 3 people have ever used.
5357

5458
## Tests
5559

README.md

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -70,19 +70,17 @@ Some things to note:
7070

7171
A two-pass script runs over every file. On the first pass it tries to make a "slam dunk" identification based on a strong signal from any file. **Engine** patterns are primarily used here, looking for obvious things like Unity, Unreal, MonoGame, RPGMaker, XNA/FNA, AdobeAIR, etc. These game engines often have very clear signatures — ie "UnityEngine.dll". An "Engine" pattern should be strong enough to confidently match against a particular engine based on _one_ single positive match against any file in the depot.
7272

73-
**Evidence** patterns are meant for building up "hints" about what kind of engine or technology might be in use when a slam-dunk identification is not possible from a single pattern match. Once all the obvious tests have been made, if a particular app has no clear identification it will do a second pass in [`FileDetector.php`](tests/FileDetector.php) by calling the `TryDeduceEngine()` function. For instance, GameMaker games are hard to identify based on any single file, but they have a common pattern: an "options.ini" file, a "data.win" file, and an audio file matching the pattern `snd_<something>.ogg`. The problem is that these are pretty generic filenames that often occur outside of GameMaker games. However, once we have already ruled out most of the other engines from our first logic pass if we find two or more of these three file patterns chances are very good we're looking at a GameMaker game.
73+
**Evidence** patterns are meant for building up "hints" about what kind of engine or technology might be in use when a slam-dunk identification is not possible from a single pattern match. Once all the obvious tests have been made, if a particular app has no clear identification it will do a second pass in [`FileDetector.php`](tests/FileDetector.php) by calling the `TryDeduceEngine()` function.
7474

75-
## Tests
76-
77-
If you have PHP installed locally, you can run the tests from the root directory by typing `php tests/Test.php`.
75+
For instance, GameMaker games are hard to identify based on any single file, but they have a common pattern: an "options.ini" file, a "data.win" file, and an audio file matching the pattern `snd_<something>.ogg`. The problem is that these are pretty generic filenames that often occur outside of GameMaker games. However, once we have already ruled out most of the other engines from our first logic pass if we find two or more of these three file patterns chances are very good we're looking at a GameMaker game.
7876

7977
## Contributing
8078

8179
See [CONTRIBUTING.md](CONTRIBUTING.md) file.
8280

8381
## How SteamDB uses this information
8482

85-
SteamDB makes two sets of identifications — the technology the *file* likely represents, and the technology the *app* makes use of. Each file will match against at most one rule in a section. Therefore the order of the rules and the two-pass tests matters, but an app can have multiple rulings applied to it.
83+
SteamDB makes two sets of identifications — the technology the *file* likely represents, and the technology the *app* makes use of. Each file will match at most one rule per section. Therefore the order of the rules and the two-pass tests matters, but an app can have multiple rulings applied to it.
8684

8785
It is even possible for an app to have multiple game engines — this happens when an app represents a multi-game compilation, or uses one technology for its launcher app and one for the game itself, or whatever.
8886

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
[**Anti-Cheat Expert**](https://intl.anticheatexpert.com/) are developers of several anti-cheat technology such as ACE Anti-cheat.
1+
[**Anti-Cheat Expert**](https://intl.anticheatexpert.com/) is a developer of several anti-cheat technologies such as ACE Anti-cheat.

descriptions/AntiCheat.AnyBrain.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
[**AnyBrain**](https://anybrain.gg/) is an AI based anti-cheat which focuses on keeping online gaming fair.
1+
[**AnyBrain**](https://anybrain.gg/) is an AI-based anti-cheat system that focuses on keeping online gaming fair.

descriptions/AntiCheat.BattlEye.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
[**BattlEye**](https://www.battleye.com/) is an anti-cheat system which protects games and their players from hacking, cheating and other forms of attacks.
1+
[**BattlEye**](https://www.battleye.com/) is an anti-cheat system that protects games and their players from hacking, cheating, and other forms of attacks.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
**Nexon Game Security** (also known as Black Cipher) is an anti-cheat technology developed by Nexon Korea Corporation.
1+
[**Nexon Game Security**](https://www.nexon.com/) (also known as Black Cipher) is an anti-cheat technology developed by Nexon Korea Corporation that provides real-time monitoring and protection against cheating, hacking, and unauthorized game modifications in online multiplayer games.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
[**Easy Anti-Cheat**](https://www.easy.ac/) is the industry-leading anticheat service, countering hacking and cheating in multiplayer PC games through the use of hybrid anticheat mechanisms.
1+
[**Easy Anti-Cheat**](https://www.easy.ac/) is the industry-leading anti-cheat service, countering hacking and cheating in multiplayer PC games through the use of hybrid anti-cheat mechanisms.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
HackShield is an anticheat software by [**AhnLab**](https://global.ahnlab.com/site/main.do).
1+
[**HackShield**](https://global.ahnlab.com/site/main.do) is anti-cheat software developed by AhnLab that provides real-time protection against game hacking tools, memory manipulation, and unauthorized modifications, commonly used in Korean MMORPGs and online games to maintain fair gameplay.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
**TenProtect** is an anti-cheat made by Tencent.
1+
[**TenProtect**](https://intl.cloud.tencent.com/) is an anti-cheat system developed by Tencent that provides comprehensive protection against cheating, hacking, and unauthorized game modifications in online multiplayer games, particularly used in Tencent's gaming portfolio and other Chinese game titles.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
[**XIGNCODE3**](https://wellbia.com/) is a game anti-cheat software developed by Korean company Wellbia.
1+
[**XIGNCODE3**](https://wellbia.com/) is a comprehensive game anti-cheat software developed by the Korean company Wellbia that provides real-time protection against game hacks, cheats, and unauthorized modifications, commonly used in Korean and international online games.

0 commit comments

Comments
 (0)