FiveM Resource ไม่ทำงานหรือ Start ไม่ขึ้น แก้อย่างไร? วิธีเช็ก Error แบบละเอียด

ปัญหา FiveM Resource ไม่ทำงาน, Start ไม่ขึ้น, ensure แล้ว Error หรือขึ้น Couldn't find resource เป็นปัญหาที่เจอบ่อยมากหลังเพิ่ม Script, Map, รถ, Framework หรือ Resource ใหม่ลง Server

วิธีแก้ที่ถูกต้องไม่ใช่ Restart FXServer ซ้ำ ๆ แต่ต้องไล่ตรวจตั้งแต่

ตำแหน่ง Resource
↓
fxmanifest.lua
↓
refresh
↓
ensure
↓
Dependencies
↓
Artifact / OneSync
↓
Database
↓
Script Error
↓
Console

หลักสำคัญคือ เริ่มแก้จาก Error แรกใน Console เพราะ Error แรกมักเป็นต้นเหตุ ส่วน Error ที่ตามมาอาจเป็นเพียงผลกระทบจาก Resource ก่อนหน้าที่ Start ไม่สำเร็จ

① Resource FiveM ไม่ทำงานมีอาการแบบไหน

อาการที่พบได้ เช่น

Couldn't find resource
Failed to start resource
Missing dependency
SCRIPT ERROR
No such export
Resource failed to load
Could not load resource
Resource manifest error

หรือ Resource แสดง Started แต่ Feature ภายในไม่ทำงาน

แต่ละกรณีมีสาเหตุต่างกัน

② เริ่มจากดู Live Console ก่อน

ถ้าใช้ txAdmin ให้เปิด

Live Console

แล้วลอง

ensure resource_name

ตัวอย่าง

ensure policejob

จากนั้นอ่าน Error ที่เกิดขึ้นทันที

③ อย่าแก้หลายอย่างพร้อมกัน

วิธีที่ไม่ควรทำคือ

เปลี่ยน Artifact
เปลี่ยน Database
เปลี่ยน Framework
แก้ Manifest
ลบ Cache
Restart

พร้อมกันทั้งหมด

เพราะจะไม่รู้ว่าปัญหาจริงเกิดจากอะไร

แก้ทีละจุดแล้วทดสอบทุกครั้ง

④ ตรวจก่อนว่า Resource อยู่ใน resources หรือไม่

FiveM โหลด Resources จาก Folder

resources/

ตัวอย่าง

server-data/
└── resources/
    └── my_resource/

ถ้าวาง Resource นอก Folder นี้ FXServer อาจไม่ตรวจพบ

⑤ Resource ต้องมี fxmanifest.lua

Resource ปัจจุบันควรมี

fxmanifest.lua

ตัวอย่าง

my_resource/
├── fxmanifest.lua
├── client.lua
└── server.lua

หากไม่มี Manifest FXServer จะไม่ Parse Resource อย่างถูกต้อง

⑥ __resource.lua ยังใช้ได้ไหม

เป็น Manifest รูปแบบเก่า

__resource.lua

Cfx.re ยังรองรับ Resource เก่าบางรูปแบบ แต่ถือเป็น Legacy

Resource ใหม่ควรใช้

fxmanifest.lua

⑦ ตัวอย่าง fxmanifest.lua พื้นฐาน

fx_version 'cerulean'
game 'gta5'

client_script 'client.lua'
server_script 'server.lua'

ถ้าเป็น Resource สำหรับ FiveM ต้องกำหนด Game API ให้ถูก เช่น

game 'gta5'

⑧ fx_version ควรใช้อะไร

เอกสารปัจจุบันระบุ FXv2 Resource Version ปัจจุบันคือ

cerulean

จึงมักใช้

fx_version 'cerulean'

ใน Resource ใหม่

⑨ Manifest เขียนผิดทำให้ Start ไม่ขึ้นได้ไหม

ได้

fxmanifest.lua เป็นไฟล์ Lua

ดังนั้น Syntax Error เช่น

fx_version 'cerulean

ที่ลืมปิด '

สามารถทำให้ Manifest Parse ผิด

⑩ ตรวจชื่อไฟล์ใน Manifest

สมมุติ Manifest มี

server_script 'server.lua'

แต่ไฟล์จริงคือ

server_main.lua

Resource จะไม่สามารถโหลด Script ตามที่กำหนดได้ถูกต้อง

