วิธีติดตั้ง MLO FiveM แบบละเอียด ตั้งแต่ Resource จนเข้าใช้งานได้จริง

 การติดตั้ง MLO FiveM โดยพื้นฐานไม่ได้ซับซ้อน หากไฟล์ที่ได้มาเป็น FiveM Resource พร้อมใช้งานอยู่แล้ว แต่ปัญหามักเกิดเมื่อผู้ดูแล Server Copy Folder ผิดระดับ ลืม Dependency, ไม่ได้ ensure Resource, ใช้ MLO สองตัวในพื้นที่เดียวกัน หรือ Resource มีไฟล์ประกอบหลาย Folder แต่ Copy มาไม่ครบ

FiveM ใช้ระบบ Resources สำหรับโหลด Content ของ Server และ Resource ทุกตัวต้องมี Resource Manifest เช่น fxmanifest.lua เพื่อบอก FiveM ว่า Resource นั้นประกอบด้วยอะไร ส่วน Resource ประเภท Map สามารถใช้ this_is_a_map เพื่อระบุว่าเป็น GTA Map Resource ได้

บทความนี้จาก comsiam จะสอนวิธีติดตั้ง MLO FiveM ตั้งแต่ตรวจไฟล์ก่อนลง Server, วาง Resource, ตั้ง server.cfg, ใช้ refresh และ ensure ไปจนถึงวิธีแก้เมื่อ MLO ไม่ขึ้น Texture หาย หรือเดินทะลุพื้น

วิธีติดตั้ง MLO FiveM แบบสรุป

ขั้นตอนหลักคือ

ดาวน์โหลด MLO
↓
แตกไฟล์
↓
อ่าน README
↓
ตรวจ Dependencies
↓
หา Resource Folder จริง
↓
นำเข้า resources/[maps]/
↓
เพิ่ม ensure ใน server.cfg
↓
refresh
↓
ensure resource_name
↓
เข้าเกมทดสอบ

แต่ก่อนทำตามขั้นตอนเหล่านี้ ควร Backup Server และตรวจ Package ให้ครบก่อน

① Backup ก่อนติดตั้ง MLO

ก่อนเพิ่ม MLO ใหม่ ควร Backup อย่างน้อย

server.cfg
resources/
Door Config
Map Config

โดยเฉพาะหากกำลังเปลี่ยน MLO ตัวเดิม เช่น

police_station_old

เป็น

police_station_new

อย่าลบของเก่าทันที

ให้เก็บไว้จนกว่า MLO ใหม่จะผ่านการทดสอบ

เพราะถ้าเกิด

  • Collision ผิด

  • FPS ตก

  • Interior ไม่ขึ้น

  • Door ใช้ไม่ได้

  • Map ซ้อน

จะสามารถย้อนกลับ Version เดิมได้ทันที

② ตรวจ License ของ MLO ก่อน

หากเป็น MLO ที่ซื้อมา ให้ตรวจ

  • License

  • Cfx.re entitlement

  • Asset Escrow

  • จำนวน Server ที่อนุญาต

  • เงื่อนไขการแก้ไข

  • Dependencies

Cfx.re มีระบบ Asset Escrow สำหรับปกป้อง Creator Assets และ Resource ที่ซื้อบางตัวอาจมีไฟล์ที่ได้รับการป้องกันไว้

อย่าพยายามแกะหรือ Bypass Protection ของ Resource

③ แตกไฟล์ MLO ก่อน

หลังดาวน์โหลดมาอาจได้ไฟล์ เช่น

police_mlo.zip

แตกไฟล์ออกก่อน

อย่านำ .zip ไปวางใน

resources/

โดยตรงแล้วคาดว่า FiveM จะใช้งานเป็น Resource ได้

หลังแตกควรตรวจโครงสร้าง Folder

④ หา Resource Folder ตัวจริงให้เจอ

นี่เป็นปัญหาที่พบบ่อยมาก

สมมติแตกไฟล์แล้วได้

police_mlo/
└── police_mlo/
    ├── fxmanifest.lua
    └── stream/

Resource ตัวจริงคือ Folder ด้านในที่มี

fxmanifest.lua

ไม่ใช่ Folder ชั้นนอก

FiveM Documentation ระบุว่า Resource Manifest เช่น fxmanifest.lua ต้องอยู่ภายใน Resource Folder

⑤ วิธีดูว่า Folder ไหนคือ Resource

มองหา

