Repository navigation
Description
What happened?
Currently, FiveM does not support streaming custom license plate definitions via resource manifests; mounting plates.meta fails with:
Could not add data_file resources:/[resource]/plates.meta - invalid type VEHICLE_PLATE_FILE
Because custom vehicle plates cannot be mounted server-side, the base game's engine clamps any plate text index >= 13 back to 0 (plate01 / San Andreas standard) inside SET_VEHICLE_NUMBER_PLATE_TEXT_INDEX (0x9088EB5A43FFB0A1) and GET_VEHICLE_NUMBER_PLATE_TEXT_INDEX (0xF11BC2DD9A3E7195).
To work around this platform limitation for multi-state roleplay servers, I authored a non-malicious client-side utility plugin (CustomPlates.asi) placed in FiveM Application Data/plugins/ with the requisite FX_ASI_BUILD resource embedded. The plugin resolves rage-scripting-five.dll to unclamp the native plate setter and getter so that indices >= 13 are tracked and mapped rather than truncated to 0, allowing visual styling via the sanctioned AddReplaceTexture native and OneSync state bags (Entity(veh).state.plateSlot).
While testing this developmental plugin in a local server environment, Adhesive's delayed heuristic/integrity scan flagged the plugin's native hook on rage::scrEngine as an unauthorized injection payload and issued an automated 300-day global ban.
Expected result
- Primary (Engine Support): Native server-side support for streaming
plates.meta(enablingdata_file 'VEHICLE_PLATE_FILE' 'plates.meta') or providing an official unclamping native/config so developers never need to hook client memory or load.asiworkarounds to achieve >12 plate styles. 2. Anti-Cheat Heuristic Adjustment: Adhesive should distinguish between benign developmental plugins loaded from the legitimateFiveM.app/plugins/directory (matchingFX_ASI_BUILD) interacting with script engine tables versus actual cheating software/injection vectors.
Reproduction steps
- Attempt to stream custom license plate slots (>12) natively in a FiveM resource using
plates.meta. FiveM will rejectVEHICLE_PLATE_FILE. - Build an
.asiplugin declaringFX_ASI_BUILDthat hooksSET_VEHICLE_NUMBER_PLATE_TEXT_INDEX(0x9088EB5A43FFB0A1) to prevent the engine from clamping slot numbers >= 13. - Install the plugin into
FiveM Application Data/plugins/CustomPlates.asiand test custom plate slots in a local server. - After testing over a couple of days, Adhesive's heuristic scanner flags the native table hook and triggers an automated 300-day global ban.
Importancy
Unknown
Area(s)
FiveM
Specific version(s)
FiveM Client 2.0.0.38401 / Game Build 3407 (b3407)
Additional information
- Complete source code of the plugin (
CustomPlatesLoader.cpp), build scripts, and resource definitions are available for Cfx.re engineers to inspect: the plugin solely manages vehicle plate indices and texture slots. It contains zero malicious routines, memory dumping, or overlay logic. - Adding native support for
VEHICLE_PLATE_FILEor a platform native likeSetVehicleNumberPlateTextIndexUnclampedwould permanently solve this limitation for the entire FiveM development community and eliminate the need for client.asiplugins altogether.
I plan to make a pull request to natively support this feature. This issue is mainly in regards to the Adhesive ban.
Link to source code: https://github.com/JemmaSinclair/js_InfinityPlates
Activity
yorick2002 commentedon Nov 7, 2026
It's not false because you're not supposed to do this.
JemmaSinclair commentedon Nov 7, 2026
Why is there zero documentation on what is allowed and what isn't allowed?
Why CAN'T I experiment with something like this?
Siren Setting Limit Adjuster is a very similar script in terms of what its doing to accomplish its goal, and it is perfectly allowed.
airbon99 commentedon Nov 7, 2026
I support you. People have already complained on bans from publicly available plugins that try to solve issues.
Most non-essential feature pull requests on Legacy aren't being considered, so many developers and players think they can use plugins to solve them, and they have no idea it could trip the anticheat.
The best solution is either to block execution of such code through plugins or just disable plugins altogether.
When I see all these bans being dealt for using plugins, I stopped working on my own plugin trying to fix Rockstar Editor crashes, and I would be as upset to get god forbid banned for such work.
JemmaSinclair commentedon Nov 7, 2026
It pains me that Cfx seems to be abandoning Legacy just like they abandoned RedM. And a lot of things are just poorly handled by cfx in general. I want to make a fuss but I'm just a no-body so nothing will happen.
I appreciate the support airbon, lets hope someone at Cfx sees this and actually cares.
Gogsi commentedon Nov 7, 2026
Have you ever considered that this would make cheaters make their cheats asi mods instead? Asi mods are just renamed dlls, they can do anything a cheat could.
What do you expect, a write up on exactly what cheat developers shouldn't do to not get detected? If there's one thing an .asi mod shouldn't do it's hook FiveM's own script engine. They are provided as a courtesy to support Single-player mods, not to mess with FiveM's own code. https://docs.fivem.net/docs/client-manual/#using-plugins
.asi scripts you would typically use in singleplayer.You also didn't even post your ban ID or any identifiable information about your ban, so idk what you expect to happen here
JemmaSinclair commentedon Nov 7, 2026
If a server allows clientside scripts I honestly think they should be left to their own devices. I get having an anticheat for people who somehow break past the restrictions, but if we allow client modification then ban people for client modification in a server that allows it, thats just super contradictory.
airbon99 commentedon Nov 8, 2026
Scullyy commentedon Nov 8, 2026
If his plugin genuinely only does what he stated it's reasonable for him to believe it's okay since plugins are supported by FiveM. I think something should certainly be done to avoid abusive plugins but with the lack of documentation and warning a ban here isn't justified. If a plugin contains something that isn't allowed it should just close the client or just remove plugin support entirely unless on SP or LAN. The only plugins widely used on FiveM violate the PLA as they sell outside of Tebex, anything else should really be done as a resource on the server.
JemmaSinclair commentedon Nov 8, 2026
I initially planned to do this as a pull request but I was completely lost on how to actually do the local testing cause I couldnt find any documentation on how to do it in the repo or anything. And I assumed my pull request would likely sit there for months on end given how Cfx has been treating the RedM Collective and Enhanced is making Legacy have that same treatment.
I've still got my changes on my fork but I can't test them now cause I can't even connect to my localhost server with the ban.
I really hope someone at Cfx handles this and possibly this gets up the chain to get some real reform cause (as sad as this sounds) FiveM has become my only hobby and I don't know what I would do if this ban isn't reversed.
yorick2002 commentedon Nov 8, 2026
Once again you're saying that Legacy is being abandoned while:
Where do you get this information from?
JemmaSinclair commentedon Nov 8, 2026
Why would my PR be merged? My PR would be very experimental and NOT a priority like any of those things you cited.
Edit: Also, there are THREE HUNDRED pull requests currently sitting in there.