ESX Legacy Core — X3D Build

Description

es_extended taken from esx_core 1.13.4 and worked on until it could run a server with real players on it. Not code written for a release page.

The resource is still called es_extended, so you drop it straight over your old one. Every @es_extended/imports.lua and every dependencies { 'es_extended' } in the scripts you already run keeps working. You change nothing.


Features

  • [+] Easy setup: tune everything in config
  • [+] Drop it over your old es_extended, same resource name, no script changes
  • [+] Every online player is saved on a timer you set, so a crash no longer rolls back
  • [+] Position and health are checked before saving; bad values fall back to the last good ones
  • [+] Waits for the ground to load before spawning, with a timeout so it never hangs
  • [+] Retries reading the item table until the database is ready
  • [+] Economy lock before a restart blocks resources that move money and items
  • [+] Set which resources may still move money during the lock, such as base UI
  • [+] One audit log: every money, item and weapon change in a queryable table
  • [+] Discord webhooks per kind, with alerts above a threshold you set
  • [+] Rename the database tables in one block
  • [+] nc_inventory and ox_inventory detected for notification icons

Why replace the core

Players stop losing their characters

Things every server hits, that upstream ESX still does not guard:

  • Waking up at map origin, or dead — when a player drops or the server crashes, their ped is culled before the save runs. Position reads back as (0,0,0) and health as 0, and that gets written over the real row. This build checks before saving and keeps the last good values instead.
  • A crash costs the whole session — upstream ESX saves on disconnect only, so a crash rolls every online player back to login. Config.SaveInterval flushes everyone to the database on a timer.
  • Falling through the map on spawn — the core waits for collision to actually load before dropping the player in, with a timeout so it can never hang.
  • An empty item catalog for a whole session — if the database is still coming up when the item table is first read, upstream leaves ESX.Items empty until someone runs a command. This build retries until the catalog loads.

Measurably faster

  • Accounts, inventory and loadout are looked up in O(1) instead of scanning the whole list on every call — the gap widens with every player online
  • Saving a player re-encodes only what changed; upstream re-encodes four JSON blobs every time, per player
  • ESX.TriggerServerCallback requests that never get answered no longer sit in memory forever — there is a timeout, a cleanup on disconnect and a periodic sweep
  • Squared distances instead of sqrt, sleep that scales with range, batched GlobalState writes

Harder to exploit

  • Economy lock before a restart — for the last 10 minutes before a txAdmin restart, every resource that moves money or items is blocked. That window is the biggest duplication hole on any server.
  • One audit log — every money, item and weapon change through the xPlayer API, plus join, leave, chat and death, written to a table you can query, with Discord webhooks routed per kind and alerts above a threshold you set
  • Client ammo values are clamped — no infinite ammo
  • Banned-word filter with strike counting and an automatic kick

Installing

Back up your old copy, drop this one in its place. That is the whole thing. No SQL to run if you already have an ESX database.

Table names live in Config.Tables and default to the stock ESX names (users, items, jobs, job_grades, owned_vehicles). A server using different names changes one block.

nc_inventory and ox_inventory are detected automatically — money and item notification icons point at whichever one you run.


Before you download

  • This is a fork, not an official release. It is based on esx_core 1.13.4 and does not automatically track new ESX releases.
  • Distributed under the GNU GPL v3, same as upstream. Full source, modify it, redistribute it under the same licence. Source code: github.com/X3D-Developer/es_extended
  • Original copyright belongs to Jérémie N'gadi and the ESX Legacy project. Everything that was changed is listed in README.md inside the download.

Version history

  • 1.13.6 — Released 13/10/2026 00:20
  • 1.13.4 — Released 23/09/2026 20:28
Same category

Related scripts

View all products
Read more

Posts that cover this script