ชื่อ File และ Path ต้องตรงกัน

⑪ Linux ต้องระวังตัวพิมพ์ใหญ่เล็ก

บน Linux

Client.lua

กับ

client.lua

อาจถือเป็นคนละไฟล์

ดังนั้น Manifest

client_script 'client.lua'

ต้องตรงกับชื่อจริง

⑫ Resource ซ้อน Folder ผิดชั้น

เป็นสาเหตุยอดนิยมมากหลังดาวน์โหลด ZIP จาก Repository

ตัวอย่าง

resources/
└── myresource/
    └── myresource-main/
        ├── fxmanifest.lua
        └── client.lua

แล้วใช้

ensure myresource

อาจไม่ตรง Resource Root ที่ต้องการ

⑬ โครงสร้างที่ควรเป็น

จัดให้ Manifest อยู่ที่ Root ของ Resource เช่น

resources/
└── myresource/
    ├── fxmanifest.lua
    ├── client.lua
    └── server.lua

แล้วใช้

ensure myresource

⑭ Couldn't find resource หมายความว่าอะไร

โดยทั่วไปหมายถึง FXServer ยังหา Resource ตามชื่อนั้นไม่พบ

ตรวจ

Folder อยู่ถูกที่ไหม
ชื่อ Resource ถูกไหม
Manifest มีไหม
เพิ่งเพิ่ม Resource หรือไม่

ถ้าเพิ่ง Copy Resource ขณะ Server Running ให้ใช้ refresh

⑮ refresh คืออะไร

ใช้

refresh

เพื่อให้ FXServer Rescan Folder resources/ และอ่าน Resource Manifests ใหม่

หลังเพิ่ม Resource ใหม่สามารถใช้

refresh
ensure myresource

ได้

⑯ refresh กับ Restart Server ต่างกันอย่างไร

refresh ไม่ได้ Restart FXServer

แต่เป็นการ Scan Resource List ใหม่

เหมาะกับ Development เพราะไม่ต้อง Restart ผู้เล่นทั้ง Serverเพียงเพื่อให้ FXServer รู้จัก Folder ใหม่

⑰ refresh แล้ว Resource ยังไม่เจอ

ตรวจ Manifest

ถ้า Resource Folder ไม่มี

fxmanifest.lua

หรือ Legacy

__resource.lua

FXServer อาจแจ้ง Warning ว่า Folder นั้นไม่มี Resource Manifest

⑱ ensure ใช้อย่างไร

เมื่อ FXServer รู้จัก Resource แล้วใช้

ensure myresource

พฤติกรรมคือ

ถ้ายังหยุด
→ Start

ถ้ากำลัง Started
→ Restart

เหมาะสำหรับทดสอบหลังแก้ Resource

⑲ start ใช้แทน ensure ได้ไหม

ได้บางกรณี

start myresource

จะ Start หาก Resource ยังหยุดอยู่

แต่ ensure ครอบคลุมกว่า เพราะถ้า Resource ทำงานอยู่จะ Restart ให้ด้วย

⑳ Resource Start แล้วหยุดทันทีเกิดจากอะไร

มักต้องดู Error ภายใน Resource เช่น

Syntax Error
Missing Dependency
Missing Export
Database Error
Invalid Config
Runtime Error

ข้อความ Started resource เพียงอย่างเดียวไม่ได้รับประกันว่า Logic ภายในทำงานสมบูรณ์

㉑ Dependency คืออะไร

Resource บางตัวต้องพึ่ง Resource อื่น

เช่น

Framework
Inventory
Target
Database Library
UI Library

ถ้า Dependency ยังไม่พร้อม Resource หลักอาจ Start ไม่ได้หรือทำงานผิด

㉒ Dependency ระบุใน fxmanifest.lua ได้

ตัวอย่าง

dependency 'base_resource'

หรือหลายตัว

dependencies {
    'base_resource',
    'utility_resource'
}

Cfx.re ใช้ข้อมูลนี้เป็น Requirement ของ Resource

㉓ Missing dependency แก้อย่างไร

ถ้า Console บอก

Missing dependency xyz

ให้ตรวจว่า xyz

ติดตั้งแล้วหรือยัง
ชื่อถูกหรือไม่
Start ได้หรือไม่
Version ถูกหรือไม่

อย่าลบ dependency ออกจาก Manifest เพียงเพื่อให้ Error หาย หาก Resource ต้องใช้จริง

