24/09/2026

es_extended คืออะไร และทำไมเซิร์ฟ ESX ควรเปลี่ยนมาใช้ ESX Legacy Core — X3D Build (ฟรี)

es_extended คือ core ของ ESX Legacy ที่ทุกสคริปต์ในเซิร์ฟพึ่งพา บทความนี้อธิบายปัญหาของ esx_core 1.13.4 ต้นฉบับ (ของหายตอนล่ม โผล่กลางแมพ callback รั่ว ดูปก่อนรีสตาร์ท) และสิ่งที่ X3D Build แก้ พร้อมวิธีวางทับตัวเดิมโดยไม่แก้สคริปต์สักบรรทัด

es_extended คือ core ของ ESX Legacy resource ตัวเดียวที่ทุกสคริปต์ในเซิร์ฟ ESX ต้องพึ่ง ทั้งเงิน ไอเทม อาชีพ อาวุธ การเซฟผู้เล่น และ callback ระหว่าง client กับ server ถ้า core มีปัญหา ทุกอย่างบนเซิร์ฟมีปัญหาตาม

ESX Legacy Core — X3D Build คือ es_extended ที่ฟอร์กจาก esx_core 1.13.4 แล้วแก้จุดที่ทำให้เซิร์ฟจริงเจ็บซ้ำ ๆ ใช้งานจริงบนเซิร์ฟที่มีคนเล่นก่อนปล่อย แจกฟรีภายใต้ GPL v3 เหมือนต้นฉบับ

ดาวน์โหลด: ESX Legacy Core — X3D Build · คู่มือ: เอกสารการติดตั้ง

สคริปต์ที่เกี่ยวข้อง

ปัญหาของ es_extended ต้นฉบับที่เซิร์ฟไทยเจอบ่อย

  • ผู้เล่นโผล่กลางแมพหรือเกิดมาตาย — ตอนหลุดหรือเซิร์ฟล่ม ร่างถูก cull ก่อนเซฟ พิกัดอ่านได้ (0,0,0) เลือด 0 แล้วเขียนทับลงฐานข้อมูล
  • เซิร์ฟล่มทีของหายทั้งเซสชัน — ต้นฉบับเซฟตอนผู้เล่นออกเท่านั้น ล่ม 1 ครั้ง = ย้อนกลับไปตอนล็อกอินทุกคน
  • ดูปช่วงก่อนรีสตาร์ท — 10 นาทีสุดท้ายก่อน txAdmin รีสตาร์ท คือช่วงที่โอนเงิน/ไอเทมแล้วรอให้เซิร์ฟดับก่อนเซฟ
  • callback รั่ว — ESX.TriggerServerCallback ที่ไม่มีใครตอบค้างในหน่วยความจำจนเซิร์ฟรีสตาร์ท
  • ไอเทมว่างทั้งเซิร์ฟตอนบูต — ถ้า MySQL ยังไม่พร้อมตอนอ่านตารางไอเทมครั้งแรก ESX.Items จะว่างทั้งเซสชัน
  • ช้าขึ้นตามจำนวนคน — ค้นหาเงิน/ไอเทม/อาวุธไล่ทีละตัวทุกครั้ง และเซฟ encode JSON ใหม่ทั้ง 4 ก้อนต่อคน

X3D Build แก้อะไร

