วิธีติดตั้ง ESX Legacy FiveM แบบถูกต้องสำหรับ Server ใหม่
การติดตั้ง ESX Legacy FiveM ในปัจจุบัน วิธีที่ง่ายและลดปัญหาได้มากที่สุดคือ ติดตั้งผ่าน Official ESX Legacy Recipe ใน txAdmin แทนการดาวน์โหลด es_extended และ Dependencies ทีละตัวจาก Tutorial เก่า
โครงสร้างโดยรวมคือ
FXServer
↓
txAdmin
↓
ESX Legacy Recipe
↓
Database
↓
oxmysql
↓
ESX Core
↓
ESX Addons
↓
เปิด Server
↓
ทดสอบ Character / Player Data / Job / Money
Official Recipe ปัจจุบันจัดการหลายขั้นตอนให้อัตโนมัติ เช่น
ดาวน์โหลด ESX Core
Import SQL
ติดตั้ง oxmysql
ติดตั้ง ox_lib
ติดตั้ง pma-voice
ติดตั้ง ESX Addons
สร้าง server.cfg
จัด Resource Structure
จึงเหมาะมากสำหรับ Server ใหม่
สิ่งสำคัญคืออย่านำคู่มือ ESX อายุหลายปีที่ยังใช้
EssentialMode
esplugin_mysql
mysql-async
มาเป็นต้นแบบของ ESX Server ใหม่ เพราะ ESX Legacy ปัจจุบันใช้ Architecture แตกต่างออกไปแล้ว
① สิ่งที่ต้องเตรียมก่อนติดตั้ง ESX Legacy
ก่อนเริ่มควรมี
เครื่อง Windows หรือ Linux สำหรับ FXServer
Cfx Account
FiveM Server Artifacts ปัจจุบัน
Database Server
MySQL หรือ MariaDB
สิทธิ์สร้าง Database
Server Registration Key
Internet สำหรับดาวน์โหลด Resources
txAdmin
ข้อดีคือ txAdmin มากับ FXServer อยู่แล้ว ไม่ต้องดาวน์โหลดเป็น Resource แยก
ถ้าเป็นการสร้าง Server ครั้งแรก การใช้ txAdmin Recipe จะง่ายกว่าการติดตั้ง Manual มาก
② ESX Legacy ต้องมี Database ไหม
ต้องมี
ESX เป็น Roleplay Framework ที่ต้องเก็บข้อมูลถาวร เช่น
Character
Accounts
Money
Job
Job Grade
Inventory Data
Metadata
Position
จึงต้องใช้ฐานข้อมูล
Architecture ทั่วไปคือ
ESX
↓
oxmysql
↓
MySQL / MariaDB
Official ESX Legacy Recipe ปัจจุบันใช้ oxmysql
ดังนั้นก่อน Deploy Recipe ควรเตรียม Database Server ให้พร้อม
③ ควรใช้ MariaDB หรือ MySQL
ทั้งสองสามารถถูกใช้กับ FiveM ecosystem ได้ตาม Environment และ Compatibility
สิ่งที่สำคัญกว่าคือ
Database Server ทำงาน
User ถูกต้อง
Password ถูกต้อง
Database มีอยู่
Connection String ถูกต้อง
สำหรับ Production ควรตั้ง Database User แยกสำหรับ FiveM Server แทนการใช้ Root โดยไม่จำเป็น
ตัวอย่างแนวคิด
Database: esx
User: fivem
Password: ********
แล้วให้ User นี้มี Permission เฉพาะ Database ที่ต้องใช้
④ อย่าใช้ root แบบไม่มี Password
ตัวอย่าง Development Environment บางชุดอาจเริ่มด้วย
root
ไม่มี password
แม้ใช้งาน Local Test ได้ แต่ไม่เหมาะกับ Production Server
ควรสร้าง
Dedicated Database User
+
Strong Password
+
เฉพาะสิทธิ์ที่จำเป็น
และไม่เปิด Database Port ออก Internet โดยไม่มีเหตุผล
Database เป็นหนึ่งในส่วนสำคัญที่สุดของ RP Server เพราะมี Player Data ทั้งหมด
⑤ ดาวน์โหลด FXServer รุ่นปัจจุบัน
ขั้นแรกคือเตรียม Server Artifacts ของ FiveM
หลัง Download และแตกไฟล์ อาจมีโครงสร้างประมาณ
FXServer/
├── FXServer.exe
├── citizen/
└── ...
บน Windows สามารถเปิด
FXServer.exe
เพื่อเริ่ม txAdmin Setup
สำหรับ Server ใหม่ควรใช้ Recommended/Current Artifact ที่เหมาะกับ Production แทน Binary เก่าที่เก็บไว้นานหลายปี
⑥ เปิด txAdmin
เมื่อเปิด FXServer ครั้งแรก Browser จะเปิด txAdmin
โดยค่า Default txAdmin ใช้ Port
40120
ถ้าเป็นเครื่อง Local จะเข้าผ่าน Interface ของ txAdmin ที่ FXServer เปิดให้
จากนั้นระบบจะให้
Link Cfx Account
ตั้ง Password
Register Server
สร้าง Profile
ตามขั้นตอน Initial Setup
⑦ Link Cfx Account
txAdmin จะให้เชื่อม Cfx Account
ขั้นตอนโดยทั่วไปคือ
FXServer
↓
txAdmin
↓
Link Account
↓
Login Cfx
↓
Authorize
ควรใช้ Account ที่ตั้งใจจะดูแล Production Server ระยะยาว
โดยเฉพาะถ้าในอนาคตจะซื้อ Asset Escrow Resources จำนวนมาก ควรวางแผน Account Ownership ให้ชัดเจนตั้งแต่เริ่มต้น
⑧ ตั้งชื่อ Server Profile
หลังเชื่อม Account แล้ว txAdmin จะให้กำหนดข้อมูล Server
เช่น
Server Name
Data Location
Deployment Type
ตั้งชื่อให้สื่อความหมาย
ตัวอย่าง
ESX-Production
หรือ
ESX-Development
ถ้ามีหลาย Environment
หลีกเลี่ยงชื่อ
test
test2
new
server123
เพราะเมื่อมีหลาย Profile จะสับสนว่า Folder ใดเป็น Production
⑨ เลือก Popular Recipes
ในขั้น Deployment Type ให้เลือก
Popular Recipes
Cfx.re ปัจจุบันแนะนำการใช้ txAdmin Recipes สำหรับ Framework Deployment เพราะลดขั้นตอน Manual
ในรายการ Popular Recipes ปัจจุบันมี
ESX Legacy
เป็น Official Recipe
เลือกตัวนี้สำหรับการสร้าง ESX Server ใหม่
⑩ ต้องเลือก ESX Legacy ตัวไหน
ให้เลือก Recipe ที่ระบุ
ESX Legacy
และมาจาก
ESX-Framework
ไม่ควรใช้ Recipe หรือ Pack จากผู้พัฒนาที่ไม่รู้จัก หากเป้าหมายคือสร้าง Clean Base
Official txAdmin Recipe Index ของ Cfx.re ปัจจุบันมี ESX Legacy อยู่ในรายการโดยตรง
จุดนี้ช่วยลดความเสี่ยงจาก
Modified Core
Old Dependencies
Backdoors
Leaked Resources
Unknown SQL
⑪ Recipe Deployer คืออะไร
หลังเลือก ESX Legacy แล้ว txAdmin จะเปิด
Recipe Deployer
Recipe คือชุด Instructions ที่บอก txAdmin ว่าต้อง
Download อะไร
ย้ายไฟล์ไปไหน
สร้าง Config อย่างไร
เชื่อม Database อย่างไร
Import SQL อะไร
Official ESX Recipe จึงสามารถติดตั้ง Framework จำนวนหลาย Resource ได้ใน Workflow เดียว
⑫ ESX Recipe ติดตั้งอะไรให้อัตโนมัติ
Official Recipe ปัจจุบันทำงานสำคัญ เช่น
Download CFX Default Resources
↓
สร้าง server.cfg
↓
เชื่อม Database
↓
Download ESX Core
↓
Import legacy.sql
↓
Download ESX Legacy Addons
↓
ติดตั้ง oxmysql
↓
ติดตั้ง ox_lib
↓
ติดตั้ง pma-voice
↓
จัด Resources
รวมถึง Standalone Resources ที่ Recipe ปัจจุบันกำหนด
นี่คือเหตุผลที่การใช้ Official Recipe ง่ายกว่า Manual Installation มาก
⑬ สร้าง Database ก่อน Run Recipe
เมื่อ Recipe ต้อง Connect Database คุณต้องมี Database Server ที่ใช้งานได้
ตัวอย่าง
Database Server
└── esx
และ Credential
Host
Port
Database
Username
Password
ให้พร้อม
หาก Database Server ใช้เครื่องเดียวกับ FXServer Host มักเป็น
localhost
แต่ Environment แต่ละแห่งอาจแตกต่างกัน
Hosting Provider บางรายจะให้ Database Host เฉพาะมาให้
⑭ Database Connection String คืออะไร
ESX server.cfg จะมี
set mysql_connection_string "..."
รูปแบบสามารถมีลักษณะ
mysql://username:password@hostname/database?charset=utf8mb4
ตัวอย่างเชิงโครงสร้าง
set mysql_connection_string "mysql://fivem:YOUR_PASSWORD@localhost/esx?charset=utf8mb4"
อย่า Copy ตัวอย่างนี้ตรง ๆ
ต้องเปลี่ยน
Username
Password
Host
Database
เป็นค่าของ Server จริง
⑮ อย่าเผย Database Password
Connection String เป็นข้อมูลสำคัญ
ไม่ควรโพสต์ server.cfg ทั้งไฟล์แบบไม่ปิดข้อมูล เพราะอาจมี
Database Password
sv_licenseKey
API Keys
Webhook URLs
หากต้องส่ง Config เพื่อขอความช่วยเหลือ ให้ปิด Secret ก่อน
ตัวอย่าง
set mysql_connection_string "mysql://fivem:********@localhost/esx"
⑯ Server Registration Key ต้องใช้
txAdmin Setup จะให้ใส่ Server Registration Key
ใน server.cfg จะกลายเป็นค่าประเภท
sv_licenseKey "YOUR_CFX_SERVER_KEY"
ต้องใช้ Key ของ Server จริง
อย่าใช้ Key จาก
เพื่อน
Server Pack
YouTube Tutorial
GitHub
Developer คนอื่น
เพราะนอกจากเป็นข้อมูลส่วนตัวแล้ว Paid Asset Entitlements ยังอาจเกี่ยวข้องกับ Account ที่ถือ Server Key ด้วย
⑰ Run Recipe
เมื่อ
Database พร้อม
Cfx Key พร้อม
Recipe ถูกต้อง
สามารถกด Run Recipe
จากนั้น txAdmin จะทำงานตาม Recipe
ขั้นตอนอาจประกอบด้วย
Download
Extract
Move Resources
Connect Database
Import SQL
Generate Config
Cleanup Temporary Files
ควรปล่อยให้ Recipe จบสมบูรณ์
หากเกิด Error กลางทาง ให้ดู Error ขั้นที่ล้มเหลวแทนการกด Run ซ้ำต่อเนื่องโดยไม่ตรวจสาเหตุ
⑱ Recipe Import SQL ให้อัตโนมัติหรือไม่
Official ESX Legacy Recipe ปัจจุบันมีขั้นตอน
query_database
สำหรับไฟล์
legacy.sql
จาก ESX Core
หมายความว่า Base Schema หลักถูก Import ระหว่าง Deployment
ดังนั้นถ้าติดตั้งผ่าน Recipe สำเร็จ ไม่จำเป็นต้อง Import legacy.sql ซ้ำโดยไม่ตรวจ Database ก่อน
การ Import ซ้ำอาจสร้าง Error ประเภท
Table already exists
Duplicate entry
Duplicate column
ได้
⑲ legacy.sql คืออะไร
legacy.sql เป็น SQL ชุดพื้นฐานสำหรับ ESX Legacy
ใช้สร้างหรือเตรียม Database Structures ที่ Framework ต้องการ
ตัวอย่างข้อมูลประเภท
users
jobs
job_grades
items
และส่วนอื่นตาม Current Schema/Resources
Addons บางตัวอาจมี SQL ของตัวเองเพิ่มเติม
Official Recipe จึงช่วยจัดขั้นตอน SQL ให้ถูกตามชุดที่ถูก Deploy
⑳ หลัง Recipe เสร็จ Resources อยู่ที่ไหน
โครงสร้างจะถูกจัดไว้ใน Server Data Folder
ภาพรวมอาจคล้าย
server-data/
├── server.cfg
├── resources/
│ ├── [cfx-default]/
│ ├── [core]/
│ ├── [standalone]/
│ └── [esx_addons]/
└── ...
ชื่อและรายละเอียดอาจเปลี่ยนได้ตาม Recipe Version
สิ่งสำคัญคืออย่าย้าย Resources ออกจาก Category แบบสุ่มทันทีหลังติดตั้ง
ก่อนย้ายต้องเข้าใจ Start Order และ Dependencies ก่อน
㉑ Resource หลักของ ESX อยู่ตรงไหน
ภายใน
[core]
จะมี Core Resources
หนึ่งใน Resource สำคัญที่สุดคือ
es_extended
Framework Scripts จำนวนมากพึ่ง Resource นี้
จึงควรเห็น
resources/
└── [core]/
└── es_extended/
└── fxmanifest.lua
หรือโครงสร้างตาม Current Recipe ที่เทียบเท่า
หากไม่มี es_extended แสดงว่า ESX Core Deployment ไม่สมบูรณ์
㉒ oxmysql ต้องอยู่ก่อน ESX
Official server.cfg ปัจจุบันจัด Start Order โดยมี
ensure oxmysql
ก่อน
ensure es_extended
เหตุผลคือ ESX ต้องใช้ Database Layer
แนวคิด
oxmysql พร้อม
↓
es_extended
↓
ESX Core Resources
ถ้า oxmysql ไม่ Start ESX อาจโหลด Player Data หรือ Database ไม่ได้
㉓ esx_lib คืออะไรใน Start Order
Official Configuration ปัจจุบันมี
ensure esx_lib
ก่อน es_extended
จากนั้น
ensure es_extended
ensure [core]
จึงไม่ควร Copy server.cfg จาก ESX Pack เก่ามาทับ Current Recipe โดยไม่ตรวจ
Start Order ปัจจุบันควรยึด Official Recipe เป็นฐาน
㉔ Start Order ตัวอย่างจาก Current Recipe
แนวคิดปัจจุบันมีลักษณะ
ensure chat
ensure hardcap
ensure oxmysql
ensure esx_lib
ensure es_extended
ensure [core]
ensure [standalone]
ensure [esx_addons]
อย่าใช้ตัวอย่างนี้แทน server.cfg จาก Recipe แบบ Copy ทุกบรรทัดโดยไม่จำเป็น
เพราะ Current Recipe สามารถเปลี่ยน Resource หรือ Configuration ในอนาคตได้
หลักสำคัญคือ
Database Dependency
↓
Framework Core
↓
Core Resources
↓
Standalone/Addons
㉕ OneSync ต้องเปิดหรือไม่
Official ESX Recipe ปัจจุบันกำหนด OneSync ไว้ใน Recipe และ Configuration ของ Server
ดังนั้น Server ESX รุ่นใหม่ควรใช้ OneSync ตาม Current Framework Configuration
ไม่ควรปิด OneSync เพียงเพราะ Tutorial ESX เก่าบอกให้ปิด
FiveM และ Framework Architecture ปัจจุบันถูกพัฒนาโดยอิงระบบใหม่กว่า Tutorial รุ่นแรกมาก
㉖ ตรวจ server.cfg หลังติดตั้ง
หลัง Recipe เสร็จควรเปิด server.cfg ตรวจอย่างน้อย
Server Name
sv_licenseKey
mysql_connection_string
sv_maxclients
Locale
Game Build
ACE Permissions
Voice Config
Resource Start Order
ไม่ต้องแก้ทุกอย่าง
เป้าหมายคือเข้าใจว่า Server กำลังใช้ค่าอะไร
㉗ อย่าเปลี่ยน Config หลายอย่างก่อนเปิดครั้งแรก
หลังติดตั้ง ESX ใหม่ ควรเปิด Base Server เดิมก่อน
อย่าเพิ่งลง
Phone 5 ตัว
Inventory ใหม่
Garage ใหม่
Housing ใหม่
Custom Jobs 30 ตัว
Map 50 ตัว
พร้อมกัน
ควรทำ
ติดตั้ง ESX
↓
เปิด Base
↓
ทดสอบ
↓
Backup
↓
เพิ่ม Resource ทีละกลุ่ม
ถ้า Base มีปัญหาจะหาสาเหตุได้ง่ายมาก
㉘ เปิด Server ครั้งแรก
หลัง Recipe Deploy สำเร็จ txAdmin สามารถ
Save & Run Server
ได้
เปิด Console แล้วตรวจ Startup
ควรเห็น Resources สำคัญ Start โดยไม่มี Error ร้ายแรง
เช่น
oxmysql
esx_lib
es_extended
จากนั้น Resource Groups อื่นตาม Recipe
อย่าดูเพียงว่าหน้า txAdmin ขึ้น Online
ต้องอ่าน Console ด้วย
㉙ Error oxmysql ตอนเปิด Server
หากเห็น Error Database ให้ตรวจ
MySQL/MariaDB เปิดอยู่หรือไม่
Host ถูกหรือไม่
Port ถูกหรือไม่
Username ถูกหรือไม่
Password ถูกหรือไม่
Database มีหรือไม่
Firewall
Database User Permission
ถ้า oxmysql เชื่อม Database ไม่ได้ ESX จะไม่สามารถทำงานเต็มระบบ
ดังนั้นแก้ Database ก่อน Framework Script อื่น
㉚ วิธีทดสอบว่า Database เชื่อมแล้ว
ดู Server Console ตอน Startup
ถ้า oxmysql Connect สำเร็จและไม่มี Connection Error จึงตรวจขั้นต่อไป
จากนั้นดูใน Database ว่า Tables ของ ESX ถูกสร้างแล้วหรือไม่
เช่น
users
jobs
job_grades
และ Tables ที่ Addons ต้องใช้ตาม Recipe
อย่าสร้าง Table เองด้วยชื่อเดา
ใช้ SQL ที่มาพร้อม Current Resource
㉛ วิธีทดสอบว่า es_extended ทำงาน
หลัง Server Start ตรวจว่า
es_extended
ไม่มี Startup Error
จากนั้นเข้า Server ด้วย FiveM Client
ดูว่า Player สามารถเข้าสู่ Character Flow ของ ESX ได้
ทดสอบอย่างน้อย
Connect
↓
Character
↓
Spawn
↓
Player Data
↓
Reconnect
ถ้าผู้เล่นเข้าได้แต่ Character ไม่ Save แสดงว่าต้องตรวจ Database/Persistence เพิ่ม
㉜ ทดสอบ Character Creation
สำหรับ Server ที่ใช้ Identity/Multicharacter ตาม Recipe ให้ทดสอบ
เข้า Server ครั้งแรก
↓
สร้าง Character
↓
ใส่ข้อมูล
↓
Spawn
↓
ออก Server
↓
เข้าใหม่
แล้วตรวจว่า Character เดิมกลับมาหรือไม่
หากสร้างได้แต่ข้อมูลหายหลัง Reconnect ต้องตรวจ
Database
Identifier
Player Save
Character Resources
ทันที
㉝ ทดสอบ Money
หลัง Character โหลดแล้ว ควรตรวจระบบ Account
เช่น
Cash
Bank
ตาม Base Configuration
ทดสอบ
เปลี่ยนยอด
↓
ออก Server
↓
เข้าใหม่
↓
ตรวจว่ายอด Save
ไม่จำเป็นต้องสร้าง Economy เต็มระบบทันที
เป้าหมายคือพิสูจน์ว่า Player Persistence ใช้งานได้
㉞ ทดสอบ Job
ตรวจว่า Player มี Job พื้นฐาน
เช่น
unemployed
จากนั้นทดสอบเปลี่ยน Job ผ่านระบบ Admin/Framework ที่ถูกต้องใน Development Environment
ตรวจ
Job Name
Grade
Salary
Permission
และ Reconnect ดูว่าข้อมูลยังถูกต้อง
ถ้า Job หายหลัง Reconnect ให้ตรวจ Database Save/Schema
㉟ ทดสอบ Inventory
ถ้า Base ESX ใช้ Inventory ตาม Recipe ให้ตรวจ
Add Item
Remove Item
Reconnect
ว่าข้อมูลถูกต้อง
หากภายหลังจะเปลี่ยนเป็น External Inventory เช่น ox_inventory ควรทำหลัง Base ESX ทำงานสมบูรณ์แล้ว
อย่าเปลี่ยน Inventory พร้อมกับติดตั้ง Framework ครั้งแรก เพราะจะเพิ่มตัวแปรในการ Debug
㊱ ทดสอบ Player Position
อีกระบบที่ควรตรวจคือ Position Persistence
ทดสอบ
Spawn
↓
ย้ายตำแหน่ง
↓
ออก Server
↓
เข้าใหม่
ดูว่าระบบ Save/Spawn ทำงานตาม Configuration หรือไม่
หาก Position ไม่ Save ให้ตรวจ Core/Spawn/Multicharacter ก่อนลง Custom Spawn Resource
㊲ ตรวจ F8 ฝั่ง Client
Server Console ไม่มี Error ไม่ได้แปลว่า Client ไม่มี Error
เมื่อเข้า Server ให้กด
F8
แล้วตรวจ
SCRIPT ERROR
NUI Error
Missing Resource
Failed Export
Client Event Error
บางปัญหา Character UI หรือ Menu เกิดเฉพาะ Client
จึงควรตรวจทั้งสองฝั่งเสมอ
㊳ ตรวจ Server Console
Server-side Error ที่สำคัญ เช่น
SQL Error
No such export
Missing dependency
nil value
Player load error
จะอยู่ Server Console
ถ้า Error เกิดทุกครั้งที่ Player Join ให้จับ Error ตั้งแต่บรรทัดแรก
อย่าแก้ Error ที่ตามมา 20 บรรทัดก่อน Root Error
㊴ วิธีดูว่า ESX Base พร้อมแล้วจริง
ก่อนเพิ่ม Custom Scripts ควรผ่าน Checklist
Server Boot ไม่มี Critical Error
Database Connected
es_extended Started
เข้า Server ได้
สร้าง Character ได้
Spawn ได้
Job โหลด
Money โหลด
Inventory โหลด
Reconnect แล้ว Data ยังอยู่
เมื่อผ่านทั้งหมดจึงถือว่า Base Framework พร้อมสำหรับการเพิ่ม Resource ต่อ
㊵ Backup หลัง Base ใช้งานได้
จุดนี้สำคัญมาก
เมื่อ ESX Base ทำงานสมบูรณ์ ให้ Backup
server.cfg
resources/
Database
txAdmin Profile Configuration
เป็น Baseline
ตัวอย่างชื่อ Backup
esx-clean-base-working
ถ้าภายหลังลง Script แล้ว Server พัง คุณจะมีจุดย้อนกลับที่รู้ว่าใช้งานได้แน่นอน
㊶ ลง Script หลัง ESX ทีละตัว
Workflow ที่ดีคือ
ติดตั้ง Script A
↓
Test
↓
Backup/Commit
↓
ติดตั้ง Script B
↓
Test
ไม่ใช่
Download 50 Scripts
↓
โยนทั้งหมดลง resources
↓
Restart
↓
มี 200 Errors
การติดตั้งทีละ Resource จะทำให้รู้ทันทีว่า Error เริ่มจากตัวไหน
㊷ ESX Script ที่ดาวน์โหลดมาต้องเช็กอะไร
ก่อน ensure ให้ตรวจ
Framework Version
Dependencies
Inventory
Target
Database
SQL
Config
Resource Name
fxmanifest.lua
โดยเฉพาะ Script ที่เขียนว่า
ESX
ต้องดูว่าหมายถึง
Current ESX Legacy
หรือ ESX รุ่นเก่ามาก
㊸ อย่าใส่ mysql-async เพิ่มเพราะ Script เก่าร้องหา
ถ้า Current Server ใช้
oxmysql
อยู่แล้ว แล้ว Script เก่าต้องการ
mysql-async
อย่ารีบติดตั้ง Database Libraries สองระบบแบบสุ่ม
ควรหา
Script Version ใหม่
Migration
Compatibility Layer ที่ Project รองรับ
Resource ทดแทน
การสะสม Database Libraries รุ่นเก่าทำให้ Stack ดูแลยากขึ้น
㊹ อย่าลง EssentialMode ใน ESX Legacy ใหม่
หาก Tutorial บอก
ensure essentialmode
ensure esplugin_mysql
ensure es_extended
ให้ตรวจ Tutorial ก่อน
Current Official ESX Recipe ไม่สร้าง Stack แบบนี้
การเอา EssentialMode ยุคเก่ามาใส่ Current ESX Server อาจสร้าง Conflict โดยไม่จำเป็น
㊺ ถ้าต้องการติดตั้ง ESX แบบ Manual ได้ไหม
ทำได้ แต่เหมาะกับผู้ที่เข้าใจ Dependencies และ Architecture แล้ว
Manual Installation ต้องจัดการเอง เช่น
ESX Core
Database
SQL
oxmysql
Dependencies
Addons
server.cfg
Start Order
หาก Version ของแต่ละ Repository ไม่ตรงกันจะเกิด Compatibility Error ได้ง่าย
ดังนั้น Server ใหม่โดยเฉพาะมือใหม่ ควรใช้ Official Recipe ก่อน
㊻ Manual Installation เหมาะเมื่อไร
อาจเหมาะเมื่อ
มี Deployment Pipeline ของตัวเอง
ใช้ Docker/Automation
มี Custom Repository
ไม่ต้องการ Official Addons ทั้งชุด
มีทีม DevOps
ต้องการ Minimal Core
แต่ควร Pin Versions และเก็บ Infrastructure Configuration เป็นระบบ
ไม่ควร Manual เพียงเพราะต้องการเลียนแบบ Video Tutorial เก่า
㊼ Hosting Provider ติดตั้ง ESX อย่างไร
Hosting บางรายมี
One-click Install
txAdmin
Template
Recipe
ถ้ามี txAdmin ให้เลือก Official ESX Legacy Recipe ก็ยังเป็นแนวทางที่ดี
แต่ต้องตรวจว่า Hosting ไม่ติดตั้ง
Modified ESX Pack
Old ESX Base
Custom Dependencies
แทน Official Recipe โดยไม่แจ้ง
หลังติดตั้งควรตรวจ Resource Structure และ Version
㊽ ติดตั้ง ESX แล้ว Server เข้าไม่ได้
แยกปัญหาตาม Layer
FXServer ไม่เปิด
ตรวจ Artifact/Port/Config
Server เปิดแต่ ESX Error
ตรวจ
oxmysql
esx_lib
es_extended
เข้า Server แล้ว Character ไม่ขึ้น
ตรวจ
Client F8
Identity
Multicharacter
Spawn
Database
Character ขึ้นแต่ Data ไม่ Save
ตรวจ
Database
SQL
Player Save
Identifier
อย่า Reinstall ทั้ง Serverก่อนรู้ว่า Layer ไหนเสีย
㊾ Error Couldn't Find Resource หลัง Recipe
ถ้า Config มี
ensure es_extended
แต่ Server แจ้งหาไม่พบ ให้ตรวจว่า Resource อยู่จริงหรือไม่
เช่น
resources/[core]/es_extended/
และภายในมี
fxmanifest.lua
ถ้า Recipe Download ไม่สมบูรณ์ อาจต้องตรวจ Log ของ Recipe ก่อน
อย่าสร้าง Folder es_extended เปล่าเพื่อให้ Error หาย
㊿ Error Missing Dependency หลังติดตั้ง
อ่านข้อความเต็ม
ตัวอย่าง
my_resource
↓
requires ox_lib
ตรวจว่า Dependency
ติดตั้งแล้ว
ชื่อ Folder ถูก
Start สำเร็จ
Start ก่อน Resource ลูก
Official Recipe ติดตั้ง Dependencies หลักหลายตัวให้ แต่ Custom Scripts สามารถต้องการ Resource เพิ่มเองได้
51. Error No Such Export หลังติดตั้ง Script
ถ้า ESX Base ทำงาน แต่ Custom Script ขึ้น
No such export
ให้ตรวจ
Resource Name
Export Name
Client/Server Side
Dependency Version
Script Version
Start Order
อย่าโทษ ESX Core ทันที
โดยเฉพาะ Script เก่าที่ใช้ APIs จาก Framework หรือ Inventory คนละ Version
52. ESX nil แก้อย่างไร
ถ้า Script Error ว่า
ESX = nil
ให้ตรวจว่า
es_extendedStartedScript Integration เป็น Current ESX หรือไม่
fxmanifest.luaมี Imports ที่จำเป็นหรือไม่ใช้ Shared Object วิธีถูก Version หรือไม่
Start Order ถูกหรือไม่
อย่า Copy
TriggerEvent('esx:getSharedObject', ...)
จาก Tutorial เก่าใส่ทันทีโดยไม่ตรวจ Script Version
53. Player โหลดไม่ได้หลังติดตั้ง
ตรวจ
Database Connection
users Table
Identifier
Multicharacter
Identity
Spawn
Server Console
ถ้ามี SQL Error ให้แก้ SQL ก่อน
ถ้ามี Client Error ให้ตรวจ F8
ปัญหา Player Loading เป็น Core Flow จึงควรแก้ก่อนติดตั้ง Gameplay Script ต่อ
54. SQL Table ไม่มีหลังติดตั้ง
ถ้า Recipe Deployment สำเร็จแต่ Resource Addon แจ้ง
Table doesn't exist
ตรวจว่า Table นั้นมาจาก
ESX Core
หรือ
Third-party Resource
ถ้าเป็น Custom Script ต้อง Import SQL ที่มากับ Script นั้นเอง
Official ESX Recipe ไม่สามารถ Import SQL ของ Script ที่คุณเพิ่งเพิ่มภายหลังให้อัตโนมัติ
55. Server.cfg ควรแก้ตรงไหนก่อน
หลัง Base ใช้งานได้ ค่อยปรับสิ่งพื้นฐาน เช่น
Server Name
Project Name
Description
Tags
Max Clients
Locale
Game Build ตาม Requirement
ACE/Admin
Voice
อย่าแก้
Security Convars
Core Start Order
Database
โดยไม่เข้าใจผลกระทบ
โดยเฉพาะ Config ที่ Recipe กำหนดมาเพื่อ Current Stack
56. ตั้งภาษา ESX
Official Config ปัจจุบันรองรับ Locale Configuration
สามารถกำหนด ESX Locale ตามวิธีที่ Current server.cfg ระบุ
แต่ก่อนเปลี่ยนเป็นภาษาไทยควรตรวจว่า Resource แต่ละตัวมี Thai Locale หรือไม่
ถ้าไม่มี
Config Locale = th
อาจไม่ได้ทำให้ข้อความทุก Scriptเป็นภาษาไทยโดยอัตโนมัติ
แต่ละ Resource อาจมี Locale Files ของตัวเอง
57. อย่าแก้ Core es_extended เพื่อ Custom ทุกอย่าง
ถ้าต้องการ Feature เพิ่ม เช่น
Custom Job
Notification
Garage
Business
พยายามสร้าง Resource/Bridge แยกก่อน
ไม่ควรแก้
es_extended
โดยตรงทุกครั้ง
เพราะเมื่อ Update Core ในอนาคตจะ Merge ยากมาก
แนวคิดที่ดีกว่า
ESX Core
↓
Public API
↓
Custom Resource
มากกว่าแก้ Framework Core ให้กลายเป็น Server-specific Code ทั้งหมด
58. ควรใช้ Git สำหรับ ESX Server ไหม
สำหรับทีม Developer แนะนำมาก
อย่างน้อยควรเก็บ Custom Configuration และ Scripts ใน Version Control
ช่วยให้รู้ว่า
ใครแก้อะไร
แก้เมื่อไร
ไฟล์ไหนทำ Server พัง
ย้อน Version ได้
แต่ห้าม Commit Secrets เช่น
sv_licenseKey
Database Password
Private Tokens
ลง Public Repository
59. Production กับ Test Server ควรแยกกัน
หากจะเปิด Server จริงควรมี
Development/Test
และ
Production
แยกกัน
การ Update
ESX
Inventory
Phone
Housing
Database Schema
ควรทดสอบใน Test Server ก่อน
อย่าลอง Migration Player Data ครั้งแรกบนฐานข้อมูล Production ที่ไม่มี Backup
60. Checklist หลังติดตั้ง ESX Legacy
FXServer
Artifact ปัจจุบัน
txAdmin ทำงาน
Server Registration Key ถูก
Server เปิดได้
Database
MySQL/MariaDB ทำงาน
Database สร้างแล้ว
User/Password ถูก
Connection String ถูก
oxmysqlConnected
ESX
esx_libStartedes_extendedStarted[core]โหลด[esx_addons]โหลดไม่มี Critical Startup Error
Player
เข้า Server ได้
Character ทำงาน
Spawn ได้
Player Data โหลด
Job โหลด
Money โหลด
Inventory โหลด
Reconnect แล้วข้อมูลยังอยู่
Debug
Server Console สะอาด
F8 ไม่มี Critical Error
ไม่มี Missing Dependency
ไม่มี No Such Export
ไม่มี SQL Error
ก่อนเพิ่ม Script
Backup
resourcesBackup
server.cfgBackup Database
บันทึก Base Version
เมื่อผ่านทั้งหมดนี้จึงควรเริ่มเพิ่ม Custom Resources
วิธีติดตั้ง ESX Legacy ที่แนะนำที่สุดในปี 2026
ถ้าต้องการคำตอบแบบสั้น ให้ทำตามลำดับนี้
① ดาวน์โหลด Current FiveM Server Artifact
② เปิด FXServer และตั้งค่า txAdmin
③ Link Cfx Account
④ สร้าง Server Profile
⑤ เลือก Popular Recipes
⑥ เลือก Official ESX Legacy
⑦ เตรียม MySQL/MariaDB Database
⑧ ใส่ Database Connection
⑨ ใส่ Cfx Server Registration Key
⑩ Run Recipe
⑪ รอ ESX Core + SQL + Dependencies ติดตั้งครบ
⑫ Save & Run Server
⑬ ตรวจ oxmysql
⑭ ตรวจ es_extended
⑮ เข้า Server ทดสอบ Character
⑯ ทดสอบ Job / Money / Inventory
⑰ Reconnect ตรวจ Persistence
⑱ Backup Clean Base
⑲ ค่อยเพิ่ม Custom Scripts ทีละตัว
นี่เป็นเส้นทางที่เหมาะกว่าการดาวน์โหลด ESX Pack จากเว็บสุ่มหลายแห่งมาประกอบเอง
สรุปวิธีติดตั้ง ESX Legacy FiveM
สำหรับ FiveM Server ใหม่ วิธีที่แนะนำที่สุดคือใช้ Official ESX Legacy Recipe ผ่าน txAdmin
เพราะ Current Recipe สามารถจัดการ
CFX Resources
Database Connection
ESX Core
legacy.sql
ESX Addons
oxmysql
ox_lib
pma-voice
server.cfg
Resource Structure
ให้โดยอัตโนมัติ
Current server.cfg ของ Official Recipe ยังจัดลำดับ Resource หลักในแนวทาง
oxmysql
↓
esx_lib
↓
es_extended
↓
[core]
↓
[standalone]
↓
[esx_addons]
จึงไม่ควรนำ Start Order จาก ESX Pack เก่ามาทับโดยไม่มีเหตุผล
หลังติดตั้งอย่ารีบใส่ Custom Scripts จำนวนมากทันที ให้ทดสอบ Base Server ก่อนว่า
Database Connected
Character Created
Player Spawned
Money Loaded
Job Loaded
Inventory Loaded
Data Saved After Reconnect
เมื่อทุกอย่างผ่านจึง Backup Clean Base แล้วเริ่มติดตั้ง Scripts เพิ่มทีละตัว
แนวทางของ comsiam คือการสร้าง ESX Server ที่ดูแลง่ายควรเริ่มจาก Official Base ที่สะอาด แล้วเพิ่มระบบทีละ Layer เพราะเมื่อเกิด Error จะรู้ว่า Resource ใดเป็นต้นเหตุ ไม่ต้องแก้ Server Pack ที่มี Scriptหลายร้อยตัวโดยไม่รู้ที่มา
สำหรับ Production Server comsiam แนะนำให้แยก Test Server ออกจาก Production และ Backup ทั้ง Database, server.cfg และ Resources ก่อน Update ESX Core ทุกครั้ง เพราะ Framework เป็น Dependency ของ Script จำนวนมาก การ Update Core โดยไม่ทดสอบสามารถทำให้ Job, Inventory, Phone, Garage และระบบ Player Data หลายส่วนได้รับผลกระทบพร้อมกัน
Comments
Post a Comment