fxmanifest.lua

ตัวอย่าง Resource ถูกต้อง

custom_pd/
├── fxmanifest.lua
└── stream/

แต่ถ้าเป็น

custom_pd/
└── fivem/
    └── custom_pd/
        ├── fxmanifest.lua
        └── stream/

อย่านำ custom_pd ชั้นบนสุดไปใช้งานโดยไม่ตรวจ

ผู้ขายบางราย Package ไฟล์ไว้หลายระดับ เช่น

Standalone/
FiveM/
Singleplayer/
Documentation/

ต้องเลือก Version FiveM ให้ถูก

⑥ fxmanifest.lua คืออะไร

fxmanifest.lua คือ Resource Manifest ของ FiveM

FiveM ใช้ไฟล์นี้ในการกำหนด Metadata และข้อมูลของ Resource เช่น

  • Scripts

  • Files

  • Dependencies

  • Data Files

  • Map Properties

Cfx.re ระบุว่า Resource Manifest ปัจจุบันคือ fxmanifest.lua และอยู่ภายใน Resource Folder

ดังนั้นหาก Download MLO มาแล้วไม่มี Manifest ต้องตรวจว่า

  • Download ผิด Version หรือไม่

  • ยังอยู่ใน Folder Packaging หรือไม่

  • ผู้สร้างให้สร้าง Manifest เองหรือไม่

⑦ this_is_a_map คืออะไร

Map Resource บางตัวจะมี

this_is_a_map 'yes'

ใน fxmanifest.lua

Cfx.re ระบุว่า Directive นี้ใช้ Mark Resource ว่าเป็น GTA Map และทำให้ Map Storage ถูก Reload เมื่อ Resource โหลด

ตัวอย่าง Manifest แบบง่าย

fx_version 'cerulean'
game 'gta5'

this_is_a_map 'yes'

แต่ อย่าเขียน Manifest ทับของ MLO ที่ซื้อมาโดยไม่จำเป็น

เพราะ Resource อาจมี Dependencies หรือ Data Files เพิ่มเติม

⑧ ตรวจ Folder stream

MLO มักมี Streaming Assets อยู่ใน Folder เช่น

stream/

ภายในอาจมี

.ymap
.ytyp
.ydr
.ytd
.ybn

หรือ Asset ประเภทอื่นตาม MLO

FiveM Resources สามารถประกอบด้วย Streaming Assets ได้ ดังนั้นต้อง Copy Resource มาให้ครบ ไม่ใช่เลือกเฉพาะ .ymap

⑨ อย่า Copy เฉพาะ YMAP

บางคนเห็นไฟล์

police.ymap

แล้วคิดว่านี่คือ Map ทั้งหมด

แต่ MLO อาจต้องใช้

police.ymap
police.ytyp
police.ydr
police.ytd
police.ybn

ร่วมกัน

ถ้าขาดบางส่วนอาจเกิด

  • อาคารหาย

  • Texture ขาว

  • เดินทะลุ

  • Interior ไม่ทำงาน

ดังนั้นเริ่มจาก Copy Resource ต้นฉบับให้ครบก่อน

⑩ YMAP ทำอะไร

YMAP เกี่ยวข้องกับการวาง Entities/Objects ใน World

Official FiveM Assets Manual แสดง Workflow การสร้าง YMAP ผ่าน CodeWalker โดยเพิ่ม Entities เลือก Archetype และกำหนดตำแหน่งในโลก

ดังนั้นถ้า Object

  • อยู่ผิดตำแหน่ง

  • หายบางจุด

  • Placement ผิด

YMAP เป็นหนึ่งในจุดที่ควรตรวจ

⑪ YTYP สำคัญกับ MLO อย่างไร

MLO ที่มี Custom Archetypes มักต้องมี YTYP ที่สัมพันธ์กับ Asset

อย่าลบไฟล์

*.ytyp

ออกเพียงเพราะยังเห็น YMAP อยู่

ถ้า YTYP ที่ Custom Asset ต้องใช้หาย อาจทำให้ Model/Interior บางส่วนไม่ถูกโหลดตามที่ผู้สร้างออกแบบไว้

⑫ YDR คืออะไร

YDR เป็น Drawable Model Asset ที่ Map/MLO สามารถใช้

เช่น

building.ydr
wall.ydr
counter.ydr
furniture.ydr

ถ้า MLO ขึ้นบางส่วนแต่ Model บางชิ้นหาย ให้ตรวจไฟล์ Model และ Archetype ที่เกี่ยวข้อง