เรื่อง esx_core 1.13.4 X3D Build
เซฟตอนหลุด/ล่ม เขียน (0,0,0) และเลือด 0 ทับได้ ตรวจก่อนเซฟ ใช้ค่าล่าสุดที่ถูกต้อง
เซฟระหว่างเล่น ตอนออกเท่านั้น Config.SaveInterval เซฟทุกคนทุก 10 นาที
Spawn ปล่อยทันที เสี่ยงตกทะลุแมพ รอพื้นโหลดจริง มีตัวจับเวลากันค้าง
ตารางไอเทมตอนบูต อ่านครั้งเดียว ว่างก็ว่างทั้งเซสชัน อ่านซ้ำจนกว่าจะได้
ค้นหาเงิน/ไอเทม/อาวุธ ไล่ทีละตัว O(1)
เซฟผู้เล่น encode JSON ทั้ง 4 ก้อนทุกครั้ง encode เฉพาะส่วนที่เปลี่ยน
callback ไม่มีคนตอบ ค้างตลอด timeout + ล้างตอนออก + กวาดเป็นรอบ
ก่อนรีสตาร์ท ไม่มีอะไรกัน ล็อกเศรษฐกิจ 10 นาทีสุดท้าย
audit log ไม่มี เงิน/ไอเทม/อาวุธ/join/leave/chat/death ลงตาราง + Discord webhook
กระสุน เชื่อ client clamp ค่าที่ client ส่งมา
คำต้องห้าม ไม่มี ตัวกรอง + นับ strike แล้วเตะ

ลงทับตัวเดิมได้เลย ไม่ต้องแก้สคริปต์

ชื่อ resource ยังเป็น es_extended ทุก @es_extended/imports.lua และ dependencies { 'es_extended' } ของสคริปต์ที่มีอยู่ทำงานต่อได้ทันที

  1. สำรอง es_extended ตัวเดิม (ย้ายออกนอก resources/)
  2. วางโฟลเดอร์ใหม่แทน
  3. เปิดเซิร์ฟ — มีฐานข้อมูล ESX อยู่แล้วไม่ต้องรัน SQL

ชื่อตารางตั้งได้ที่ Config.Tables (ค่าเริ่มต้นคือชื่อมาตรฐาน ESX) ตรวจเจอ nc_inventory / ox_inventory ให้เอง ไอคอนเงินและไอเทมใน notification ชี้ไปที่ inventory ที่คุณใช้อยู่

รายละเอียดทุกค่า config อยู่ในคู่มือการติดตั้ง

ใครควรใช้ ใครยังไม่ควร

ควรใช้ ถ้าเซิร์ฟคุณรัน ESX Legacy 1.13.x อยู่แล้ว มีคนเล่นจริง และเคยเจอของหายตอนล่ม โผล่กลางแมพ หรือดูปก่อนรีสตาร์ท

รอก่อน ถ้าคุณแก้ es_extended เองไว้เยอะ ต้อง merge ของคุณเข้ากับ X3D Build ก่อน (ซอร์สเปิดทั้งหมด รายการที่แก้อยู่ใน README.md) และตัวนี้เป็นฟอร์กจาก 1.13.4 ไม่ได้ตาม release ใหม่ของ ESX โดยอัตโนมัติ

ใช้คู่กับอะไรดี

คำถามที่พบบ่อย

ต้องรัน SQL ไหม — ไม่ ถ้ามีฐานข้อมูล ESX อยู่แล้ว ติดตั้งใหม่ทั้งหมดค่อยรัน es_extended.sql

ใช้กับ ox_inventory ได้ไหม — ได้ core ตรวจเจอเองและชี้ไอคอนไปที่ inventory ที่คุณใช้

ฟรีจริงไหม มีเงื่อนไขอะไร — ฟรี ภายใต้ GNU GPL v3 เหมือนต้นฉบับ ซอร์สเปิด แก้ต่อและแจกต่อได้ภายใต้สัญญาเดิม ลิขสิทธิ์ต้นฉบับเป็นของ Jérémie N'gadi และโปรเจกต์ ESX Legacy

อัปเดตตาม ESX ตัวหลักไหม — ไม่อัตโนมัติ ฐานคือ 1.13.4 การอัปเดตของ X3D Build ประกาศในหน้าสินค้าและ Discord ของร้าน

ดาวน์โหลดได้ที่ ESX Legacy Core — X3D Build ล็อกอินด้วย Discord แล้วกดรับฟรี

สคริปต์ที่เกี่ยวข้อง