㉔ จัด Load Order อย่างไร

แนวคิดทั่วไป

Database
↓
Core Framework
↓
Libraries
↓
Inventory / Target
↓
Jobs

ตัวอย่าง

ensure database_resource
ensure framework_core
ensure shared_library
ensure inventory
ensure policejob

ใช้ชื่อ Resource จริงของระบบคุณ

㉕ No such export คืออะไร

Resource หนึ่งกำลังเรียก Export จาก Resource อื่น แต่ Export นั้นหาไม่เจอ

สาเหตุอาจเป็น

Dependency ยังไม่ Start
Resource Version ไม่ตรง
Export ถูกเปลี่ยนชื่อ
ใช้ Framework คนละ Version
Resource ถูก Rename

ต้องอ่าน Documentation ของ Resource ที่ใช้อยู่

㉖ Resource Name มีผลกับ Export ไหม

มี

ตัวอย่าง Script อาจเรียก

exports['inventory']:SomeFunction()

ถ้าคุณ Rename Folder Resource จาก

inventory

เป็น

my_inventory

Script ที่อ้างชื่อเดิมอาจทำงานไม่ได้

จึงไม่ควร Rename Dependencies แบบสุ่ม

㉗ Framework ไม่ตรงกันทำให้ Resource พังได้ไหม

ได้มาก

ตัวอย่าง Resource อาจออกแบบสำหรับ

ESX

แต่ Server ใช้

QBCore

หรือ Resource ใช้ Framework API รุ่นเก่า

การ ensure ให้ขึ้นไม่ได้ทำให้ Resource ต่าง Framework ใช้งานร่วมกันเองได้

㉘ Database Resource ต้องเปิดก่อนหรือไม่

Resource ที่ใช้ Database มักต้องมี Database Connector พร้อมก่อน

ถ้า Database Connector ยังไม่ Start อาจเกิด

database unavailable
export not found
query error

หรือ Framework Start ไม่สมบูรณ์

㉙ Database เปิดแต่ Resource ยัง Error

ตรวจต่อ

Connection String
Database Name
User
Password
Permission
Schema
Tables
Migration

Resource บางตัวต้อง Import SQL ก่อนใช้งาน

㉚ Table ไม่มีทำให้ Resource Start ไม่ขึ้นไหม

ได้

ตัวอย่าง Resource เรียก Table

users
vehicles
jobs

แต่ Database ยังไม่ได้ Import Schema

อาจเกิด SQL Error ทันทีตอน Resource Startup

㉛ อย่าเปิด MySQL 3306 Public เพื่อแก้ Resource

ถ้า Database อยู่เครื่องเดียวกันหรือ Private Network ไม่จำเป็นต้องเปิด Public Port ให้ทั้ง Internet

Resource Database Error ควรแก้ที่

Connection
Credentials
Permissions
Schema
Network ระหว่าง Server กับ Database

ไม่ใช่เปิด Database สู่ Public โดยไม่มีเหตุผล

㉜ Resource อาจ Require OneSync ได้ไหม

ได้

Manifest สามารถกำหนด Runtime Constraint

dependency '/onesync'

หมายความว่า Resource ต้องการ State Awareness

ถ้า Server ปิด OneSync Resource อาจไม่ผ่าน Requirement

㉝ วิธีแก้ Resource Require OneSync

ตรวจ server.cfg

สำหรับ Server รุ่นใหม่โดยทั่วไปใช้

set onesync on

จากนั้น Restart Server และทดสอบ Resource อีกครั้ง

㉞ Resource อาจ Require Artifact ขั้นต่ำได้ไหม

ได้

Manifest สามารถระบุ

dependency '/server:4500'

หมายความว่าต้องใช้ Server Build ตั้งแต่เลขที่กำหนดขึ้นไป

ถ้า Artifact เก่าเกิน Resource อาจไม่สามารถทำงานตาม Requirement ได้

㉟ Resource อาจ Require Game Build ได้ไหม

ได้

ตัวอย่าง Manifest สามารถมี Constraint รูปแบบ

dependency '/gameBuild:h4'

ซึ่งใช้ระบุ Minimum Game Build Requirement

ดังนั้น Resource บางตัวอาจต้องสัมพันธ์กับ sv_enforceGameBuild ของ Server

㊱ Resource อาจ Require Policy ได้ไหม

ได้