⑬ YTD คืออะไร

YTD คือ Texture Dictionary

สามารถเก็บ Texture เช่น

  • ผนัง

  • พื้น

  • Logo

  • Furniture

  • ป้าย

  • Decoration

ถ้า MLO ขึ้นแต่มี

  • ผนังขาว

  • Texture ดำ

  • Logo หาย

  • พื้นผิวเบลอ

ให้ตรวจ YTD/Texture มากกว่าตำแหน่ง YMAP

⑭ YBN คืออะไร

YBN เกี่ยวข้องกับ Collision

ถ้า

มองเห็นพื้น
แต่เดินแล้วตก

หรือ

เห็นกำแพง
แต่เดินทะลุ

ให้ตรวจ Collision

ไม่ควรแก้ Texture เมื่อปัญหาเป็นการชน

⑮ นำ MLO ไปไว้ Folder ไหน

สามารถจัด Resources เป็น Category เพื่อให้ง่ายต่อการดูแล

ตัวอย่าง

resources/
└── [maps]/
    ├── police_mlo/
    ├── hospital_mlo/
    ├── mechanic_mlo/
    └── restaurant_mlo/

Resource Groups แบบ Folder ช่วยให้ Server เป็นระเบียบ

สิ่งสำคัญคือ Resource ตัวจริงต้องถูก FiveM มองเห็นและมี Manifest ที่ถูกต้อง

⑯ ตัวอย่างการติดตั้ง Police MLO

สมมติ Resource ชื่อ

custom_pd

นำไปไว้

resources/
└── [maps]/
    └── custom_pd/
        ├── fxmanifest.lua
        └── stream/

จากนั้นเพิ่มใน

server.cfg

ว่า

ensure custom_pd

คำสั่ง ensure ใช้สำหรับทำให้ Resource อยู่ในสถานะ Started ตามระบบ Resource Commands ของ FiveM

⑰ ensure คืออะไร

ใช้

ensure resource_name

เช่น

ensure custom_pd

สำหรับ Resource ที่ต้องการเปิดใช้งาน

โดยทั่วไปควรใส่ไว้ใน server.cfg เพื่อให้ Resource ถูกเปิดทุกครั้งหลัง Server Restart

ถ้าเพียงสั่งผ่าน Console ระหว่างทดสอบแต่ไม่ได้เพิ่มลง server.cfg หลัง Restart อาจพบว่า MLO หาย

⑱ refresh คืออะไร

ถ้าเพิ่ง Copy Resource ใหม่เข้า Server ขณะที่ FXServer กำลังทำงาน ให้ใช้

refresh

Cfx.re ระบุว่า refresh จะ Rescan Resources Folder และโหลด Resource Manifests ใหม่ ทำให้ Resource ใหม่พร้อมสำหรับการ Start

จากนั้นใช้

ensure custom_pd

⑲ ขั้นตอนติดตั้งตอน Server เปิดอยู่

ตัวอย่าง

1. Copy custom_pd เข้า resources/[maps]/
2. เปิด Server Console
3. พิมพ์ refresh
4. พิมพ์ ensure custom_pd
5. เข้าเกมทดสอบ

ไม่จำเป็นต้อง Restart Server เต็มระบบทุกครั้งเพื่อให้ FiveM ค้น Resource ใหม่ เพราะมี refresh สำหรับ Rescan Resource Manifests อยู่แล้ว

⑳ Restart Resource หลังแก้ไฟล์

ถ้า Resource ทำงานอยู่แล้วและต้องการ Reload สามารถใช้ Resource Commands ตาม Workflow ของ FiveM เช่น Restart/Ensure Resource

ตัวอย่าง

restart custom_pd

หลังแก้ Map Asset บางประเภท ควรสร้าง Client Test State ใหม่ตามความเหมาะสมด้วย เพราะการดู Entity/Interior State เดิมอาจทำให้วิเคราะห์ผิดได้

㉑ ใช้ txAdmin ติดตั้งได้ไหม

txAdmin เป็น Web Panel ที่มาพร้อม FXServer และสามารถช่วยจัดการ/Monitor Server รวมถึง Start, Stop และ Restart Server หรือ Resources ได้

แต่ตัว MLO Files ยังต้องอยู่ใน Resources ของ Server อย่างถูกต้อง

