FiveM Resource Start ไม่ได้ แก้อย่างไร? Failed to Start Resource / Couldn't Find Resource แบบละเอียด
FiveM Resource Start ไม่ได้, Failed to start resource, Couldn't find resource, does not have a resource manifest หรือพิมพ์ ensure แล้ว Resource ไม่ทำงาน เป็นปัญหาฝั่ง Server ที่ควรแก้จาก Console Error จริง ไม่ใช่ Restart Server หรือ Reinstall FiveM แบบสุ่ม
Cfx.re ระบุว่า Resources ถูกอ่านจากโฟลเดอร์ resources/ ภายใน Server Data และ Resource แต่ละตัวต้องมี fxmanifest.lua จึงจะถูก Parse เป็น Resource อย่างถูกต้อง ส่วนคำสั่ง start, stop, ensure, restart และ refresh ใช้จัดการสถานะ Resource จาก Server Console หรือ Configuration ได้.
ดังนั้นสูตรแก้ปัญหาที่ควรจำคือ
Console → Resource Folder → fxmanifest.lua → refresh → ensure → Dependencies → Script Error → server.cfg
① Resource Start ไม่ได้หมายถึงอะไร
หมายถึง FXServer ไม่สามารถทำให้ Resource เข้าสู่สถานะ Running ได้ตามที่ต้องการ
อาการอาจเกิดตั้งแต่
Server หา Resource ไม่เจอ
Resource ไม่มี Manifest
Manifest อ่านไม่ได้
Script ฝั่ง Server Error
Dependency ไม่พร้อม
Resource ถูกยกเลิกระหว่าง Starting
Resource Folder ผิด
Config อ้างชื่อ Resource ผิด
จึงต้องอ่าน Console ก่อนทุกครั้ง
② เปิด Console ดู Error ก่อน
ถ้าใช้ txAdmin ให้เปิด Live Console
Cfx.re ระบุว่า txAdmin มี Live Console พร้อม Log File, Command History และ Search และสามารถ Start/Stop/Restart Resources ได้โดยตรง.
อย่าดูเพียงบรรทัด
Failed to start resource
ให้ดูบรรทัดก่อนหน้าและหลังจากนั้นด้วย เพราะข้อความรายละเอียดมักมีประโยชน์กว่าประโยคสรุปท้ายสุด
③ Resource อยู่ใน Folder ถูกหรือไม่
FiveM โหลด Resources จาก
resources/
ภายใน Server Data Directory
Cfx.re ระบุว่า Folder ปกติภายใต้ resources/ จะถูก Parse เป็น Resource ส่วน Folder ที่อยู่ใน [brackets] ใช้เป็น Category สำหรับรวม Resources หลายตัว.
ตัวอย่าง:
server-data/
└── resources/
├── [core]/
│ └── my-core/
└── my-script/
④ Resource Folder ซ้อนผิดชั้น
นี่เป็นสาเหตุที่มือใหม่เจอบ่อย
ผิด:
resources/
└── my-script/
└── my-script/
├── fxmanifest.lua
├── client.lua
└── server.lua
ควรเป็น:
resources/
└── my-script/
├── fxmanifest.lua
├── client.lua
└── server.lua
เพราะ Cfx.re กำหนดให้ Resource Folder ที่ถูก Parse มี Manifest อยู่ภายใน Folder Resource นั้น.
⑤ Resource ต้องมี fxmanifest.lua
สำหรับ Resource ปัจจุบันควรมีไฟล์
fxmanifest.lua
Cfx.re ระบุว่า Resource แต่ละตัวต้องมี Resource Manifest ชื่อนี้เพื่อกำหนดว่า Resource ใช้ Files และ Scripts อะไร.
ถ้าไฟล์หาย FiveM อาจไม่มอง Folder นั้นเป็น Resource ตามที่คาด
⑥ Error does not have a resource manifest
ถ้า Console ขึ้นประมาณ
does not have a resource manifest (fxmanifest.lua)
Cfx.re แนะนำให้ตรวจว่า fxmanifest.lua ถูกตั้งชื่อถูกต้องหรือไม่.
ตรวจโดยเฉพาะว่าไม่ได้เป็น
fxmanifest.lua.txt
ซึ่งเกิดได้เมื่อ Windows ซ่อน File Extensions
⑦ __resource.lua ใช้ได้ไหม
Resource เก่าบางตัวอาจมี
__resource.lua
Cfx.re ระบุว่าเป็น Manifest Format รุ่นเก่า และปัจจุบันควรใช้ fxmanifest.lua; Resource รุ่นเก่าอาจแสดงคำเตือน Deprecated.
ถ้าจะ Migration Resource เก่า ไม่ควรเพียง Rename ไฟล์โดยไม่ตรวจ Syntax และ Entries ภายใน
⑧ fx_version ควรเป็นอะไร
Resource Manifest Reference ปัจจุบันระบุว่า FXv2 Resource Version ปัจจุบันคือ
fx_version 'cerulean'
Resource ใหม่จึงควรอ้าง Official Documentation ปัจจุบันมากกว่าคัดลอก Template เก่าหลายปี
⑨ game 'gta5' สำคัญไหม
FiveM Resource ทั่วไปใช้
game 'gta5'
โดย Cfx.re ระบุว่า gta5 หมายถึง Resource ที่รันบน FiveM.
ถ้า Manifest ตั้ง Game API Set ไม่ตรงกับ Resource ที่สร้าง ควรตรวจ Configuration
⑩ ตัวอย่าง Manifest พื้นฐาน
fx_version 'cerulean'
game 'gta5'
author 'YourName'
description 'Example resource'
version '1.0.0'
client_script 'client.lua'
server_script 'server.lua'
Cfx.re รองรับ client_script สำหรับ Script ฝั่ง Client และ server_script สำหรับ Script ฝั่ง Server.
หลังสร้าง Manifest แล้วต้องตรวจว่า client.lua และ server.lua มีอยู่จริงตาม Path
⑪ Manifest อ้างไฟล์ที่ไม่มีจริง
ตัวอย่าง:
server_script 'server/main.lua'
แต่ Resource จริงไม่มี
server/main.lua
ให้แก้ Path หรือเพิ่มไฟล์ที่ Resource ต้องใช้
Resource Manifest เป็นตัวกำหนด Scripts ที่ FiveM จะโหลด จึงต้องตรงกับโครงสร้างไฟล์จริง.
⑫ ชื่อไฟล์ตัวใหญ่ตัวเล็กควรตรงกัน
โดยเฉพาะเมื่อย้าย Resource ระหว่างระบบที่จัดการ Case Sensitivity ต่างกัน ควรให้ชื่อ Path ใน Manifest ตรงกับชื่อไฟล์จริง
ตัวอย่างอย่าให้ Manifest เป็น
server_script 'Server.lua'
ขณะที่ไฟล์จริงชื่อ
server.lua
การตั้งชื่อให้สม่ำเสมอช่วยลดปัญหาเมื่อย้าย Hosting
⑬ วาง Resource ใหม่แล้วต้อง refresh
ถ้า Server เปิดอยู่ก่อนนำ Resource เข้าไป ให้ใช้
refresh
เพื่อให้ FXServer Rescan Resources Folder
Cfx.re ระบุว่า Resource List Refresh จะเกิดขึ้นเมื่อคำสั่ง refresh ทำงานเสร็จ และมี Event onResourceListRefresh สำหรับเหตุการณ์นี้ด้วย.
จากนั้นค่อย ensure
⑭ refresh แล้วทำอะไรต่อ
ใช้:
ensure my-resource
Cfx.re กำหนด Resource Commands สำหรับจัดการ Resources ผ่าน Server Console หรือ Config.
ถ้า Resource Start ไม่ได้ ให้หยุดตรงนี้แล้วอ่าน Error
อย่าเพิ่ม Resource ตัวถัดไปจนกว่าจะรู้สาเหตุ
⑮ start กับ ensure ต่างกันอย่างไร
start resourceName ใช้ Start Resource ที่หยุดอยู่
Cfx.re ระบุอย่างชัดเจนว่า start จะ Start Resource ที่ระบุหาก Resource อยู่ในสถานะ Stopped.
ส่วน ensure ถูกใช้โดยทั่วไปเพื่อทำให้ Resource อยู่ในสถานะ Running และเหมาะกับการกำหนด Resource ที่ Server ต้องใช้งาน
⑯ stop ใช้ตอน Resource Error รัวๆ
หาก Resource Start แล้ว Console Error ต่อเนื่อง สามารถหยุด Resource ที่มีปัญหาก่อน
stop my-resource
Cfx.re ระบุว่า stop ใช้หยุด Resource ที่กำลัง Started อยู่.
จากนั้นแก้ Code/Config แล้วค่อย Start ใหม่
⑰ txAdmin ใช้ Start Resource ได้ไหม
ได้
txAdmin รองรับ Start/Stop/Restart ทั้ง Server Instance และ Resources.
ดังนั้นมือใหม่สามารถใช้ Resource Control ผ่าน Panel ได้
แต่ควรเปิด Console คู่กันเพื่อดูว่า Start สำเร็จจริงหรือไม่
⑱ txAdmin Resource เปิดไม่ได้ให้ดู Live Console
txAdmin มี Live Console ที่รองรับ Log, Command History และ Search.
ให้ค้นชื่อ Resource เช่น
my-resource
เพื่อรวบรวม Error ที่เกี่ยวข้องแทนการเลื่อน Log ยาวๆ แบบสุ่ม
⑲ Resource Start แล้วหยุดทันที
Pattern:
Started resource...
Stopping resource...
หรือ Resource Start แล้วหายจากสถานะ Running ควรตรวจ
Script Error
Resource Logic
Dependencies
Resource Events
Configuration
Cfx.re มี onResourceStarting, onResourceStart และ onResourceStop เป็น Server Events สำหรับ Resource Lifecycle.
⑳ onResourceStarting สามารถยกเลิก Start ได้
Cfx.re ระบุว่า onResourceStarting ถูก Trigger ขณะที่ Resource กำลังพยายาม Start และ Event นี้สามารถถูก Cancel เพื่อป้องกัน Resource จากการ Start ได้.
ดังนั้นใน Server ที่มี Resource Management/Dependency Logic ซับซ้อน การ Start ถูกยกเลิกอาจไม่ได้เกิดจากไฟล์เสียเพียงอย่างเดียว
ให้ดู Console และ Resource ที่เกี่ยวข้อง
㉑ onResourceStart คืออะไร
Cfx.re ระบุว่า onResourceStart เกิดขึ้นทันทีเมื่อ Resource Start แล้ว.
Developer สามารถใช้ Event นี้สำหรับ Initialization Logic
หาก Code ภายใน Event ทำงานผิด ควรดู Error หลัง Resource Start ด้วย ไม่ใช่ดูเพียงว่าคำสั่ง ensure ผ่าน
㉒ Resource Start สำเร็จแต่ระบบไม่ทำงาน
ต้องแยก
Resource Started
กับ
Gameplay Feature ทำงานถูกต้อง
ออกจากกัน
Resource อาจ Start ได้ แต่ Script ภายในมี Runtime Error ภายหลัง
ให้ตรวจทั้ง
Server Console
F8 Client Console
Resource Logs
ตามว่าปัญหาเกิดฝั่งไหน
㉓ Client Script Error ดูตรงไหน
ถ้า Error เกิดใน Script ที่ Manifest ระบุเป็น client_script ปัญหาจะเกี่ยวข้องกับ Client Runtime
Cfx.re ระบุว่า client_script กำหนด Script ที่โหลดบน Client.
ผู้พัฒนาจึงควรตรวจ F8 Console ของ Client ที่กำลังทดสอบด้วย
㉔ Server Script Error ดูตรงไหน
server_script ทำงานฝั่ง Server.
ดังนั้นให้ดู
FXServer Console / txAdmin Live Console
หาก Server Script มี Syntax หรือ Runtime Error
อย่าไปแก้ FiveM Cache ของผู้เล่น
㉕ Shared Script Error ตรวจทั้งสองฝั่ง
Cfx.re ระบุว่า shared_script ถูกโหลดทั้งฝั่ง Client และ Server.
ดังนั้น Shared File ที่มี Code ไม่เหมาะกับอีกฝั่งสามารถสร้าง Error ได้
ควรแยก Shared Configuration ออกจาก Logic ฝั่ง Client/Server ให้ชัด
㉖ Resource ต้องใช้ Dependency อื่น
Resource บางตัว Start ไม่ได้จนกว่า Base Resource จะพร้อม
ตัวอย่างแนวคิด:
ensure base-resource
ensure my-resource
FiveM Resource Manifest รองรับ Dependencies และ Resources มาตรฐานบางตัวเองก็ถูก Resource อื่นพึ่งพาได้.
ให้ดู README และ Manifest ของ Resource ที่ติดตั้ง
㉗ Dependency ไม่ Start ก่อน
ถ้า Resource A ต้องพึ่ง Resource B แต่ Server Start A ก่อน B อาจเกิด Error ตาม Implementation ของ Resource
จัด server.cfg ให้ Base Dependencies Start ก่อน
ตัวอย่าง:
ensure database
ensure framework
ensure inventory
ensure jobs
ลำดับจริงต้องอิง Documentation ของ Resource ไม่ใช่ Copy ตัวอย่างนี้แบบตายตัว
㉘ baseevents เป็นตัวอย่างของ Dependency
Cfx.re ระบุว่า Resource Third-party บางตัวอาจพึ่ง baseevents และในกรณีนั้นต้อง Start baseevents ก่อน Resource ที่พึ่งพามัน.
นี่แสดงว่าลำดับการ Start สามารถมีผลจริง
㉙ Resource ต้องใช้ Database แต่ Database ไม่พร้อม
ถ้า Resource Documentation ระบุว่าพึ่ง Database Driver หรือ Resource อื่น ให้ตรวจว่าตัว Dependency Running ก่อน
อย่าแก้ด้วยการ Restart Resource หลักซ้ำๆ
ควรตรวจ
Dependency → Connection → Config → Resource
ตามลำดับ
㉚ Resource Config ผิด
Resource บางตัวต้องแก้
Framework
Locale
Database
Permissions
API Configuration
Feature Flags
ก่อน Start ได้สมบูรณ์
อย่าใช้ Config จาก Server อื่นโดยไม่ตรวจค่าที่เกี่ยวกับ Environment ของ Server ตัวเอง
㉛ Resource Name ใน server.cfg ผิด
ตัวอย่าง Folder:
my-garage
แต่ Config ใช้
ensure mygarage
Server จะอ้างคนละชื่อ
ให้ใช้ชื่อ Resource ตามที่ FXServer ตรวจพบจริง
อย่าเดาชื่อจากชื่อไฟล์ ZIP
㉜ Resource ZIP มี Folder ชั้นนอก
ตัวอย่าง:
my-resource-main.zip
แตกแล้วได้
my-resource-main/
└── my-resource/
├── fxmanifest.lua
└── server.lua
Folder ที่ควรวางเป็น Resource อาจเป็น my-resource ชั้นใน ไม่ใช่ Folder Package ชั้นนอก
ดูว่า Folder ใดมี fxmanifest.lua เป็นหลัก.
㉝ Resource อยู่ใน Category ได้
ตัวอย่าง:
resources/
└── [jobs]/
└── taxi-job/
└── fxmanifest.lua
Cfx.re รองรับ Category Folder ที่อยู่ใน [brackets] และ Resource ภายในยังสามารถ Start ได้ตามปกติ.
ดังนั้น [jobs] เองไม่ใช่ Resource ที่ต้องมี Manifest
㉞ Category ซ้อนกันได้ไหม
ตัวอย่าง Documentation ของ Cfx.re แสดง Category ภายใน Category และ Resource จริงอยู่ด้านในพร้อม fxmanifest.lua.
จึงสามารถจัด Folder เป็นหมวดได้
แต่ไม่ควรทำโครงสร้างซับซ้อนเกินจำเป็นจน Server Owner หา Resource ไม่เจอ
㉟ Resource ไม่ควรอยู่ผิด Server Profile
txAdmin สามารถมี Server Data/Profile ที่ต่างกัน
ถ้าวาง Resource ลง resources/ ของ Profile A แต่ Server กำลัง Running Profile B ต่อให้ refresh กี่ครั้ง Resource ก็อาจไม่ปรากฏใน Instance ที่กำลังใช้
ตรวจ Server Data Path ให้ถูกก่อนแก้ Manifest
㊱ server.cfg อ้าง Resource ที่ไม่มีอยู่
ถ้าลบ Resource Folder ออกแต่ยังมี
ensure old-resource
ใน server.cfg
Server จะยังพยายามเรียก Resource ชื่อนั้นตอน Startup
หลังถอน Resource ให้ลบหรือ Comment คำสั่งที่เกี่ยวข้องด้วย
㊲ Resource Start ผ่าน Console แต่ไม่เปิดหลัง Restart Server
นี่มักเกิดเมื่อคุณ Start Resource ชั่วคราวผ่าน Console แต่ไม่ได้เพิ่ม Resource ลง Config ที่ Server ใช้ตอน Boot
หลังทดสอบแล้วให้เพิ่ม
ensure my-resource
ใน server.cfg ที่ถูก Profile
Server Commands สามารถถูกเรียกจาก Server Configuration File ได้.
㊳ อย่าใส่ Resource ใน server.cfg ก่อนทดสอบ
Workflow ที่ดีกว่า:
วาง Resource
refreshensureตรวจ Console
ทดสอบ Feature
Restart Resource
เมื่อแน่ใจแล้วค่อยเพิ่ม
ensureในserver.cfg
ช่วยป้องกัน Server Boot แล้ว Error จาก Resource ใหม่ทุกครั้ง
㊴ Resource ทำให้ Server เปิดไม่ขึ้น
หาก Server เคยเปิดปกติ แล้วหลังเพิ่ม Resource ใหม่เริ่มมีปัญหา
ให้ย้อน Change ล่าสุดก่อน
Comment:
# ensure new-resource
แล้ว Start Server ใหม่
ถ้ากลับมาปกติ ให้ Debug Resource ใหม่นั้นแยก ไม่ต้องแก้ Resources เก่าทั้งหมดพร้อมกัน
㊵ Resource Error หลัง Update
ใช้หลัก Compare Version
ก่อน Update → ปกติ
หลัง Update → Error
ให้ตรวจ
Release Notes
Dependencies
Config ใหม่
Manifest
Database Migration
Breaking Changes
ก่อนย้อนแก้ FXServer ทั้งระบบ
㊶ Standard Resources ไม่ควรแก้แบบสุ่ม
Cfx.re ระบุว่า FXServer มี Standard Resources หลายตัว และแนะนำไม่ให้เปลี่ยนหากไม่รู้ว่ากำลังทำอะไร เพราะ Resources เหล่านี้ให้ Functionality ที่มีประโยชน์แก่ Server.
ดังนั้นหาก Third-party Resource Error อย่าเริ่มด้วยการลบ Standard Resources
㊷ Resource Start ได้แต่กิน CPU สูง
นี่เป็นอีกปัญหาหนึ่ง ไม่ใช่ Start Failure
Cfx.re มี Resource Monitor และ Profiler สำหรับช่วยระบุ Resources/Code ที่สร้าง Performance Issues.
อย่าแก้ Performance ด้วยการ Restart Resource ถี่ๆ โดยไม่หา Root Cause
㊸ Resource Start แล้ว Player เข้าไม่ได้
ถ้า Error เริ่มทันทีหลังเปิด Resource ใหม่ ให้ Stop Resource นั้นใน Environment ทดสอบแล้วเปรียบเทียบ
ถ้า Player กลับเข้าได้ ให้ตรวจ
Connection Events
Dependencies
Player Connecting Logic
Script Errors
Cfx.re มี playerConnecting Event ที่ Resource ฝั่ง Serverสามารถใช้ควบคุมขั้นตอนผู้เล่นเชื่อมต่อได้.
㊹ Resource สามารถปฏิเสธ Player Connection ได้
Cfx.re ระบุว่า playerConnecting สามารถถูก Cancel เพื่อ Reject ผู้เล่น และ Deferrals สามารถส่ง Failure Reason กลับไปยังผู้เล่นได้.
ดังนั้นหาก Player เข้าไม่ได้หลังเปิด Whitelist/Auth Resource ใหม่ ต้องตรวจ Resource Connection Logic ไม่ใช่ Port อย่างเดียว
㊺ Resource Error เฉพาะ Client คนเดียว
ถ้า Server Resource Running และผู้เล่นอื่นใช้งานได้ แต่ Client คนเดียว Error ให้ตรวจ Client-side Error Message และ F8 Console
อย่า Restart FXServer ทุกครั้งเมื่อปัญหากระทบเพียง Client เดียว
แยกก่อนว่า Error เป็น Client Script หรือ Server Script
㊻ ผู้เล่นทุกคนมี Error หลัง Resource Start
กรณีนี้ Server-side Resource/Shared Resource มีน้ำหนักสูงขึ้น
Stop Resource ใหม่และทดสอบใน Development Environment
หากอาการหาย ให้ Debug Resource นั้นต่อ
นี่ช่วยลดขอบเขตปัญหาได้เร็วมาก
㊼ ต้อง Restart FXServer ทุกครั้งไหม
ไม่
txAdmin รองรับ Restart Resource แยกจาก Server Instance.
และ Server Commands มี start/stop สำหรับ Resource โดยตรง.
ระหว่าง Development จึงควร Restart เฉพาะ Resource เมื่อเหมาะสม
㊽ ต้อง Reinstall FXServer ไหม
ส่วนใหญ่ ไม่ควรเป็นขั้นตอนแรก
ถ้า Error ชี้ว่า
Resource ไม่พบ
Manifest หาย
Script Error
Dependency หาย
การลง FXServer ใหม่ไม่ได้แก้ Resource Package ที่ตั้งผิด
แก้ตาม Console จะตรงกว่ามาก
㊾ วิธีแก้ Resource Start ไม่ได้แบบเร็วที่สุด
ทำตามลำดับ:
เปิด txAdmin Live Console
พิมพ์
refreshพิมพ์
ensure resourceNameอ่าน Error ทั้งชุด
ตรวจ Resource Folder
ตรวจ
fxmanifest.luaตรวจ Script Paths
ตรวจ Dependencies
ตรวจ Resource Config
ตรวจ Database ถ้า Resource ต้องใช้
แก้ Error
ensureใหม่ทดสอบ Feature
เพิ่มลง
server.cfgเมื่อผ่าน
Cfx.re มี Resource Directory/Manifest และ Resource Commands สำหรับ Workflow หลักนี้โดยตรง.
㊿ Checklist Resource ก่อนเปิด Production
ตรวจว่า:
Resource Folder ถูกต้อง
ไม่มี Folder ซ้อนผิด
มี
fxmanifest.luafx_versionถูกต้องgameถูกต้องClient Script Paths ถูก
Server Script Paths ถูก
Shared Files ถูก
Dependencies ครบ
Config ถูก
Database พร้อมถ้าจำเป็น
refreshเห็น Resourceensureผ่านConsole ไม่มี Error สำคัญ
Restart Resource แล้วทำงาน
Restart Server แล้วยัง Start
Player ทดสอบ Feature ได้
Performance ปกติ
ตารางแก้ FiveM Resource Start ไม่ได้
| อาการ | ตรวจอะไรก่อน |
|---|---|
| Couldn't find resource | Folder / ชื่อ Resource |
| ไม่มี Resource ใน txAdmin | Profile / resources/ |
| No resource manifest | fxmanifest.lua |
| Manifest Error | Syntax / Entries |
| Script file missing | Path ใน Manifest |
refresh แล้วไม่พบ | Folder / Manifest |
ensure แล้ว Fail | Console Error |
| Dependency Missing | Resource ที่ต้อง Start ก่อน |
| Server Script Error | txAdmin Console |
| Client Script Error | F8 Console |
| Start แล้ว Stop | Runtime/Resource Logic |
| Restart Server แล้วไม่เปิด | server.cfg |
| หลัง Update แล้วพัง | Version/Config/Dependency |
| ทุกคนพังหลังเปิด Resource | Server/Shared Resource |
| Player เดียวพัง | Client-side Resource |
| Server Lag หลังเปิด | Performance/Profiler |
FiveM Couldn't Find Resource แก้อย่างไร
ตรวจชื่อ Resource จาก Folder จริงก่อน
เช่น Folder:
resources/[jobs]/taxi-job/
ให้ใช้:
ensure taxi-job
ไม่ใช่ชื่อ ZIP หรือชื่อ Category โดยไม่ตั้งใจ
ถ้าเพิ่งวาง Resource ให้ refresh ก่อน แล้วจึงลองใหม่
Resources ถูก Parse จาก Folder ภายใต้ resources/ ตามโครงสร้างที่ Cfx.re กำหนด.
FiveM does not have a resource manifest แก้อย่างไร
ตรวจว่า Resource Root มี
fxmanifest.lua
จริง
ไม่ใช่
fxmanifest.lua.txt
และไม่อยู่ลึกไปอีก Folder
Cfx.re ระบุ Error นี้โดยตรงและแนะนำตรวจชื่อ fxmanifest.lua.
FiveM Failed to Start Resource หลัง ensure
เปิด Console แล้วดู Error ก่อนหน้า
อย่าพิมพ์
ensure resource
ซ้ำสิบครั้ง
หาก Error เป็น Dependency, Script หรือ Config มันจะยังเกิดซ้ำจนกว่าต้นเหตุจะถูกแก้
txAdmin Live Console มี Search ช่วยค้น Logs ของ Resource ได้.
FiveM Resource Start ได้แต่ Script ไม่ทำงาน
ตรวจ Manifest ว่า Script ถูกประกาศฝั่งถูกหรือไม่
client_script 'client.lua'
server_script 'server.lua'
Cfx.re แยก Client Script และ Server Script ชัดเจนใน Resource Manifest.
จากนั้นดู Console ให้ถูกฝั่ง
FiveM Resource ไม่เปิดหลัง Restart Server
ถ้าทดสอบ ensure ผ่านแล้ว ให้เพิ่ม Resource ใน server.cfg
ensure my-resource
แล้ว Restart Server เพื่อยืนยันว่า Boot Sequence ถูกต้อง
Server Commands สามารถถูก Execute ผ่าน Server Configuration File ได้.
FiveM Resource Start แล้วหยุดเอง
ตรวจ onResourceStarting/Resource Logic และ Error ใน Console
Cfx.re ระบุว่า Resource มี Lifecycle Events ตั้งแต่ onResourceStarting, onResourceStart ไปจนถึง onResourceStop และ onResourceStarting สามารถถูก Cancel ได้.
ดังนั้น Resource หยุดเองไม่ได้หมายความว่า FXServer พังเสมอไป
FiveM Resource ติดตั้งถูกแต่ Dependency หาย
อ่าน Manifest และ Documentation ของ Resource
ถ้า Resource พึ่ง Resource อื่น ต้องติดตั้งและ Start ตัวที่ต้องใช้ก่อน
ตัวอย่างทางการของ Cfx.re เองระบุว่า Third-party Resources บางตัวอาจพึ่ง baseevents และต้อง Start baseevents ก่อน.
จึงไม่ควรละเลย Dependency Order
สรุป FiveM Resource Start ไม่ได้ แก้อย่างไร
FiveM Resource Start ไม่ได้ควรเริ่มจาก txAdmin Live Console แล้วทดสอบด้วย refresh และ ensure resourceName เพื่อให้เห็น Error จริงก่อน เพราะ Cfx.re ระบุว่า Resources ถูก Parse จาก resources/ และต้องมี fxmanifest.lua ที่ถูกต้อง.
หากขึ้น Couldn't find resource ให้ตรวจ Folder, Profile, ชื่อ Resource และ refresh แต่ถ้าขึ้นว่าไม่มี Resource Manifest ให้ตรวจ fxmanifest.lua โดยตรง ส่วนกรณี Resource ถูกพบแต่ Start ไม่ได้ ให้ตรวจ Script Paths, Dependencies, Config และ Runtime Error ตามข้อความ Console.
Resource Lifecycle ของ FiveM ยังมี onResourceStarting, onResourceStart และ onResourceStop โดย Resource Starting สามารถถูก Cancel ได้ จึงมีกรณีที่ Resource ถูกตรวจพบอย่างถูกต้องแต่ยังไม่สามารถเข้าสู่สถานะ Running ได้จาก Logic ของ Server/Resource.
หลัง Resource ทำงานได้แล้วจึงเพิ่ม ensure resourceName ลง server.cfg เพื่อให้ Start ตอน Server Boot และใช้ txAdmin สำหรับ Restart Resource แยกจาก FXServer เมื่อ Debug เพื่อหลีกเลี่ยงการเตะผู้เล่นทั้ง Serverโดยไม่จำเป็น.
สำหรับผู้อ่าน comsiam ให้จำสูตร “Console → Folder → Manifest → Refresh → Ensure → Dependency → Script” และ comsiam แนะนำให้ติดตั้งและทดสอบ Resource ทีละตัว เพราะหากเกิด Error จะย้อนหา Change ล่าสุดได้เร็วกว่าเพิ่ม Resources จำนวนมากพร้อมกัน
Comments
Post a Comment