PiTyUs.Hire me

Engineering

A checklist for reviewing FiveM resources

A practical checklist for reviewing FiveM scripts before release or install: event and callback validation, SQL placeholders, secrets, entity and data cleanup, resmon and loop hygiene, framework and inventory compatibility, config and locales, NUI focus and callbacks, error handling and documentation.

Updated 9 min readBy PiTyUs · FiveM developer

Overview

Whether you are about to sell a script or install one on a live server, twenty minutes with a checklist catches most of the problems that later cost days: exploitable events, slow loops, leaking tables and hard-coded secrets. Here is the list experienced reviewers run through.

Security

  • Each RegisterNetEvent handler validates arguments and never trusts amounts or prices — see secure server events.
  • Callbacks validated like events — see callbacks.
  • Queries use ? or named placeholders — see SQL injection.
  • Rate limits on actions that pay or query — see rate limiting.
  • No webhooks, keys or admin lists in client/shared files.
  • NUI callbacks do not grant anything the server does not re-check.

Performance

  • Loops sleep when idle; Wait(0) only when drawing or reading input.
  • Distance checks with vectors, not natives in tight loops.
  • No database queries inside per-frame code.
  • resmon idle ≈ 0.00–0.02 ms — see resmon.
  • NUI messages sent on change, not every frame.

Correctness and cleanup

  • local src = source at the top of handlers.
  • Per-player tables cleared on playerDropped — see memory leaks.
  • Entities, blips, zones and NUI focus released on onResourceStop.
  • Handlers registered once, at file level.
  • Errors handled (nil players, failed queries, missing items).

Compatibility

  • dependency / dependencies declared in the fxmanifest.
  • Framework and inventory detected or configurable — see bridges.
  • lua54 'yes' set; no deprecated natives where alternatives exist.
  • Works after restart without a full server restart.

Usability

Frequently asked questions

What should I check before installing a FiveM script?

That its server events validate input, queries use placeholders, it idles near 0.00 ms and it cleans up after players and restarts.

How do I spot an exploitable event?

Look for server events that accept amounts, prices or item names from the client without re-checking them.

Can I review escrowed scripts?

Only the unencrypted parts (config, NUI); test behaviour on a dev server and check resmon.

What is a good idle resmon value?

Around 0.00–0.02 ms for a resource that is not doing anything.

Need this built, not just explained?

Ten years of FiveM work, from Lua to NUI

Custom resources, React NUI, ESX / QBCore / Qbox integration, OneSync performance audits and security reviews — plus the websites and SEO around your server brand.

Related guides