txAdmin ไม่ได้แก้ MLO ที่

  • YTYP หาย

  • Collision ผิด

  • Dependency ขาด

ให้อัตโนมัติ

㉒ ตรวจ Dependencies ก่อน ensure

MLO บางชุดไม่ได้มี Resource เดียว

ตัวอย่าง Package อาจมี

custom_pd
custom_pd_props
custom_pd_doors

หรือ Dependency อื่น

ควรอ่าน

README
INSTALL
documentation

ก่อน

หากเปิดเฉพาะ

custom_pd

แต่ลืม custom_pd_props อาจทำให้ Map โหลดไม่ครบ

㉓ Dependencies ควรเปิดก่อนหรือหลัง

ถ้า Resource A ต้องพึ่ง Resource B ควรจัด Dependency ให้พร้อมก่อน Resource ที่ใช้มัน

Resource Manifest ของ FiveM รองรับ dependency และ dependencies สำหรับระบุ Resource Dependency โดยตรง

ตัวอย่างเชิงแนวคิด

dependency 'required_resource'

ถ้า MLO ต้นฉบับมี Dependency Declaration อยู่แล้ว อย่าลบออก

㉔ MLO ใช้ Door Lock ต้องทำอย่างไร

ต้องแยก MLO ออกจาก Door Script

MLO อาจให้

Door Model
Door Position

แต่ระบบ

ล็อก
ปลดล็อก
Job Permission
Key

อาจเป็น Resource อีกตัว

ดังนั้นหาก MLO ขึ้นครบแต่ประตูไม่ล็อก อย่าเพิ่งแก้ Map

ให้ตรวจ Door Lock Script และ Config

㉕ MLO ใช้ ESX/QBCore ต้องติดตั้ง Framework ก่อนหรือไม่

ตัว Streaming MLO เองไม่ได้จำเป็นต้องพึ่ง Framework ทุกตัว

แต่ Package บางชุดอาจมี

  • Stash

  • Boss Menu

  • Door Lock

  • Job Interaction

  • Elevator

  • Garage

ที่พึ่ง ESX, QBCore หรือ Resource อื่น

ดังนั้นอ่าน Dependencies จากผู้สร้างก่อน

อย่าติดตั้ง Script ส่วนเสริมโดยเดาว่า MLO ทุกตัวต้องใช้ Framework

㉖ ตรวจ server.cfg

หลังเพิ่ม Resource ให้ตรวจว่า server.cfg มี

ensure custom_pd

จริง

และไม่มีทั้ง

ensure custom_pd_old
ensure custom_pd

พร้อมกันหากทั้งสองเป็น Map ตำแหน่งเดียวกัน

เพราะจะเกิด Map Conflict ได้

㉗ อย่าเปิด MLO Version เก่าและใหม่พร้อมกัน

ตัวอย่าง

pd_v1
pd_v2

ถ้าเปิดพร้อมกันในตำแหน่งเดียวกัน อาจเกิด

  • อาคารซ้อน

  • Collision ซ้อน

  • Texture กระพริบ

  • Invisible Wall

  • Interior ซ้อน

  • FPS ลด

หลัง Update จึงต้องตรวจทั้ง Resources Folder และ server.cfg

㉘ MLO ไม่ขึ้นหลัง ensure

ถ้า Console แสดงว่า Resource Started แต่ MLO ไม่ขึ้น ให้ตรวจ

  1. Coordinates

  2. Resource Files

  3. YMAP

  4. YTYP

  5. Dependencies

  6. Map Conflict

  7. F8

  8. Server Console

อย่าสรุปว่า Resource ปกติเพียงเพราะมีข้อความ Started

Resource สามารถ Start ได้แต่ Content บาง Asset ยังอาจมี Reference หรือ Dependency ที่ผิด

㉙ MLO อยู่พิกัดไหนดูอย่างไร

MLO ที่ดาวน์โหลดมาควรมีข้อมูล Location จากผู้สร้าง เช่น

  • Coordinates

  • Screenshot

  • Map Marker

  • Documentation

อย่าเข้า Server แล้วไปยืนผิดสถานที่แล้วสรุปว่า MLO ไม่ขึ้น

ถ้าเป็น Map ที่แก้พื้นที่ Vanilla เดิม ให้ใช้ตำแหน่งที่ Developer ระบุเป็นหลัก

㉚ MLO ขึ้นแต่ Interior หาย

ถ้าเห็น Exterior แต่ Interior ไม่ขึ้น ให้ตรวจ

  • YTYP/MLO Data

  • Interior Assets

  • Dependencies

  • Resource Files

  • Conflict

ถ้ามีการ Copy Resource แบบเลือกไฟล์เอง ให้กลับไป Copy Package ต้นฉบับทั้งชุดก่อน

㉛ MLO ขึ้นแต่ Texture ขาว

ถ้ารูปร่าง Model ปกติแต่ Texture ขาว ให้ตรวจ

YTD
Shared Texture
Material
Streaming Asset

โดยเฉพาะหากผู้ดูแล Server ลบไฟล์ที่คิดว่า “ไม่ใช้”

อย่าแก้ YMAP Coordinates เพราะตัว Model อยู่ถูกตำแหน่งแล้ว

㉜ MLO เดินทะลุพื้น

ถ้า

Interior ขึ้น
Texture ขึ้น
แต่เดินตก

ให้ตรวจ Collision Asset

โดยเฉพาะ

YBN

หรือ Collision ที่ถูกฝัง/อ้างโดย Asset ตาม Workflow ของ MLO

อย่าล้าง Cacheเป็นคำตอบแรกหากผู้เล่นทุกคนตกพื้นจุดเดียวกัน

㉝ MLO มี Invisible Wall

ให้ตรวจ

  • Collision ของ MLO

  • Collision ของ Map เก่า

  • MLO ตัวอื่นบริเวณเดียวกัน

  • Visual Asset ที่หาย

วิธีเร็วที่สุดคือ Disable Map ตัวอื่นในพื้นที่นั้นแล้วทดสอบ MLO เพียงตัวเดียว

㉞ MLO กระพริบ

ถ้า Wall, Floor หรือ Building กระพริบตามมุมกล้อง ให้สงสัย

  • Geometry ซ้อน

  • MLO ซ้อน

  • Exterior ซ้อน

  • Map เก่ายังเปิดอยู่

  • Z-fighting

มากกว่าการเพิ่ม Texture Resolution

ลองปิด Resource อื่นในพื้นที่เดียวกันก่อน

㉟ MLO ห้องหายเมื่อเดินผ่านประตู

ถ้า Interior แสดงปกติในบางตำแหน่ง แต่ห้องหายทันทีเมื่อข้าม Doorway ปัญหาอาจเกี่ยวข้องกับ Interior Structure เช่น Rooms/Portals มากกว่าการติดตั้ง Resource ทั่วไป

กรณีนี้ควรทดสอบ Package ต้นฉบับแบบไม่แก้ Asset

ถ้าต้นฉบับยังเสีย อาจเป็นงานที่ต้องแก้ตัว MLO มากกว่าการติดตั้งใหม่

㊱ MLO โหลดช้า

ให้แยกว่าช้าแบบไหน

โหลดช้าตอนเข้า Server

ตรวจ Resource Size และ Content Download

เดินเข้า MLO แล้ว Texture ค่อยขึ้น

ตรวจ Streaming/Memory/Texture

Model โผล่เมื่อเข้าใกล้มาก

ตรวจ Asset/LOD

เข้า Server ครั้งแรกช้ามาก

Map/Collision จำนวนมากอาจเพิ่ม Initial Loading

FiveM มี save_gta_cache สำหรับ Resource ที่มี Collision หรือ Map Files จำนวนมากเพื่อช่วยเรื่อง Initial Loading ในกรณีที่เหมาะสม

㊲ save_gta_cache ต้องใช้กับ MLO ทุกตัวไหม

ไม่

FiveM ระบุว่า save_gta_cache เหมาะกับ Resource ที่มี Collision หรือ Map Files จำนวนมาก

MLO เล็กทั่วไปไม่จำเป็นต้องใช้ขั้นตอนนี้เป็น Default

ควรใช้เมื่อ Resource มีเหตุผลจริงและผู้ดูแลเข้าใจ Workflow ของ Cache File

㊳ MLO ทำให้ FPS ตกหลังติดตั้ง

ให้ทดสอบก่อนว่าเกิดจาก

  • Geometry

  • Texture

  • Props

  • Lighting

  • Asset จำนวนมาก

  • Script ที่มากับ MLO

หรือไม่

วิธีทดสอบง่าย

MLO OFF → วัด FPS
MLO ON  → วัด FPS

ใช้

  • จุดเดียวกัน

  • Graphic Settings เดิม

  • Client เครื่องเดิม

  • มุมกล้องใกล้เคียงกัน

