FiveM Resource ไม่ Start แก้อย่างไร
FiveM Resource ไม่ Start หรือกด ensure แล้ว Resource เปิดไม่ขึ้น มักเกิดจากปัญหาไม่กี่กลุ่มหลัก ได้แก่ FiveM หา Resource ไม่เจอ, ไม่มี fxmanifest.lua, Manifest ผิด, Dependency ไม่ครบ, Resource Start ผิดลำดับ, ไฟล์ Script มี Syntax Error หรือ Resource ต้องการ Server/Game Build บางอย่างที่ Server ยังไม่รองรับ
วิธีแก้ที่เร็วที่สุดคืออย่าลอง Restart Server ซ้ำ ๆ แต่ให้ตรวจตามลำดับนี้
Resource อยู่ถูกที่หรือไม่
↓
ชื่อ Resource ถูกหรือไม่
↓
มี fxmanifest.lua หรือไม่
↓
refresh
↓
ensure resource_name
↓
อ่านข้อความ Error
↓
ตรวจ Dependency
↓
ตรวจ Manifest
↓
ตรวจ Script Error
↓
ตรวจ Server Version / Requirements
ถ้าตรวจตามลำดับนี้ ส่วนใหญ่จะหาต้นเหตุได้โดยไม่ต้องติดตั้ง Server ใหม่
① ตรวจว่า Resource อยู่ในโฟลเดอร์ resources หรือไม่
FiveM จะโหลด Resource จากโฟลเดอร์ resources
ตัวอย่างโครงสร้างที่ถูกต้อง
server-data/
└── resources/
└── my-script/
├── fxmanifest.lua
├── client.lua
└── server.lua
ถ้านำ Script ไปวางนอก resources FiveM จะไม่มอง Resource นั้นเป็น Resource ที่พร้อมใช้งาน
ตัวอย่างผิด
server-data/
└── my-script/
└── fxmanifest.lua
ควรเป็น
server-data/
└── resources/
└── my-script/
└── fxmanifest.lua
หากใช้ txAdmin ต้องตรวจด้วยว่า Server Profile ที่กำลัง Run ใช้ Server Data Folder ชุดเดียวกับที่เรานำ Resource ไปวาง
บางครั้งเจ้าของ Server มี Server Data หลายชุด แล้วนำ Script ไปใส่ผิด Profile ทำให้แก้เท่าไรก็ไม่พบ Resource
② เช็กปัญหาโฟลเดอร์ซ้อน
หนึ่งในสาเหตุที่เจอบ่อยที่สุดหลังดาวน์โหลด Script คือโฟลเดอร์ซ้อน
เช่นดาวน์โหลด ZIP แล้วได้
my-script/
└── my-script/
├── fxmanifest.lua
├── client.lua
└── server.lua
จากนั้นนำ Folder ชั้นนอกเข้า resources
ผลลัพธ์คือ
resources/
└── my-script/
└── my-script/
└── fxmanifest.lua
FiveM จะไม่พบ Manifest ในตำแหน่งที่ควรอยู่
ควรจัดใหม่เป็น
resources/
└── my-script/
├── fxmanifest.lua
├── client.lua
└── server.lua
หลักจำง่าย ๆ คือ เมื่อเปิด Folder Resource แล้ว ควรมองเห็น fxmanifest.lua ในระดับหลักของ Resource
③ FiveM Resource ต้องมี fxmanifest.lua
Resource ปัจจุบันควรมีไฟล์
fxmanifest.lua
อยู่ภายใน Resource Folder
ตัวอย่างพื้นฐาน
fx_version 'cerulean'
game 'gta5'
client_script 'client.lua'
server_script 'server.lua'
ถ้าไม่มี Manifest FiveM อาจไม่สามารถ Parse Resource ได้ตามปกติ
Script รุ่นเก่ามากอาจพบ
__resource.lua
ซึ่งเป็น Manifest รูปแบบเก่า
แต่สำหรับ Resource ใหม่ควรใช้
fxmanifest.lua
หากดาวน์โหลด Script มาแล้วไม่มีทั้งสองไฟล์ ต้องตรวจ Documentation เพราะอาจเกิดจาก
Download ผิด Folder
Download Source Code ที่ยังไม่พร้อมใช้งาน
แตกไฟล์ผิด
Resource อยู่ลึกลงไปอีกชั้น
Package มีหลาย Resource รวมกัน
อย่ารีบสร้าง fxmanifest.lua เปล่า ๆ ขึ้นมาเองโดยไม่รู้ว่า Script ต้องโหลดไฟล์อะไร เพราะ Resource อาจ Start ได้แต่ระบบภายในไม่ทำงาน
④ ใช้ refresh ก่อน Start Resource ใหม่
ถ้า Server เปิดอยู่แล้ว และเพิ่ง Copy Resource ใหม่เข้าไป ให้ใช้ Server Console
refresh
คำสั่งนี้จะให้ FiveM สแกน Resource Folder และ Resource Manifest ใหม่
จากนั้นลอง
ensure my-script
หรือ
start my-script
ตัวอย่าง
refresh
ensure my-script
หากเพิ่งเพิ่ม Resource และไม่ได้ refresh FiveM อาจยังไม่รู้จัก Resource ใหม่ใน Session ปัจจุบัน
⑤ ตรวจชื่อ Resource ให้ถูกต้อง
สมมติชื่อ Folder คือ
my-police
ต้องใช้
ensure my-police
ไม่ใช่
ensure my_police
หรือ
ensure police
ชื่อ Resource ต้องตรงกับ Resource ที่ FiveM ตรวจพบ
ให้ระวัง
-_ตัวเลข
ตัวสะกด
Space
Rename Resource
ตัวอย่างชื่อ Folder
ox_inventory
ต้องระบุ
ensure ox_inventory
หากเขียนผิดเพียงตัวเดียว Server ก็ไม่สามารถ Start Resource ตามชื่อที่เรียกได้
⑥ Couldn't Find Resource แก้อย่างไร
ถ้า Console ขึ้นข้อความประมาณ
Couldn't find resource my-script
ให้ตรวจ 5 จุดนี้ทันที
1. Folder มีจริงหรือไม่
resources/my-script/
2. fxmanifest.lua อยู่ถูกระดับหรือไม่
resources/my-script/fxmanifest.lua
3. ชื่อ Resource ถูกหรือไม่
ensure my-script
4. Folder ซ้อนหรือไม่
ผิด
my-script/my-script/fxmanifest.lua
5. refresh แล้วหรือยัง
refresh
ensure my-script
ถ้ายังไม่พบ Resource หลังตรวจทั้งหมด ให้ดูว่า Resource อยู่ใน Server Data Directory ตัวที่ FXServer กำลังใช้งานจริงหรือไม่
⑦ ตรวจ Error หลังสั่ง ensure
เมื่อพิมพ์
ensure my-script
อย่าดูเพียงว่ามีข้อความสีแดงหรือไม่
ให้อ่านข้อความตั้งแต่บรรทัดแรกที่เกี่ยวข้องกับ Resource
ตัวอย่าง
Missing dependency ox_lib
หรือ
Error parsing script ...
หรือ
Could not find dependency ...
ข้อความเหล่านี้บอกสาเหตุได้มากกว่าการบอกเพียงว่า “Resource เปิดไม่ได้”
แนวทางของ comsiam คือ Copy Error เต็มเก็บไว้ก่อนแก้อะไร เพื่อให้สามารถเปรียบเทียบได้ว่า หลังแก้แล้ว Error เปลี่ยนหรือหายไปจริงหรือไม่
⑧ Missing Dependency ทำให้ Resource ไม่ Start
Resource สามารถประกาศ Dependency ใน fxmanifest.lua
ตัวอย่าง
dependency 'ox_lib'
หรือ
dependencies {
'ox_lib',
'oxmysql'
}
ถ้า Resource ที่ต้องใช้ไม่มีอยู่หรือไม่สามารถ Start ได้ Resource หลักก็อาจ Start ไม่สำเร็จ
ตัวอย่าง
my-script
↓
ต้องใช้ ox_lib
↓
ox_lib ไม่มี
↓
my-script Start ไม่ได้
วิธีแก้ไม่ใช่ลบ
dependency 'ox_lib'
ออกจาก Manifest
แต่ต้องติดตั้งและตั้งค่า Dependency ให้ถูกต้อง
⑨ Dependency มีแล้วแต่ยัง Start ไม่ได้
ถ้า Resource Dependency มีอยู่แล้ว ให้ตรวจต่อว่า Dependency ตัวนั้น Start สำเร็จจริงหรือไม่
ตัวอย่างใน server.cfg
ensure ox_lib
ensure my-script
ถ้า ox_lib เองเกิด Error แล้ว Start ไม่สำเร็จ my-script ที่พึ่งพามันก็อาจ Start ไม่ได้ตามไปด้วย
ดังนั้นเวลาเจอ Resource หลายตัวไม่ Start พร้อมกัน ให้หา Resource Core ที่ Error ตัวแรก
ตัวอย่าง
ox_lib Error
↓
Resource A Error
↓
Resource B Error
↓
Resource C Error
อาจมี Root Cause เพียงจุดเดียว
⑩ Start Order ผิดทำให้ Resource มีปัญหาได้
Resource ที่ถูกพึ่งพาควรพร้อมก่อน Resource ที่เรียกใช้งาน
ตัวอย่าง
ensure oxmysql
ensure ox_lib
ensure my-script
ถ้า my-script ต้องใช้ ox_lib ก็ไม่ควรให้ my-script Start ก่อนโดยไม่มีเหตุผล
หลักง่าย ๆ คือ
Dependency
↓
Core
↓
Library
↓
Script ที่ใช้งานมัน
อย่างไรก็ตาม ลำดับจริงของ ESX, QBCore, Qbox หรือ OX ต้องอิง Requirements ของ Resource แต่ละตัว ไม่ควร Copy Start Order จาก Server คนอื่นมาใช้ทั้งชุดโดยไม่ตรวจสอบ
⑪ ตรวจ fxmanifest.lua ว่า Syntax ถูกหรือไม่
Manifest เองก็สามารถมี Syntax Error ได้
ตัวอย่างที่ถูก
fx_version 'cerulean'
game 'gta5'
client_scripts {
'client/main.lua',
'client/menu.lua'
}
server_script 'server/main.lua'
ถ้าเขียนผิด เช่น Quote ไม่ครบ
client_script 'client.lua
หรือวงเล็บไม่ครบ
client_scripts {
'client/main.lua',
'client/menu.lua'
Resource อาจ Parse ไม่สำเร็จ
ถ้า Resource เคย Start ได้แล้วเพิ่งเสียหลังแก้ fxmanifest.lua ให้ย้อนดูการแก้ไขล่าสุดก่อนเป็นอันดับแรก
⑫ ตรวจว่าไฟล์ที่ประกาศใน Manifest มีจริงหรือไม่
ตัวอย่าง Manifest
client_script 'client.lua'
server_script 'server.lua'
แต่ Resource จริงมี
client/
└── main.lua
server/
└── main.lua
Path ไม่ตรงกัน
ควรแก้เป็น
client_script 'client/main.lua'
server_script 'server/main.lua'
หรือใช้รูปแบบหลายไฟล์
client_scripts {
'client/*.lua'
}
server_scripts {
'server/*.lua'
}
Resource บางตัวอาจ Start ได้แม้มีปัญหาไฟล์บางส่วน แต่จะมี Error ตามมา ดังนั้นควรตรวจ Path ทุกครั้งเมื่อเพิ่งแก้โครงสร้าง Script
⑬ fx_version หรือ game ผิดต้องตรวจอะไร
Manifest ปัจจุบันมักพบ
fx_version 'cerulean'
game 'gta5'
สำหรับ FiveM
ถ้าสร้าง Resource ใหม่เอง ควรใช้รูปแบบตามเอกสารปัจจุบัน ไม่ควร Copy Manifest อายุหลายปีจาก Tutorial เก่ามาใช้โดยไม่ตรวจสอบ
FiveM Resource Manifest ยังสามารถกำหนด Runtime Constraints เช่น Requirement ด้าน Server Build, Game Build หรือ OneSync ได้ด้วย
ดังนั้น Resource บางตัวอาจไม่ Start เพราะ Server ยังไม่ผ่าน Requirement ที่ Developer กำหนด
⑭ Resource ต้องการ Server Build สูงกว่าแก้อย่างไร
Resource Manifest สามารถกำหนด Requirement ประเภท Server Version ได้
แนวคิดเช่น
dependency '/server:4500'
หมายถึง Resource ต้องการ Server Build ขั้นต่ำตามที่กำหนด
ถ้า FXServer เก่าเกินไป Resource อาจไม่สามารถทำงานตาม Requirement ได้
วิธีแก้คือ
ตรวจ Documentation ของ Resource
ตรวจ Artifact/Server Version
Backup Server
Update FXServer ตามแนวทางที่เหมาะสม
ทดสอบ Resource อีกครั้ง
อย่าแก้ด้วยการลบ Runtime Constraint เพียงเพื่อบังคับให้ Resource Start เพราะ Code อาจต้องใช้ความสามารถของ Server Version ใหม่นั้นจริง ๆ
⑮ Resource ต้องการ OneSync ทำอย่างไร
Manifest สามารถกำหนด Runtime Requirement ที่เกี่ยวกับ OneSync ได้เช่นกัน
หาก Resource ต้องการ State Awareness แต่ Server ไม่ได้ตั้งค่าตาม Requirement Resource อาจใช้งานไม่ได้
กรณีนี้ควรอ่าน Error และ Documentation ของ Resource ว่าต้องเปิดหรือกำหนดระบบใดเพิ่มเติม
ไม่ควรแก้ Manifest เพื่อข้าม Requirement โดยไม่เข้าใจเหตุผล
⑯ Resource ต้องการ Game Build สูงกว่า
บาง Resource ต้องใช้ Native, Vehicle, Map หรือ Feature จาก GTA V Game Build ใหม่
Manifest สามารถกำหนด Requirement ด้าน Game Build ได้
ถ้า Server ใช้ Game Build ต่ำกว่า Resource ต้องการ อาจไม่สามารถใช้งาน Resource ตามปกติได้
ให้ตรวจ
Resource Requirements
Server Game Build
sv_enforceGameBuild
ตาม Documentation ของ Resource
กรณี Map, MLO, Vehicle และ Script ที่ใช้ Native ใหม่ ควรให้ความสำคัญกับจุดนี้
⑰ Script Syntax Error ทำให้ Resource ไม่ Start
แม้ fxmanifest.lua จะถูกต้อง แต่ Script ที่ Resource โหลดอาจมี Syntax Error
เช่น Lua
if Config.Debug then
print('Debug')
แต่ลืม
end
หรือ Quote ไม่ครบ
Config.Job = 'police"
หลัง Resource เริ่มโหลด Script ก็จะ Error
ถ้า Script เคยทำงานได้แล้วหยุด Start หลังจากแก้ config.lua, client.lua หรือ server.lua ให้ย้อนตรวจไฟล์ที่เพิ่งแก้
อย่าเพิ่งโทษ FXServer หรือ Framework
⑱ Config ผิดก็ทำให้ Resource Start ไม่สำเร็จได้
Config ไม่ได้เป็นแค่ค่าตกแต่งเสมอไป
บาง Script อ่าน Config ตั้งแต่ตอน Resource Start
ตัวอย่าง
Config.Framework = 'qbox'
แต่ Script รองรับเฉพาะค่าที่กำหนด เช่น
esx
qb
qbox
ถ้าสะกดผิดเป็น
Config.Framework = 'qbx'
Script อาจไม่สามารถ Initialize ได้
ข้อผิดพลาด Config ที่พบได้บ่อยคือ
ลืม Comma
Quote ไม่ครบ
ลบ
{}ผิดFramework Name ผิด
Resource Name ผิด
Item/Job Format ผิด
Config จาก Version เก่า
หาก Resource ไม่ Start หลังแก้ Config จุดนี้ต้องตรวจทันที
⑲ Resource Start ไม่ได้หลัง Update
ถ้าก่อน Update ใช้งานได้ ให้เปรียบเทียบ Version เก่ากับใหม่
ตรวจ
fxmanifest.lua
Config
Dependencies
Changelog
SQL
Framework Requirements
Resource Name
ปัญหาที่พบบ่อยคือ
Version ใหม่
+
Config Version เก่า
=
Error
อย่านำ config.lua เก่าทับ Config ใหม่ทั้งไฟล์โดยอัตโนมัติ
ควร Merge เฉพาะค่าที่ต้องการ
⑳ Resource Start ไม่ได้หลัง Rename Folder
สมมติ Resource เดิมชื่อ
my_inventory
แต่เปลี่ยนเป็น
inventory-new
Script อื่นอาจยังอ้าง
my_inventory
ผ่าน
Dependency
Export
Event
Configuration
จึงเกิด Error
บาง Resource อนุญาตให้ Rename ได้ แต่บางตัวต้องใช้ชื่อเดิม
หากเพิ่ง Rename แล้ว Resource มีปัญหา ให้คืนชื่อเดิมเพื่อทดสอบก่อน
㉑ Resource Start ไม่ได้เพราะ Asset Escrow หรือ Entitlement
Script เสียเงินบางตัวอาจใช้ระบบ Asset Escrow หรือ Entitlement
หาก Account หรือ Server ไม่มีสิทธิ์ที่ถูกต้อง Resource อาจไม่สามารถใช้งานได้ตามปกติ
สิ่งที่ควรตรวจ เช่น
Script ซื้อจาก Account ไหน
Server License/Account ถูกต้องหรือไม่
Resource เป็นไฟล์ต้นฉบับหรือไม่
ดาวน์โหลดจาก Source ที่ถูกต้องหรือไม่
Developer กำหนดขั้นตอน Installation อะไร
อย่าใช้ Script ที่ถูกแกะ ปลดล็อก หรือแจกใหม่จากแหล่งที่ไม่รู้จัก เพราะนอกจากปัญหาสิทธิ์แล้วยังมีความเสี่ยงด้านความปลอดภัยของ Server
㉒ Resource Start ไม่ได้หลังลบ Dependency
สมมติ Server เคยมี
ox_lib
แล้วลบออกเพราะคิดว่าไม่ได้ใช้
Resource หลายตัวอาจ Start ไม่ได้ในครั้งถัดไป
หาก Console เริ่มมี Error หลาย Resource หลังลบ Core Resource ให้ย้อนตรวจการเปลี่ยนแปลงล่าสุด
หลัก Debug ที่มีประสิทธิภาพคือ
Server เคยปกติ
↓
เปลี่ยนอะไรล่าสุด
↓
ปัญหาเริ่มหลังจุดไหน
ไม่จำเป็นต้องเริ่มตรวจทั้ง Server จากศูนย์ทุกครั้ง
㉓ Resource อยู่ใน [category] Start อย่างไร
FiveM รองรับ Resource Category
ตัวอย่าง
resources/
└── [jobs]/
├── policejob/
├── ambulancejob/
└── mechanicjob/
สามารถ Start ทั้ง Category ได้
ensure [jobs]
หรือ Start ราย Resource
ensure policejob
ถ้า Category Start แล้ว Resource บางตัวไม่ทำงาน ให้ดู Error ของ Resource ตัวนั้น ไม่ใช่สรุปว่า [jobs] ทั้ง Folder มีปัญหา
และอย่าสับสนว่า [jobs] คือ Resource จริง เพราะมันทำหน้าที่เป็น Category สำหรับจัดกลุ่ม Resources
㉔ Resource Start ผ่าน server.cfg แต่ไม่ผ่าน Console
ถ้าพฤติกรรมต่างกันระหว่างตอน Server Boot กับการ Start ภายหลัง ให้ตรวจ Start Order
ตัวอย่างตอน Boot
ensure my-script
ensure ox_lib
my-script อาจ Error เพราะ Dependency ยังไม่พร้อม
แต่เมื่อ Server เปิดเสร็จแล้ว คุณพิมพ์
ensure my-script
อีกครั้ง Script กลับทำงาน
อาการนี้เป็นสัญญาณที่ดีว่าควรตรวจ Startup Order
ให้จัด Dependency ก่อน
ensure ox_lib
ensure my-script
㉕ Resource Start ผ่าน Console แต่ Restart Server แล้วไม่ Start
กรณีนี้ให้ตรวจ server.cfg
การพิมพ์
ensure my-script
ใน Console เป็นการสั่ง Resource ใน Session ปัจจุบัน
หากต้องการให้มัน Start เมื่อ Server เปิดใหม่ ต้องมีคำสั่งใน Configuration ที่ Server โหลด
เช่น
ensure my-script
หรือ Resource ถูก Start ผ่าน Category
ensure [scripts]
ตรวจด้วยว่า server.cfg ที่แก้อยู่เป็นไฟล์เดียวกับที่ FXServer/txAdmin Profile ใช้งานจริง
㉖ server.cfg มี ensure แล้วแต่ Resource ไม่ Start
ค้นหา Error ตอนช่วง Server Boot
อย่าดู Console เฉพาะหลัง Server เปิดเสร็จ
ตัวอย่างอาจเกิด
ensure my-script
↓
Missing dependency
↓
Resource ไม่ Start
แล้วหลังจากนั้น Dependency ถูก Start
Resource หลักก็ไม่ได้กลับมา Start เองเสมอไปในแบบที่คุณคาดหวัง
จึงต้องแก้ Start Order หรือ Dependency ให้ถูกตั้งแต่ Startup
㉗ ตรวจไฟล์ cfg อื่นด้วย
บาง Server แยก Configuration เป็นหลายไฟล์
ตัวอย่างใน server.cfg
exec resources.cfg
แล้วใน
resources.cfg
มี Resource Commands
ดังนั้นหากหา ensure my-script ใน server.cfg ไม่เจอ อย่าสรุปว่า Resource ไม่ถูกกำหนดให้ Start
ตรวจไฟล์ที่ถูก exec เพิ่มเติม เช่น
resources.cfg
framework.cfg
jobs.cfg
โดยเฉพาะ Server Pack ที่มีโครงสร้าง Configuration ซับซ้อน
㉘ Resource Start แล้วหยุดทันที
อีกอาการคือเห็นเหมือน Resource Start สำเร็จ แต่หลังจากนั้นหยุดหรือ Error ทันที
ให้ดูบรรทัดถัดจาก
Started resource my-script
อาจมี Script Error เกิดทันทีหลัง Initialization
สาเหตุ เช่น
Config ผิด
Function ไม่มี
Export ไม่มี
Dependency ขาด
Database เชื่อมไม่ได้
Script เรียก API ตอน Start แล้วล้มเหลว
คำว่า Started resource จึงไม่ได้หมายความว่า Resource อยู่ในสถานะสมบูรณ์ตลอดไป
㉙ ลอง restart Resource ได้หรือไม่
ถ้าแก้ปัญหาแล้วสามารถลอง
restart my-script
สำหรับ Resource ที่กำลังทำงานอยู่
หรือใช้
ensure my-script
ซึ่งถ้า Resource หยุดอยู่จะ Start และถ้ากำลังทำงานอยู่จะ Restart
แต่หาก Resource Start ไม่ได้เพราะ Syntax Error หรือ Missing Dependency การ Restart ซ้ำจะไม่ช่วย
ควรแก้ Root Cause ก่อน
㉚ ต้อง Restart Server ทั้งเครื่องไหม
ไม่จำเป็นในทุกครั้ง
หากแก้ Resource ทั่วไป สามารถใช้
refresh
ensure my-script
เพื่อทดสอบได้
แต่บางกรณี เช่น
เปลี่ยน Core Framework
เปลี่ยน Database Connector
เปลี่ยน Resource จำนวนมาก
แก้ Startup Configuration
ต้องการทดสอบ Boot Order จริง
ควร Restart Server เพื่อยืนยันว่าทุก Resource Start ถูกต้องตั้งแต่เริ่มต้น
Production Server ควรทำในช่วง Maintenance หากการ Restart กระทบผู้เล่น
㉛ Resource ไม่ Start ใน txAdmin ทำอย่างไร
หากใช้ txAdmin สามารถตรวจ Resource ผ่านหน้า Resources ได้
แนวทางพื้นฐานคือ
Resources
↓
Reload & Refresh
↓
ค้นหาชื่อ Resource
↓
Start
↓
ดู Console
ถ้าค้นหา Resource ไม่พบ ให้กลับไปตรวจ
Folder
Manifest
Server Data Path
ถ้าพบแต่ Start ไม่ได้ ให้ดู Error ใน Console
txAdmin ช่วยให้ Start Resource ง่ายขึ้น แต่ไม่ได้แก้ Dependency หรือ Script Error ให้อัตโนมัติ
㉜ อย่าล้าง Cache เป็นวิธีแรก
Resource Start ไม่ได้เพราะ
Missing dependency
ล้าง Cache ก็ไม่สร้าง Dependency ให้
ถ้า
fxmanifest.lua
Syntax ผิด ล้าง Cache ก็ไม่แก้ Syntax
ถ้า FiveM
Couldn't find resource
เพราะ Folder อยู่ผิดที่ ล้าง Cache ก็ไม่ย้าย Folder ให้
ดังนั้นควรใช้ข้อมูลจาก Console เป็นหลักก่อนพิจารณาเรื่อง Cache
㉝ อย่าลบ Dependency ใน Manifest เพื่อให้ Start ผ่าน
สมมติพบ
dependency 'ox_lib'
แล้ว Console แจ้งว่า ox_lib ไม่มี
วิธีที่ผิดคือ
ลบ dependency
↓
Save
↓
ensure my-script
Resource อาจผ่านขั้นตรวจ Dependency แต่เมื่อ Code เรียก ox_lib จริงก็จะ Error อยู่ดี
Dependency ถูกประกาศเพราะ Resource ต้องการบางสิ่ง
จึงควรแก้สาเหตุที่ Dependency ไม่พร้อมแทน
㉞ อย่าแก้หลายจุดพร้อมกัน
สมมติ Resource ไม่ Start แล้วคุณทำพร้อมกันทั้งหมด
Update FXServer
Update ox_lib
เปลี่ยน Config
เปลี่ยน fxmanifest
Rename Resource
Update Framework
สุดท้าย Resource Start ได้ คุณก็จะไม่รู้ว่าจริง ๆ ปัญหาเกิดจากอะไร
ควรแก้ทีละจุด
ตรวจ Folder
↓
ทดสอบ
↓
ตรวจ Manifest
↓
ทดสอบ
↓
ตรวจ Dependency
↓
ทดสอบ
นี่ช่วยลดความเสี่ยงที่จะสร้าง Error ใหม่เพิ่มระหว่างแก้ปัญหา
㉟ วิธีหา Root Cause เมื่อหลาย Resource ไม่ Start
ถ้ามี 20 Resource ไม่ Start พร้อมกัน ให้มองหา Dependency ร่วมก่อน
ตัวอย่างทั้งหมดใช้
ox_lib
แล้ว ox_lib Start ไม่ได้
Resource อื่นก็อาจพังเป็นลูกโซ่
หรือทุก Script ต้องใช้
oxmysql
แต่ Database Connector Start ไม่สำเร็จ
ดังนั้น
Error จำนวนมาก
≠
ปัญหาจำนวนมากเสมอไป
บางครั้งมี Root Cause เพียงตัวเดียว
㊱ Checklist FiveM Resource ไม่ Start
ตรวจ Resource
อยู่ใน
resourcesFolder ไม่ซ้อน
ชื่อ Resource ถูก
มี
fxmanifest.luaPath ภายใน Manifest ถูก
ตรวจคำสั่ง
ใช้
refreshแล้วใช้
ensure resource_nameถูกชื่อserver.cfgถูกไฟล์Start Order ถูก
ตรวจ Dependency
Dependency ติดตั้งครบ
Dependency Start สำเร็จ
Version รองรับ
Framework ถูกตัว
Core Resource พร้อม
ตรวจ Code
Manifest ไม่มี Syntax Error
Config ไม่มี Syntax Error
Client/Server File มีจริง
ไม่มี Script Error ตอน Initialize
ตรวจ Requirements
Server Build รองรับ
Game Build รองรับ
OneSync ตรง Requirement
Entitlement ถูกต้องถ้ามี
หลังแก้
refreshensureตรวจ Console
เข้าเกมทดสอบ
Restart Server ทดสอบ Startup จริง
วิธีแก้ FiveM Resource ไม่ Start แบบเร็วที่สุด
หากต้องการลำดับสั้น ๆ ให้ทำดังนี้
ขั้นที่ 1
ตรวจ
resources/my-script/fxmanifest.lua
ขั้นที่ 2
ใช้
refresh
ขั้นที่ 3
ใช้
ensure my-script
ขั้นที่ 4
อ่านข้อความ Error แรก
ขั้นที่ 5
ถ้า Couldn't Find Resource → ตรวจ Folder และชื่อ
ขั้นที่ 6
ถ้า Missing Dependency → ติดตั้ง/Start Dependency
ขั้นที่ 7
ถ้า Parsing/Syntax Error → ตรวจ Manifest หรือ Script
ขั้นที่ 8
ถ้ามี Requirement → ตรวจ Server/Game Build และระบบที่ Resource ต้องการ
ขั้นที่ 9
หลังแก้ให้
refresh
ensure my-script
ใหม่
ขั้นที่ 10
Restart Server เพื่อทดสอบว่า Resource Start อัตโนมัติได้จริง
สรุป FiveM Resource ไม่ Start แก้อย่างไร
FiveM Resource ไม่ Start ส่วนใหญ่ไม่จำเป็นต้องรื้อ Server ใหม่
ให้เริ่มจากตรวจโครงสร้าง
resources/
└── resource_name/
└── fxmanifest.lua
จากนั้นใช้
refresh
ensure resource_name
และอ่านข้อความ Error ใน Console
ถ้า FiveM หา Resource ไม่เจอ ให้ตรวจ Folder, Resource Name และ Manifest
ถ้าแจ้ง Missing Dependency ให้ตรวจ Resource ที่ต้องใช้และ Start Order
ถ้าแจ้ง Syntax หรือ Parsing Error ให้ตรวจ fxmanifest.lua, Config และ Script ที่เพิ่งแก้
หาก Resource กำหนด Requirement ด้าน Server Build, OneSync หรือ Game Build ต้องแก้ Environment ให้ตรงกับ Requirement ไม่ควรลบข้อกำหนดออกเพื่อบังคับให้ Resource Start
แนวทางของ comsiam คือเริ่มแก้จาก Error แรกเสมอ โดยเฉพาะเมื่อ Resource หลายตัว Start ไม่ได้พร้อมกัน เพราะอาจมี Dependency หลักเพียงตัวเดียวที่ล้มเหลว
สำหรับ Server RP ที่ใช้งานจริง comsiam แนะนำให้เพิ่มหรืออัปเดต Resource ทีละตัวและทดสอบ Startup หลังทุกการเปลี่ยนแปลง วิธีนี้จะช่วยให้รู้ทันทีว่า Resource ใดเป็นต้นเหตุ และแก้ปัญหาได้เร็วกว่าเปลี่ยน Server หลายส่วนพร้อมกัน
Comments
Post a Comment