เอกสาร

ESX Legacy Core — X3D Build

es_extended ที่เร็วขึ้น กันข้อมูลผู้เล่นหาย และล็อกเศรษฐกิจก่อนรีสตาร์ท ลงทับตัวเดิมได้เลย ชื่อ resource เหมือนเดิมทุกอย่าง

ซื้อ / รับฟรี

การติดตั้ง

  1. หยุดเซิร์ฟเวอร์
  2. ย้าย es_extended ตัวเดิมออกไปเก็บไว้ที่อื่น (นอก resources/)
  3. วางโฟลเดอร์ es_extended จากซิปนี้ลงตำแหน่งเดิม
  4. เปิดเซิร์ฟเวอร์

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

ตอนบูตจะเห็นแบนเนอร์นี้ = ลงถูกแล้ว

=========================================================
  [ESX]  <ชื่อเซิร์ฟ>
---------------------------------------------------------
  Resources   208 started / 250 total
  Database    31 ms
  Framework   ESX 1.13.4-x3d.1
---------------------------------------------------------
  Modified build of ESX Legacy es_extended (GPL-3.0)
=========================================================

ชื่อตารางฐานข้อมูล

shared/config/main.lua ค่าเริ่มต้นเป็นชื่อมาตรฐาน ESX เซิร์ฟที่ใช้ชื่ออื่นแก้บล็อกนี้บล็อกเดียว

Config.Tables = {
    users = 'users',
    items = 'items',
    jobs = 'jobs',
    job_grades = 'job_grades',
    owned_vehicles = 'owned_vehicles',
    server_log = 'esx_server_log',
}

หน้าโหลดกับปุ่ม ENTER WORLD

core จะพักผู้เล่นไว้หลังโหลดข้อมูลเสร็จ แล้วรอ esx:playerReadyToSpawn จากหน้าโหลด ถึงจะปล่อยลงเมือง

หน้าโหลดที่ไม่รองรับก็ใช้ได้ — ครบเวลาแล้ว core ปล่อยลงเอง

Config.EnterWorldTimeout = 120000   -- 0 = รอตลอดไป

ใช้คู่กับ x3d_loadingscreen จะได้ปุ่ม ENTER WORLD จริง ๆ

ไอคอนเงินกับไอเทมใน notification

ตรวจ nc_inventory และ ox_inventory ให้เอง ถ้าใช้ inventory อื่นตั้งเองได้

Config.ItemIconUrl = 'nui://<ชื่อ inventory>/<พาธ>/%s.png'
-- false = ไม่ใส่ไอคอน (notification ยังขึ้นปกติ)

ล็อกเศรษฐกิจก่อนรีสตาร์ท

Config.RestartLock = {
    seconds = 600,       -- ล็อกกี่วินาทีก่อนรีสตาร์ท
    kickSeconds = 120,   -- เตะทุกคนกี่วินาทีก่อนรีสตาร์ท
    allow = { es_extended = true, esx_identity = true, ... },
}

allow = resource ที่ยังขยับเงิน/ไอเทมได้ระหว่างล็อก ใส่เฉพาะ UI กับระบบพื้นฐาน ห้ามใส่อะไรที่จ่ายเงินหรือให้ของได้

คำสั่งคอนโซล: restartlock on [วินาที] · restartlock off · restartlock status

audit log

ตั้งใน server_secrets.cfg

set esx_serverlog_webhook        "https://discord.com/api/webhooks/..."
set esx_serverlog_webhook_money  "..."     # แยกช่องตามชนิดได้
set esx_serverlog_alert_money    100000    # เกินเท่านี้ถึงเตือน
set esx_serverlog_alert_item     100
set esx_serverlog_log_ip         1         # 0 = ไม่เก็บ IP
set esx_serverlog_ignore         "res_a,res_b"

เขียน log เองจาก resource อื่น

TriggerEvent('esx_serverlog:write', src, 'kind', { any = 'data' })

event ที่เพิ่มมา

Event ยิงเมื่อ
esx:serverEntityCreated (server) สร้าง vehicle/object/ped ฝั่งเซิร์ฟเวอร์ — ให้ anticheat whitelist
esx:restartLock (client) ล็อกเศรษฐกิจเริ่ม — UI ที่ขยับเงินควรปิดตัวเอง
esx:restartLockFinalFlush (server) 15 วินาทีก่อนรีสตาร์ท — flush ลงฐานข้อมูล
esx:spawnedWithoutEnterWorld (client) core ปล่อยลงเมืองไปแล้วโดยไม่ได้รอกดปุ่ม — หน้าโหลดต้องปิดตัวเอง

คำสั่ง

esxstats — จำนวน resource / ผู้เล่น / ping ฐานข้อมูล / uptime

ถ้าอยากกลับไปใช้ตัวเดิม

เอา es_extended ตัวเก่าวางทับกลับ แล้วรีสตาร์ท ไม่มีอะไรในฐานข้อมูลเปลี่ยนรูปแบบ

ดูหน้าสินค้า