User:Qaisjp/sandbox-forks: Difference between revisions
(add https://wiki.multitheftauto.com/wiki/Anti-cheat_support_for_custom_builds?oldid=64865) |
mNo edit summary |
||
Line 1: | Line 1: | ||
'''This page is | '''This page is intended for maintainers of custom MTA builds or forked projects based on the MTA source code. Information on this page does not apply to the official builds of MTA.''' | ||
Custom MTA builds and forked projects | Custom MTA builds and forked projects will face some challenges relating to anti-cheat (AC). This is due to custom builds performing in ways that the anti-cheat does not expect. | ||
AC is generally unsupported for forked projects and may be dropped entirely in the future. This means that you generally ''cannot'' rely on the MTA anti-cheat for your fork. '''We strongly advise that you write and implement your own AC.''' | |||
If you cannot | If you cannot build your own AC, here are steps you can follow to get the most out of our unsupported AC: | ||
* Always use the version of our net modules (e.g [https://mirror.mtasa.com/bdata/netc.dll netc.dll] and [https://mirror.mtasa.com/bdata/net.dll net.dll]) that matches our commit on master that your fork is based on | |||
** To be specific, you can use the latest module that is bitstream version compatible | |||
** You can fetch these modules by running https://github.com/multitheftauto/mtasa-blue/blob/master/win-build.bat | |||
* Never block MTA traffic (client or server) in your project | |||
== AC features missing in custom builds == | |||
* No detection of changes to gta_sa code section | * No detection of changes to gta_sa code section | ||
* No detection of changes to certain gta_sa variables | * No detection of changes to certain gta_sa variables | ||
* SetElementData not protected against external changes | * SetElementData not protected against external changes | ||
* No detection against various Lua injection methods | * No detection against various Lua injection methods | ||
* Much | * Much fewer AC heuristics and protection of internals | ||
* Continuous updates for all patched methods to write cheats based on (vulnerabilities) aren't guaranteed | * Continuous updates for all patched methods to write cheats based on (vulnerabilities) aren't guaranteed (this is one of the reasons why updating netc.dll to the latest offered version is beneficial) | ||
* MTA modules aren't checked for modifications or remote hooking/memory writing | |||
* MTA | * and much more | ||
Generally, most of what will work are some signature-based detections. No heuristics, patched methods, and patched vulnerabilities. Signature-based detections of known cheats are the weakest kinds of cheats, and the mainstream anti-cheat tackles the actual problem rather than being signature-based. | |||
Revision as of 20:11, 16 January 2020
This page is intended for maintainers of custom MTA builds or forked projects based on the MTA source code. Information on this page does not apply to the official builds of MTA.
Custom MTA builds and forked projects will face some challenges relating to anti-cheat (AC). This is due to custom builds performing in ways that the anti-cheat does not expect.
AC is generally unsupported for forked projects and may be dropped entirely in the future. This means that you generally cannot rely on the MTA anti-cheat for your fork. We strongly advise that you write and implement your own AC.
If you cannot build your own AC, here are steps you can follow to get the most out of our unsupported AC:
- Always use the version of our net modules (e.g netc.dll and net.dll) that matches our commit on master that your fork is based on
- To be specific, you can use the latest module that is bitstream version compatible
- You can fetch these modules by running https://github.com/multitheftauto/mtasa-blue/blob/master/win-build.bat
- Never block MTA traffic (client or server) in your project
AC features missing in custom builds
- No detection of changes to gta_sa code section
- No detection of changes to certain gta_sa variables
- SetElementData not protected against external changes
- No detection against various Lua injection methods
- Much fewer AC heuristics and protection of internals
- Continuous updates for all patched methods to write cheats based on (vulnerabilities) aren't guaranteed (this is one of the reasons why updating netc.dll to the latest offered version is beneficial)
- MTA modules aren't checked for modifications or remote hooking/memory writing
- and much more
Generally, most of what will work are some signature-based detections. No heuristics, patched methods, and patched vulnerabilities. Signature-based detections of known cheats are the weakest kinds of cheats, and the mainstream anti-cheat tackles the actual problem rather than being signature-based.