Skip to content

Delete lua5.1 DLL#4723

Open
G-Moris wants to merge 4 commits intomultitheftauto:masterfrom
G-Moris:delete-luadll
Open

Delete lua5.1 DLL#4723
G-Moris wants to merge 4 commits intomultitheftauto:masterfrom
G-Moris:delete-luadll

Conversation

@G-Moris
Copy link
Contributor

@G-Moris G-Moris commented Feb 23, 2026

This will make it difficult to reversing the fork code and use multi-cheats for forks with Lua injectors.

@G-Moris G-Moris requested a review from a team as a code owner February 23, 2026 14:50
@DmitriyColeman
Copy link
Contributor

It's useless..
The official version of MTA is always built with Lua as a static library, not a shared library.

Cheaters can find all the functions they need for their dirty work only by signatures, so the problem of protecting these functions lies directly with the fork.

@G-Moris
Copy link
Contributor Author

G-Moris commented Feb 23, 2026

It's useless.. The official version of MTA is always built with Lua as a static library, not a shared library.

Cheaters can find all the functions they need for their dirty work only by signatures, so the problem of protecting these functions lies directly with the fork.

It's useless to compile as a separate library on forks

@DmitriyColeman
Copy link
Contributor

I agree, but it seems to me that this is already a direct problem of a specific fork if its developers are not able to do such a trivial thing.

Also, as I know, MTA doesn't support forks.

@G-Moris
Copy link
Contributor Author

G-Moris commented Feb 23, 2026

I agree, but it seems to me that this is already a direct problem of a specific fork if its developers are not able to do such a trivial thing.

Also, as I know, MTA doesn't support forks.

If MTA didn't support forks, it wouldn't have created a Full AC for forks.

This PR is not a problem, as we both know that the official version of MTA is always built using Lua as a static library.

This will remove support for the old, Lua injectors. Which used this DLL in 90% of cases.
Which somehow still work.

@G-Moris G-Moris changed the title Delete lua5.1c.dll Delete lua5.1 DLL Feb 23, 2026
@AlexTMjugador
Copy link
Member

AlexTMjugador commented Feb 23, 2026

If MTA didn't support forks, it wouldn't have created a Full AC for forks.

Indeed, as far as I can tell, MTA doesn't support using its AC in forks, in the strong meanings of that word. From the MTA Wiki (see also this other article):

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.

After understanding the above, and also our best-effort basis as such usage as a "full AC" for forks was never our intention and how it would be hard to support everyone's custom modification, you can figure that we cannot help you to investigate what is incompatible right after you start testing "full AC" netc in your fork. Therefore it is up to you to either disable as many detections as required (if you cannot fix them - where the 'cannot' is an indicator of lack of engineering oversight) or better yet, come up with fixes that allow you to avoid disabling too many, or any, detection types, thereby maximizing your potential AC features %.

You can see where being able to use 'full AC for forks' becomes a favour rather than a given fact, especially with the state of codebase that a lot of forks, without starting their development in a 'full AC' scenario, have grown into by just writing what works for them without considering such aspects.

Out of the box AC capabilities in forks are thus best viewed as a courtesy the MTA team gives without strong guarantees rather than some sort of actual support.

@G-Moris
Copy link
Contributor Author

G-Moris commented Feb 23, 2026

If MTA didn't support forks, it wouldn't have created a Full AC for forks.

Indeed, as far as I can tell, MTA doesn't support using its AC in forks, in the strong meanings of that word. From the MTA Wiki (see also this other article):

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.

After understanding the above, and also our best-effort basis as such usage as a "full AC" for forks was never our intention and how it would be hard to support everyone's custom modification, you can figure that we cannot help you to investigate what is incompatible right after you start testing "full AC" netc in your fork. Therefore it is up to you to either disable as many detections as required (if you cannot fix them - where the 'cannot' is an indicator of lack of engineering oversight) or better yet, come up with fixes that allow you to avoid disabling too many, or any, detection types, thereby maximizing your potential AC features %.

You can see where being able to use 'full AC for forks' becomes a favour rather than a given fact, especially with the state of codebase that a lot of forks, without starting their development in a 'full AC' scenario, have grown into by just writing what works for them without considering such aspects.

Out of the box AC capabilities in forks are thus best viewed as a courtesy the MTA team gives without strong guarantees rather than some sort of actual support.

Ok.
This does not affect the of this PR

@AlexTMjugador
Copy link
Member

AlexTMjugador commented Feb 23, 2026

This does not affect the of this PR

Yes, that's right. Removing this DLL may or may not be a good idea, regardless of the status of AC support in forks. I simply wanted to clarify what that status is.

@G-Moris
Copy link
Contributor Author

G-Moris commented Feb 23, 2026

This does not affect the of this PR

Yes, that's right. Removing this DLL may or may not be a good idea, regardless of the status of AC support in forks. I simply wanted to clarify what that status is.

I think this is a good idea, as the official MTA shows

@qaisjp
Copy link
Member

qaisjp commented Feb 23, 2026

The only hesitance I have with this change is that, as part of updates, people will have to always re-download the Lua stuff even though it never changes. How big is the Lua DLL?

@G-Moris
Copy link
Contributor Author

G-Moris commented Feb 24, 2026

The only hesitance I have with this change is that, as part of updates, people will have to always re-download the Lua stuff even though it never changes. How big is the Lua DLL?

~400 KB
This is already used in the official MTA.

@qaisjp
Copy link
Member

qaisjp commented Feb 24, 2026

Oh, are you saying the official builds are already statically linking Lua but the GitHub code doesn't have that?

@G-Moris
Copy link
Contributor Author

G-Moris commented Feb 24, 2026

Oh, are you saying the official builds are already statically linking Lua but the GitHub code doesn't have that?

Yes

@qaisjp
Copy link
Member

qaisjp commented Feb 24, 2026

Then I'm onboard - let's match it here.

I'll take a look at this on the weekend if I remember. Before merging, I'd just like to compare this change against the official build server, to make sure we're not missing anything

@Papik-Rocket

This comment was marked as off-topic.

@FileEX FileEX added the dependencies Pull requests that update a dependency file label Feb 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants