[{"data":1,"prerenderedAt":87},["ShallowReactive",2],{"site":3,"blog-post-en-esx-legacy-guide":15,"blog-slug-site":46,"blog-scripts-en-esx-legacy-guide":52},{"site":4,"contact":10,"seo":13,"payment":14},{"name":5,"host":6,"default_locale":7,"locales":8},"X3D Developer","fivem.x3d-developer.com","th",[7,9],"en",{"discord_invite":11,"email":12,"line":12},"https:\u002F\u002Fdiscord.gg\u002FNA5kPVynFv","",{"google_site_verification":12,"bing_site_verification":12},{"bank_name":12,"account_name":12,"account_no":12,"promptpay_id":12},{"post":16,"html":21,"others":22,"productSlugs":44},{"slug":17,"title":18,"description":19,"date":20},"esx-legacy-guide","What ESX Legacy is, how to install and update it: a server owner's guide (2026)","ESX Legacy (es_extended) is the most used RP framework on FiveM. This guide covers the es_extended structure, database tables, ensure order in server.cfg, updating without breaking existing scripts, the known problems of 1.13.x, and the free drop-in alternative ESX Legacy Core X3D Build.","2026-09-24","\u003Cp>\u003Cstrong>ESX Legacy\u003C\u002Fstrong> is the roleplay framework for FiveM that continues the original ESX. Its core is the \u003Ccode>es_extended\u003C\u002Fcode> resource, which every RP script on an ESX server calls for player data, money, items, jobs, weapons and client-server callbacks. Most servers run ESX Legacy 1.x because most commercial and community scripts support ESX first.\u003C\u002Fp>\n\u003Ch2 id=\"structure-you-need-to-know\">Structure you need to know\u003C\u002Fh2>\n\u003Cdiv class=\"table-scroll\">\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Part\u003C\u002Fth>\n\u003Cth>Role\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>\u003Ccode>es_extended\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Core: xPlayer, three accounts (money \u002F bank \u002F black_money), inventory, loadout, jobs, callbacks, saving\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>esx_*\u003C\u002Fcode> addons\u003C\u002Ftd>\n\u003Ctd>Police, EMS, mechanic, shops, garages and so on; each calls \u003Ccode>ESX.\u003C\u002Fcode> via \u003Ccode>@es_extended\u002Fimports.lua\u003C\u002Fcode>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>oxmysql\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>The MySQL\u002FMariaDB connector ESX Legacy uses\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>users\u003C\u002Fcode> table\u003C\u002Ftd>\n\u003Ctd>Player rows: identifier, accounts (JSON), inventory (JSON), loadout (JSON), job, position, skin\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>items\u003C\u002Fcode>, \u003Ccode>jobs\u003C\u002Fcode>, \u003Ccode>job_grades\u003C\u002Fcode>, \u003Ccode>owned_vehicles\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Standard tables most addons expect\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003C\u002Fdiv>\n\u003Ch2 id=\"first-install\">First install\u003C\u002Fh2>\n\u003Col>\n\u003Cli>Install FXServer (latest recommended artifact) and MySQL\u002FMariaDB\u003C\u002Fli>\n\u003Cli>Put \u003Ccode>oxmysql\u003C\u002Fcode> and \u003Ccode>es_extended\u003C\u002Fcode> in \u003Ccode>resources\u002F\u003C\u002Fcode>, run \u003Ccode>es_extended.sql\u003C\u002Fcode> on a fresh database\u003C\u002Fli>\n\u003Cli>Set \u003Ccode>set mysql_connection_string\u003C\u002Fcode> in \u003Ccode>server.cfg\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>The \u003Ccode>ensure\u003C\u002Fcode> order matters:\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cpre>\u003Ccode>ensure oxmysql\nensure es_extended\n# only after this, ensure scripts that use @es_extended\u002Fimports.lua\nensure x3d_notify\nensure x3d_progressbar\nensure esx_ambulancejob\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Col start=\"5\">\n\u003Cli>Join once; your character row is created in \u003Ccode>users\u003C\u002Fcode>. Grant admin with \u003Ccode>add_principal identifier.license:xxx group.admin\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch2 id=\"updating-without-breaking-existing-scripts\">Updating without breaking existing scripts\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>\u003Cstrong>Back up\u003C\u002Fstrong> the \u003Ccode>es_extended\u003C\u002Fcode> folder and dump the database every time\u003C\u002Fli>\n\u003Cli>Read the new version's changelog for SQL migrations (1.10 → 1.11 moved identifiers to license, for example)\u003C\u002Fli>\n\u003Cli>Do not edit files inside \u003Ccode>es_extended\u003C\u002Fcode> directly; if you must, use a fork that tracks its changes (next section) or the next update overwrites them\u003C\u002Fli>\n\u003Cli>Scripts using \u003Ccode>ESX.GetPlayerFromId\u003C\u002Fcode> \u002F \u003Ccode>xPlayer.getInventoryItem\u003C\u002Fcode> \u002F \u003Ccode>TriggerServerCallback\u003C\u002Fcode> keep working across 1.x as long as the resource is still named \u003Ccode>es_extended\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2 id=\"known-problems-of-1-13-x-on-real-servers\">Known problems of 1.13.x on real servers\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>\u003Cstrong>Saves on disconnect only\u003C\u002Fstrong>: a crash rolls everyone back to login\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Corrupt coordinates on disconnect\u003C\u002Fstrong>: the ped is culled before the save, \u003Ccode>(0,0,0)\u003C\u002Fcode> and health \u003Ccode>0\u003C\u002Fcode> are written over the row, next login spawns at origin or dead\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Leaking callbacks\u003C\u002Fstrong>: unanswered \u003Ccode>ESX.TriggerServerCallback\u003C\u002Fcode> requests stay in memory until restart\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Empty item table for a session\u003C\u002Fstrong> when MySQL comes up later than \u003Ccode>es_extended\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Nothing against pre-restart dupes\u003C\u002Fstrong>, and no audit log of which script moved money or items\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Linear scans\u003C\u002Fstrong> for accounts, items and weapons on every call; slower with every player\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Details for each are in \u003Ca href=\"\u002Fen\u002Fblog\u002Fesx-legacy-x3d-build\u002F\">why an ESX server should replace the core\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch2 id=\"the-alternative-esx-legacy-core-x3d-build\">The alternative: ESX Legacy Core — X3D Build\u003C\u002Fh2>\n\u003Cp>\u003Ca href=\"\u002Fen\u002Fproducts\u002Fes-extended\u002F\">ESX Legacy Core — X3D Build\u003C\u002Fa> is \u003Ccode>es_extended\u003C\u002Fcode> forked from 1.13.4 with every item above fixed. \u003Cstrong>The resource is still called \u003Ccode>es_extended\u003C\u002Fcode>\u003C\u002Fstrong>, so you drop it over the old one; every \u003Ccode>@es_extended\u002Fimports.lua\u003C\u002Fcode> and \u003Ccode>dependencies { 'es_extended' }\u003C\u002Fcode> keeps working, no script edits. Free, GPL v3 like upstream, every change listed in the README per GPL §5a.\u003C\u002Fp>\n\u003Cp>Added: everyone saved every 10 minutes · position\u002Fhealth validated before saving · waits for ground before spawn · O(1) lookups · callbacks with timeouts · economy lock 10 minutes before restart · audit log plus Discord webhooks · ammo clamp · word filter · \u003Ccode>Config.Tables\u003C\u002Fcode> for custom table names · automatic nc_inventory\u002Fox_inventory detection\u003C\u002Fp>\n\u003Cp>Install: back up the old \u003Ccode>es_extended\u003C\u002Fcode>, drop the new folder in, start the server; no SQL if you already have an ESX database. \u003Ca href=\"\u002Fen\u002Fdocs\u002Fes-extended\u002F\">Full docs\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch2 id=\"stock-esx-ui-to-replace-at-the-same-time\">Stock ESX UI to replace at the same time\u003C\u002Fh2>\n\u003Cp>\u003Ccode>esx_notify\u003C\u002Fcode>, \u003Ccode>esx_progressbar\u003C\u002Fcode> and \u003Ccode>esx_loadingscreen\u003C\u002Fcode> date from 2022: non-Latin fonts render as boxes, bars cannot be cancelled, the loading screen white-screens. X3D has free replacements for all three with forwarders for the old export names: \u003Ca href=\"\u002Fen\u002Fblog\u002Fesx-ui-replacements\u002F\">replacing esx_notify \u002F esx_progressbar \u002F esx_loadingscreen\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch2 id=\"faq\">FAQ\u003C\u002Fh2>\n\u003Cp>\u003Cstrong>ESX vs ESX Legacy?\u003C\u002Fstrong> &quot;ESX Legacy&quot; is the name of the continued ESX line since 2021 (\u003Ccode>esx-framework\u002Fesx_core\u003C\u002Fcode>). Every 1.x version is ESX Legacy; plain &quot;ESX&quot; today means this.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Does ox_inventory work with ESX Legacy?\u003C\u002Fstrong> Yes, and it is popular; it replaces ESX's built-in inventory. The X3D Build detects it and points icons at it.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>QBCore or ESX?\u003C\u002Fstrong> If most scripts you want support ESX, pick ESX Legacy. Full comparison in \u003Ca href=\"\u002Fen\u002Fblog\u002Fqbcore-vs-esx-legacy\u002F\">QBCore vs ESX Legacy vs Qbox\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Free scripts for ESX?\u003C\u002Fstrong> X3D gives away 16, all for ESX Legacy: see the \u003Ca href=\"\u002Fen\u002Fblog\u002Ffree-fivem-scripts\u002F\">free FiveM scripts post\u003C\u002Fa>.\u003C\u002Fp>\n",[23,28,32,38],{"slug":24,"title":25,"description":26,"date":20,"updated":27},"qbcore-vs-esx-legacy","QBCore vs ESX Legacy vs Qbox: which framework to pick for a FiveM server in 2026","QBCore vs ESX Legacy vs Qbox: script support, install difficulty, performance, migration cost, and what to pick for a new server or a 2,000-player city.","2026-09-29",{"slug":29,"title":30,"description":31,"date":20},"esx-legacy-x3d-build","What es_extended is, and why an ESX server should switch to ESX Legacy Core — X3D Build (free)","es_extended is the ESX Legacy core every script on the server depends on. This post covers what upstream esx_core 1.13.4 gets wrong (lost saves on crash, spawning at map origin, leaking callbacks, pre-restart dupes), what the X3D Build fixes, and how to drop it over the old one without touching a single script.",{"slug":33,"title":34,"description":35,"date":36,"updated":37},"open-fivem-server-budget","How Much Does It Cost to Open a FiveM Server, and What Do You Need? From 32 Players to a 2,000-Player City (2026)","The essential scripts to launch a FiveM server in 2026 with budgets at three scales: starter 32–64, public 128–500, and a 1,000–2,048-player city (Element Club Platinum, dedicated hardware, separate voice and database, staff). Which parts free scripts cover, which are worth paying for, and which must be rewritten once you reach two thousand players.","2026-09-15","2026-10-14",{"slug":39,"title":40,"description":41,"date":42,"updated":43},"free-fivem-scripts","27 Free FiveM Scripts From the Developer: Weapon Skins, Weapon Damage, ESX Inventory, Vaults, Admin Panel and More","Twenty-seven free FiveM scripts from X3D — collectible weapon skins, a weapon damage system, ESX inventory with hotkeys 1–9, vaults, trunk storage, an admin panel with token bans, bank and ATM, YouTube boombox, fortune teller with siamsi and tarot, ESX phone, death screen, drug selling, house robbery, minigames, ESX Legacy Core X3D Build, loading screen, Notify, Progress Bar, usable items, slide, Character Skin, Main Menu, Daily Login, Mailbox, Carry and Environment.","2026-09-18","2026-10-11",[45],"es-extended",{"site":47,"contact":49,"seo":50,"payment":51},{"name":5,"host":6,"default_locale":7,"locales":48},[7,9],{"discord_invite":11,"email":12,"line":12},{"google_site_verification":12,"bing_site_verification":12},{"bank_name":12,"account_name":12,"account_no":12,"promptpay_id":12},[53],{"id":54,"slug":45,"name":55,"summary":56,"price_thb":57,"license_mode":58,"cover_key":59,"cover_url":60,"category_slugs":61,"tags":63,"latest_version":82,"latest_released_at":83,"published_at":84,"has_docs":85,"config":58,"rent_price_satang":86},"37f7d9db-f90d-4eed-861b-922da1072932","ESX Legacy Core — X3D Build","A faster es_extended that stops player saves going corrupt, autosaves every 10 minutes and freezes the economy before a restart. Drop-in, same resource name.",0,"none","public\u002Fproducts\u002Fes-extended\u002Fcover\u002Fa0b783dc4bf383e9.jpg","\u002Fapi\u002Fv1\u002Fmedia\u002Fpublic\u002Fproducts\u002Fes-extended\u002Fcover\u002Fa0b783dc4bf383e9.jpg",[62],"optimization",[64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81],"esx","es_extended","esx legacy","esx core","esx_core","framework","core","esx ฟรี","ดาวน์โหลด esx","esx legacy 1.13","ฟรี","free","กันข้อมูลหาย","กันดูป","audit log","เซฟผู้เล่น","esx fork","กันตกทะลุแมพ","1.13.6","2026-10-12T17:20:52.726747Z","2026-09-23T13:28:50.819982Z",true,null,1792316316523]