จะช่วยให้เปรียบเทียบได้ตรงกว่า

㊴ MLO ทำให้ Server หน่วงหรือ Client FPS ตก

สองอย่างนี้ไม่เหมือนกัน

Client FPS ตก

เน้นตรวจ

  • Model

  • Texture

  • Props

  • Rendering

  • Streaming

Server หน่วง

เน้นตรวจ Script ที่มากับ Resource เช่น

  • Door

  • Elevator

  • Interaction

  • Loops

อย่า Upgrade Server CPU เพื่อแก้ Texture 4K ของ MLO ถ้าปัญหาอยู่ฝั่ง GPU/VRAM ของผู้เล่น

㊵ ทดสอบ MLO เดี่ยวก่อน

นี่เป็นขั้นตอนที่สำคัญมาก

หาก Server มี Maps จำนวนมาก ให้ปิด Map อื่นที่อยู่ใกล้บริเวณ MLO ชั่วคราว

แล้วเปิดเฉพาะ

custom_pd

ถ้า MLO ทำงานปกติแบบเดี่ยว แต่เสียเมื่อเปิด Map อื่น แสดงว่ามีโอกาสเป็น Resource Conflict

อย่าแก้ตัว MLO ก่อนรู้ผลการทดสอบนี้

㊶ วิธีหา MLO Conflict

สมมติมี

pd_a
pd_b

ทดสอบ

pd_a ON
pd_b OFF

จากนั้น

pd_a OFF
pd_b ON

สุดท้าย

pd_a ON
pd_b ON

หากสองตัวแรกปกติแต่ตัวสุดท้ายเสีย ปัญหาน่าจะอยู่ที่การใช้งานร่วมกัน

㊷ ตรวจ F8

FiveM Client มี Console ที่เปิดผ่าน

F8

และ Client Console ใช้สำหรับ Development/Debugging ได้ตามเอกสาร Cfx.re

หาก MLO มีปัญหาเฉพาะ Client ให้ดู Error ที่เกี่ยวข้องกับ

  • Resource

  • Streaming

  • Asset

  • Files

ก่อนล้าง Cache

㊸ ตรวจ Server Console

หลังใช้

ensure custom_pd

ดู Console ว่ามี

  • Missing Dependency

  • Manifest Error

  • Missing File

  • Resource Error

หรือไม่

อย่าเลื่อนผ่าน Error สีแดงแล้วเข้าเกมทดสอบต่อ

Error ที่ Console ระบุชื่อ Resource หรือ File ได้โดยตรงมีค่ามากกว่าการแก้แบบสุ่ม

㊹ ใช้ refresh เมื่อไร

ใช้เมื่อเพิ่ม Resource ใหม่เข้า Resources Folder ขณะที่ Server ทำงานอยู่

FiveM ระบุว่า refresh จะ Rescan Resources Folder และโหลด Resource Manifests ใหม่

Workflow คือ

refresh
ensure custom_pd

แต่ถ้า Resource ถูก FiveM รู้จักอยู่แล้ว ไม่จำเป็นต้องใช้ refresh ทุกครั้งที่ Restart Resource

㊺ ใช้ ensure เมื่อไร

ใช้เมื่อต้องการทำให้ Resource ถูก Start

ตัวอย่าง

ensure custom_pd

และควรใส่ใน server.cfg ถ้าต้องการให้ MLO เปิดทุกครั้งหลัง Server Boot

อย่าพึ่งคำสั่ง Manual อย่างเดียวใน Production

㊻ ชื่อ Folder มีผลกับ ensure หรือไม่

มีในแง่ Resource Name ที่คุณใช้เรียก

ถ้า Folder Resource คือ

custom_pd

ก็จะใช้

ensure custom_pd

อย่าพิมพ์ชื่อ Package ZIP หรือชื่อ Folder ชั้นนอกที่ไม่มี Manifest

นี่เป็นอีกเหตุผลว่าทำไมต้องหา Resource Folder จริงให้เจอก่อน

㊼ สามารถใช้ ensure [maps] ได้ไหม

Resource Category Folder ที่ใช้วงเล็บเหลี่ยมเป็นวิธีจัดกลุ่ม Resources และ Configuration ของ Server สามารถจัด Resource ตามหมวดได้

อย่างไรก็ตาม สำหรับการ Debug ควรสามารถระบุ Resource แต่ละตัวได้ชัด

ตัวอย่าง