Manifest รองรับ Runtime Constraint เช่น

dependency '/policy:subdir_file_mapping'

หาก Server Key ไม่มี Policy ที่ Resource ต้องการ Resource อาจไม่ผ่าน Requirement

พบได้กับ Asset บางประเภท

㊲ Resource อาจ Require Native ได้ไหม

ได้

Manifest สามารถใช้

dependency '/native:0xHASH'

เพื่อ Require ว่า Server รองรับ Native ที่กำหนด

ถ้า Server Build เก่าเกินไปอาจไม่ผ่าน

㊳ Artifact เก่ามีผลกับ Resource ไหม

มี

Resource ใหม่อาจใช้

Native ใหม่
Runtime ใหม่
Manifest Feature ใหม่
Server API ใหม่

ที่ Artifact เก่าไม่มี

ดังนั้นเมื่อ Resource รุ่นใหม่ Start ไม่ได้ ควรตรวจ FXServer Artifact ด้วย

㊴ ควรอัปเดต Artifact ก่อน Debug ไหม

ถ้า Artifact เก่ามาก ควร Update เป็น Build ที่ยัง Support ก่อน

Cfx.re ระบุว่า Artifact เก่าจะเข้าสถานะ End of Support และ End of Life ตามระยะเวลา

การ Debug Resource ใหม่บน Runtime ที่ล้าสมัยทำให้เสียเวลาโดยไม่จำเป็น

㊵ lua54 'yes' ยังจำเป็นไหม

ไม่จำเป็นแล้วสำหรับ Resource ปัจจุบัน

Cfx.re ระบุว่า lua54 Manifest Setting ถูก Deprecated แล้ว

ตั้งแต่เดือนมิถุนายน 2025 Lua 5.3 ถูก Deprecated และ Lua Scripts ทั้งหมดใช้ Lua 5.4 แล้ว

ดังนั้นไม่ต้องเพิ่ม

lua54 'yes'

เพื่อ “แก้ Resource” แบบ Tutorial เก่า

㊶ Resource Lua เก่ามากอาจมีปัญหาไหม

ได้

Script เก่าอาจใช้ Function/Library หรือ Syntax ที่ไม่เข้ากับ Runtime ปัจจุบัน

เช่น Code เก่าที่อาศัย Behavior ของ Lua รุ่นก่อน

ต้อง Update Script ไม่ใช่พยายามลด Runtime Server กลับไปเรื่อย ๆ

㊷ JavaScript Resource มี Version Runtime ไหม

Manifest รองรับ

node_version '22'

และเอกสารปัจจุบันระบุว่ามี Node.js Runtime Versions ตามที่ Cfx.re รองรับ

Resource บางตัวจึงอาจมี Runtime Requirement เฉพาะ

ไม่ควรเปลี่ยน Version โดยเดา

㊸ Script Error ต้องอ่านจากบรรทัดไหน

ตัวอย่าง

SCRIPT ERROR: @myresource/server.lua:42

ข้อมูลสำคัญคือ

Resource = myresource
File = server.lua
Line = 42

ให้เปิดไฟล์และตรวจบริเวณนั้นก่อน

㊹ Error แรกสำคัญกว่า Error สุดท้าย

สมมุติ Console แสดง

1. Database resource failed
2. Framework export missing
3. Inventory failed
4. Police job failed

ต้นเหตุอาจเป็นข้อ 1

ถ้าแก้ข้อ 1 ได้ Error 2–4 อาจหายตาม

อย่าเริ่มแก้จาก Police Job ทันที

㊺ Resource Started แต่ใช้งานไม่ได้ทำอย่างไร

กรณีนี้แปลว่ากระบวนการ Start ระดับ Resource ผ่าน แต่ Function ภายในอาจ Error

ตรวจ

Server Console
Client F8
Dependencies
Exports
Config
Database
Permissions
Events
NUI

ต้องดูทั้ง Client และ Server Side

㊻ Client Script Error ดูตรงไหน

ผู้เล่นหรือ Developer เปิด FiveM แล้วกด

F8

ดู Client Console

ถ้า Server Console ไม่ Error แต่ UI/Client Feature ไม่ทำงาน ปัญหาอาจอยู่ฝั่ง Client

㊼ Server Script Error ดูตรงไหน

ดู

txAdmin Live Console

หรือ FXServer Console

เช่น Error เกี่ยวกับ