custom_pd
hospital_mlo
mechanic_mlo

เพราะเมื่อเกิดปัญหา จะรู้ว่า Resource ตัวไหนต้อง Stop/Restart

㊽ MLO ที่ซื้อมา Update อย่างไร

อย่า Copy Version ใหม่ทับ Production ทันที

ใช้ Workflow

Backup Version เก่า
↓
อ่าน Changelog
↓
ตรวจ Config ที่แก้เอง
↓
ติดตั้ง Version ใหม่ใน Test Server
↓
ตรวจ Interior
↓
ตรวจ Collision
↓
ตรวจ Doors
↓
ตรวจ FPS
↓
ขึ้น Production

โดยเฉพาะ Resource ที่ Asset Escrow Protected ไม่ควรแก้ไฟล์ที่ผู้สร้างไม่ได้เปิดให้แก้ตาม License

㊾ หลัง Update MLO ประตูพัง

ตรวจว่า Version ใหม่เปลี่ยน

  • Door Position

  • Door Model

  • Hash

  • Coordinates

  • Door Script Config

หรือไม่

Door Lock Resource อาจยังใช้ Coordinates/Model ของ MLO Version เก่า

กรณีนี้ Map อาจทำงานปกติ แต่ Door Config ต้อง Update ตาม

㊿ หลัง Update MLO Stash หรือ Target อยู่ผิดที่

นี่มักเป็น Gameplay Integration

ตัวอย่าง MLO ใหม่ย้าย Counter จาก

X,Y,Z เดิม

ไปอีกจุด

แต่

qb-target
ox_target
stash
boss menu

ยังใช้ Coordinates เก่า

จึงต้องแก้ Config ของ Script นั้น

ไม่ใช่แก้ MLO Model

51. Checklist หลังติดตั้ง MLO

ก่อนเปิดให้ผู้เล่นใช้งานจริง ให้ตรวจ

Resource

  • Start สำเร็จ

  • ไม่มี Console Error

  • ไม่มี Missing Dependency

Exterior

  • อาคารไม่ซ้อน

  • Props ขึ้นครบ

Interior

  • ห้องขึ้นครบ

  • ไม่เกิด Pop-in ผิดปกติ

Texture

  • ไม่มีขาว/ดำ

  • Logo ขึ้นครบ

Collision

  • เดินไม่ทะลุ

  • ไม่ตกพื้น

  • ไม่มี Invisible Wall

Doors

  • เปิดปิดได้

  • Door Lock ทำงาน

Scripts

  • Target

  • Stash

  • Elevator

  • Garage

  • Boss Menu

Performance

  • FPS

  • Texture Loading

  • หลายผู้เล่น

Conflict

  • Map อื่นบริเวณเดียวกัน

52. วิธี Debug MLO FiveM แบบเร็วที่สุด

ทำตามลำดับนี้

ขั้นที่ 1

ตรวจ Folder ที่มี fxmanifest.lua

ขั้นที่ 2

ตรวจ Dependencies

ขั้นที่ 3

Copy Resource ให้ครบ

ขั้นที่ 4

เพิ่ม

ensure resource_name

ขั้นที่ 5

ถ้าเพิ่งเพิ่มระหว่าง Server เปิด ใช้

refresh

FiveM ระบุว่าคำสั่งนี้ใช้ Rescan Resource Manifests โดยตรง

ขั้นที่ 6

ensure Resource

ขั้นที่ 7

ดู Server Console

ขั้นที่ 8

เข้า Coordinates ที่ถูกต้อง

ขั้นที่ 9

ดู F8

ขั้นที่ 10

ตรวจ Model/Texture/Collision ตามอาการ

ขั้นที่ 11

ปิด Map อื่นในพื้นที่เดียวกัน

ขั้นที่ 12

ทดสอบ Resource เดี่ยว

ตารางสรุปปัญหาหลังติดตั้ง MLO FiveM

อาการจุดที่ควรตรวจ
FiveM หา Resource ไม่เจอFolder / Manifest / refresh
Resource Start ไม่ได้Manifest / Dependency
Restart Server แล้ว MLO หายserver.cfg / ensure
Resource Started แต่ Map ไม่ขึ้นYMAP / YTYP / Location
Exterior ขึ้น Interior หายMLO/YTYP/Dependencies
Model บางส่วนหายYDR / YTYP
Texture ขาวYTD / Material
เดินทะลุCollision
ตกพื้นCollision / Asset
Invisible WallCollision / Map Conflict
อาคารซ้อนMLO เก่า/Map อื่น
ประตูล็อกไม่ได้Door Script
Target อยู่ผิดScript Coordinates
MLO ใหม่แล้ว Stash หายIntegration Config
FPS ตกGeometry / Texture / Props
เปิดเดี่ยวปกติ เปิดหลาย Map แล้วเสียResource Conflict

โครงสร้าง MLO ที่ดูแลง่าย

สำหรับ Server ที่มี Maps จำนวนมาก สามารถจัดประมาณ

resources/
└── [maps]/
    ├── [police]/
    │   └── custom_pd/
    │
    ├── [medical]/
    │   └── custom_hospital/
    │
    ├── [business]/
    │   ├── restaurant_01/
    │   └── mechanic_01/
    │
    └── [housing]/
        └── mansion_01/

เป้าหมายคือเมื่อ MLO มีปัญหา คุณต้องรู้ทันทีว่า Resource ตัวใดรับผิดชอบพื้นที่นั้น

ไม่ควรมี Folder เช่น

newmap
newmap2
test
mapfinal
mapfinal2
finalfinal

อยู่ใน Production Server เพราะจะสร้างความสับสนเมื่อ Debug

MLO ควรแยก Resource หรือ Merge รวมกัน

สำหรับ MLO จากคนละ Developer หรือคนละสถานที่ การแยก Resources มักดูแลง่ายกว่า

เพราะ FiveM Resources สามารถถูก Start/Stop/Restart แยกจากกันได้

ข้อดีคือ

  • Update ง่าย

  • Disable ง่าย

  • หา Conflict ง่าย

  • Rollback ง่าย

  • แยก Ownership/License ง่าย

การ Merge ควรทำเมื่อมีเหตุผลและเข้าใจ Asset References จริง ๆ

ต้อง Restart Server ทุกครั้งหลังลง MLO หรือไม่

ไม่จำเป็นเสมอไป

เมื่อเพิ่ม Resource ขณะ FXServer ทำงาน สามารถใช้

refresh
ensure custom_pd

เพื่อให้ FiveM Rescan Resource ใหม่และ Start Resource ได้

แต่ใน Production Environment หลังติดตั้งหรือ Update ครั้งใหญ่ การ Restart/Test แบบสะอาดอาจยังมีประโยชน์เพื่อยืนยันว่า Resource Startup Order และ server.cfg ทำงานถูกต้องเมื่อ Server Boot จริง

สรุป วิธีติดตั้ง MLO FiveM

วิธีติดตั้ง MLO FiveM ที่ปลอดภัยที่สุดคือ

Backup
↓
แตกไฟล์
↓
อ่าน README
↓
ตรวจ Dependencies
↓
หา Folder ที่มี fxmanifest.lua
↓
นำ Resource เข้า resources/
↓
เพิ่ม ensure ใน server.cfg
↓
refresh
↓
ensure
↓
ตรวจ Console
↓
เข้าเกม
↓
ตรวจ Interior + Texture + Collision + FPS

FiveM ใช้ Resource Manifest เช่น fxmanifest.lua ภายใน Resource Folder และ refresh สามารถ Rescan Resources Folder เพื่อให้ Resource ใหม่พร้อมถูก Start ได้ ขณะที่ Resource ประเภท Map สามารถใช้ this_is_a_map ตามการออกแบบของ Resource

ถ้าติดตั้งแล้ว MLO ไม่ขึ้น อย่าเริ่มด้วยการล้าง Cache แต่ให้ตรวจ

Resource → Manifest → Dependency → YMAP/YTYP → Model → Texture → Collision → Conflict

และถ้า MLO ทำงานปกติเมื่อเปิดตัวเดียว แต่เกิดปัญหาเมื่อเปิด Map อีกตัวในพื้นที่เดียวกัน ให้สงสัย Map Conflict ก่อนรื้อ Asset

แนวทางของ comsiam คือเก็บ MLO แต่ละสถานที่เป็น Resource ที่ระบุชื่อชัดเจน ติดตั้งและทดสอบทีละตัว เพราะเมื่อ Server มี Maps หลายสิบหรือหลายร้อย Resources การรู้ว่า Resource ตัวใดควบคุมพื้นที่ไหนจะช่วยลดเวลาการแก้ปัญหาได้อย่างมาก

Comments

Popular posts from this blog

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

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

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