Database
Exports
Server Events
Lua
JavaScript
C#

จะปรากฏฝั่ง Server ตามประเภท Script

㊽ Checklist Resource Start ไม่ขึ้น

ไล่ตามนี้

Resource อยู่ใต้ resources/
Folder ไม่ซ้อนผิดชั้น
fxmanifest.lua มี
Manifest Syntax ถูก
game 'gta5' ถูก
ชื่อ Script ใน Manifest ถูก
refresh แล้ว
ensure ชื่อ Resource ถูก
Dependencies ติดตั้งครบ
Dependencies Start ได้
Load Order ถูก
Framework ตรง
Database ใช้งานได้
SQL Schema ครบ
OneSync Requirement ผ่าน
Artifact Requirement ผ่าน
Game Build Requirement ผ่าน
Policy Requirement ผ่าน
Console ไม่มี Error แรกที่ยังไม่แก้

ใช้ Checklist นี้ก่อน Reinstall Server

㊾ วิธี Debug ที่เร็วที่สุด

ใช้ Flow นี้

ensure myresource
↓
อ่าน Error แรก
↓
Couldn't find?
→ Folder / Manifest / refresh

Missing dependency?
→ ติดตั้งและ Start Dependency

No such export?
→ Version / Resource Name / Load Order

SQL Error?
→ Database / Schema

OneSync Requirement?
→ เปิด OneSync

Server Build Requirement?
→ Update Artifact

SCRIPT ERROR?
→ เปิด File + Line ที่แจ้ง

นี่เป็นวิธีที่มีประสิทธิภาพกว่าการ Restart Server ซ้ำ ๆ

㊿ สรุป FiveM Resource ไม่ทำงานหรือ Start ไม่ขึ้น แก้อย่างไร

เมื่อ Resource มีปัญหา อย่าเริ่มด้วยการลบ Cache หรือ Reinstall Server

เริ่มจาก

refresh
ensure resource_name

แล้วอ่าน Error แรกใน Console

ถ้าขึ้น

Couldn't find resource

ตรวจ

Folder
fxmanifest.lua
ชื่อ Resource
Folder ซ้อน
refresh

ถ้าขึ้น

Missing dependency

ตรวจ Resource ที่ต้องพึ่งและ Load Order

ถ้าขึ้น

No such export

ตรวจ

Dependency Version
Resource Name
Framework Version
Load Order

ถ้าเป็น SQL Error ให้ตรวจ Database และ Schema

ถ้า Manifest Require

/onesync
/server
/gameBuild
/policy
/native

ต้องทำให้ Server ผ่าน Requirement เหล่านั้นก่อน

สำหรับ Production Server comsiam แนะนำให้เพิ่ม Resource ทีละตัวหรือทีละกลุ่ม ไม่ควร Copy Script หลายสิบตัวลง resources/ แล้ว ensure ทั้งหมดพร้อมกัน

Workflow ที่เหมาะสมคือ

Backup
↓
เพิ่ม Resource
↓
refresh
↓
ensure
↓
อ่าน Console
↓
ทดสอบ Client
↓
ทดสอบ Database
↓
เพิ่ม ensure ลง server.cfg
↓
ค่อยติดตั้ง Resource ถัดไป

อีกเรื่องที่ควรเลิกทำตาม Tutorial เก่าคือเพิ่ม

lua54 'yes'

เพื่อหวังแก้ Resource เพราะ Cfx.re ปัจจุบันระบุว่า Setting นี้ Deprecated แล้ว และ Lua Scripts ใช้ Lua 5.4 เป็นมาตรฐานมาตั้งแต่เดือนมิถุนายน 2025

เมื่อผู้ดูแล FiveM Server ของ comsiam ใช้วิธีอ่าน Error จากต้นทางและแก้ Dependency ตามลำดับ จะสามารถหาสาเหตุ Resource Start ไม่ขึ้นได้เร็วกว่าการ Restart, Clear Cache หรือ Reinstall FXServer แบบสุ่มอย่างมาก

Comments

Popular posts from this blog

FiveM ยังน่าเล่นไหม? Enhanced เปลี่ยน FiveM แค่ไหน

FiveM คืออะไร เล่นอย่างไร สำหรับมือใหม่ เริ่มต้นตั้งแต่ศูนย์

วิธีตั้ง Admin Permission ด้วย add_ace และ add_principal FiveM แบบละเอียด