FiveM Map คืออะไร ต่างจาก MLO อย่างไร และไฟล์แผนที่มีอะไรบ้าง

 คำว่า FiveM Map ไม่ได้หมายถึงเพียงแผนที่ GPS ที่มุมจอ แต่โดยทั่วไปหมายถึง Content ที่ใช้เพิ่ม เปลี่ยน หรือจัดวางพื้นที่ในโลก GTA V สำหรับ FiveM Server เช่น อาคารใหม่ ร้านค้า สถานีตำรวจ Garage เกาะ ถนน สนามแข่ง Props หรือ Interior

FiveM ทำงานด้วยระบบ Resources ซึ่ง Resource สามารถมี Scripts และ Streaming Assets ได้ และสำหรับ Map Resource สามารถใช้ไฟล์อย่าง .ymap และ .ytyp รวมถึง Asset อื่นที่เกี่ยวข้องกับ Model, Texture และ Collision ได้ (docs.fivem.net)

FiveM ยังรองรับการ Stream ไฟล์ .ymap และ .ytyp โดยตรง และ Resource Manifest มี Directive this_is_a_map สำหรับระบุว่า Resource นั้นเป็น GTA Map เพื่อให้ระบบ Reload Map Storage เมื่อ Resource ถูกโหลด (docs.fivem.net)

บทความนี้จาก comsiam จะอธิบายว่า FiveM Map คืออะไร แตกต่างจาก MLO อย่างไร ไฟล์ YMAP, YTYP, YDR, YTD และ YBN ทำอะไร รวมถึงปัญหาที่พบบ่อยเมื่อเพิ่ม Custom Map เข้า Server

FiveM Map คืออะไร

FiveM Map คือ Resource หรือชุด Assets ที่เพิ่มหรือเปลี่ยนแปลงองค์ประกอบในโลกของ GTA V ที่ใช้งานผ่าน FiveM

ตัวอย่างสิ่งที่เรียกว่า Map ได้ เช่น

  • อาคารใหม่

  • บ้าน

  • ร้านอาหาร

  • Garage

  • Police Station

  • Hospital

  • Mechanic Shop

  • Dealership

  • Racetrack

  • Parking

  • Props

  • ถนน

  • เกาะ

  • Landscape

  • Interior

  • MLO

ดังนั้นคำว่า Map ใน FiveM มีความหมายกว้างกว่าคำว่า “แผนที่นำทาง”

① FiveM Map ทำงานอย่างไร

FiveM Server ทำงานจาก Resources

Cfx.re อธิบายว่า Resource คือ Collection ของไฟล์ เช่น

  • Client Scripts

  • Server Scripts

  • Streaming Assets

และ Resource สามารถ Start, Stop หรือ Restart ได้ระหว่างการทำงานของ Server (docs.fivem.net)

Custom Map จึงมักถูกจัดเป็น Resource เช่น

resources/
└── [maps]/
    └── custom_police_station/

จากนั้นเปิดด้วย Server Configuration

ensure custom_police_station

② FiveM Map ต่างจาก GTA V Map เดิมอย่างไร

GTA V มี World และ Assets พื้นฐานอยู่แล้ว

Custom Map สามารถเพิ่มหรือปรับองค์ประกอบเพิ่มเติม เช่น

Los Santos เดิม
+
Custom Building
+
Custom Interior
+
Props
+
Collision

ผู้สร้างไม่จำเป็นต้องสร้าง Los Santos ใหม่ทั้งหมด

สามารถเพิ่มเฉพาะพื้นที่ที่ต้องการ

เช่นเพิ่มร้านอาหารหนึ่งแห่งลงในตำแหน่งเดิมของเมือง

③ Custom Map FiveM คืออะไร

Custom Map คือแผนที่หรือพื้นที่ที่ถูกสร้างหรือแก้ไขเพิ่มเติมจาก Content เดิมของ GTA V

ตัวอย่าง

Custom Police Department
Custom Hospital
Custom Mechanic
Custom Prison
Custom Island
Custom Racetrack

บาง Map มีเพียงการนำ Objects เดิมของ GTA V มาจัดวางใหม่

บาง Map ใช้ Custom Models, Textures และ Collision ใหม่ทั้งหมด

ความซับซ้อนจึงแตกต่างกันอย่างมาก

④ FiveM Map ต่างจาก MLO อย่างไร

คำว่า Map เป็นคำกว้างกว่า

Map

สามารถหมายถึงพื้นที่ Outdoor หรือ Indoor และ Asset ต่าง ๆ ในโลก

MLO

โดยทั่วไปใช้เรียก Interior Asset ที่ถูกสร้างเป็นพื้นที่ภายในอาคาร เช่น

  • บ้าน

  • Police Station

  • Hospital

  • Office

  • Club

  • Restaurant

ดังนั้น

MLO ถือเป็น Map Content รูปแบบหนึ่ง

แต่ Map ทุกตัวไม่จำเป็นต้องเป็น MLO

ตัวอย่างสนามแข่ง Outdoor อาจเป็น Custom Map แต่ไม่ใช่ Interior MLO

⑤ FiveM Map มีไฟล์อะไรบ้าง

ขึ้นอยู่กับ Map แต่ไฟล์ที่พบได้บ่อย ได้แก่

.ymap
.ytyp
.ydr
.ytd
.ybn

อาจพบไฟล์หรือข้อมูลประเภทอื่นเพิ่มเติมตาม Asset

หน้าที่โดยสรุปคือ

YMAP = การจัดวาง Entities
YTYP = Archetype/Asset Definition
YDR  = Drawable Model
YTD  = Texture Dictionary
YBN  = Collision

แต่ Map ไม่จำเป็นต้องมีทุกประเภทเสมอไป

⑥ YMAP คืออะไร

YMAP เป็นไฟล์สำคัญมากสำหรับ Custom Map

ใน Asset Workflow ของ Cfx.re มีการสร้าง YMAP ผ่าน CodeWalker แล้วเพิ่ม Entity ลงใน YMAP โดยกำหนด Archetype และตำแหน่งของ Asset ใน World (docs.fivem.net)

จึงเข้าใจง่าย ๆ ได้ว่า YMAP ทำหน้าที่เกี่ยวข้องกับ

วัตถุอะไรอยู่ตรงไหนในโลก

ตัวอย่าง

Building A → Position X,Y,Z
Prop B     → Position X,Y,Z
Lamp C     → Position X,Y,Z

หัวข้อ YMAP จะมีบทความเจาะลึกแยกในลำดับถัดไป

⑦ YMAP สามารถวางอะไรได้บ้าง

ใน CodeWalker Workflow สามารถสร้าง YMAP และเพิ่ม Entities เข้าไป จากนั้นกำหนด Archetype และ Transform ของ Entity ได้ (docs.fivem.net)

จึงสามารถใช้กับ Asset เช่น

  • อาคาร

  • Props

  • Walls

  • Trees

  • Objects

  • Custom Models

ตาม Map ที่สร้าง

ตัวอย่างเช่น Restaurant Map อาจมี Entities หลายสิบหรือหลายร้อยชิ้นประกอบกัน

⑧ FiveM รองรับ YMAP โดยตรงหรือไม่

รองรับ

Cfx.re ระบุว่า FiveM และ RedM รองรับ Raw .ymap และ .ytyp Files โดยตรง รวมถึง XML-format ของไฟล์เหล่านี้ใน Workflow ที่รองรับ (docs.fivem.net)

ดังนั้น Custom Map Resources จำนวนมากจึงสามารถ Stream YMAP ผ่าน FiveM Resource ได้

⑨ YTYP คืออะไร

YTYP เกี่ยวข้องกับการกำหนด Archetypes ของ Custom Assets

ใน Cfx.re Assets Manual ขั้นตอนสร้าง GTAV Assets ด้วย Blender/Sollumz มีการสร้าง .ytyp สำหรับ Asset ก่อนนำกลับเข้า CodeWalker (docs.fivem.net)

เข้าใจแบบง่ายได้ว่า

YDR = Model
YTYP = ข้อมูลที่ช่วยให้ Game รู้จัก Archetype ของ Model
YMAP = นำ Archetype ไปวางในโลก

นี่เป็นภาพรวมเพื่อช่วยจำ ไม่ใช่รายละเอียดทั้งหมดของ File Format

⑩ ถ้าไม่มี YTYP Map จะใช้ได้ไหม

ขึ้นอยู่กับ Asset

ถ้า Map ใช้เฉพาะ Archetypes ที่ GTA V มีอยู่แล้ว อาจไม่ต้องมี Custom YTYP สำหรับทุก Object

แต่ถ้ามี Custom Model/Archetype ใหม่ อาจต้องมี YTYP ที่สัมพันธ์กับ Asset นั้น

ดังนั้นไม่ควรลบ .ytyp จาก Resource เพียงเพราะ Map ยังมี .ymap

ถ้า Asset ต้นฉบับมี YTYP ให้รักษาไฟล์ไว้จนกว่าจะรู้ชัดว่าไม่ถูกใช้งาน

⑪ YDR คืออะไร

YDR เป็น Drawable Asset ประเภทหนึ่งที่ใช้กับ Model

Cfx.re Assets Manual อธิบาย Workflow ของการสร้าง Drawable Assets ผ่าน Blender/Sollumz และนำ Assets กลับเข้า CodeWalker (docs.fivem.net)

ใน Custom Map จึงสามารถพบไฟล์ เช่น

custom_wall.ydr
custom_table.ydr
custom_building.ydr

ซึ่งเป็น Model ที่ Map ใช้

⑫ YTD คืออะไร

YTD คือ Texture Dictionary

ใช้เก็บ Texture ที่ Asset อ้างถึง เช่น

  • Wall Texture

  • Floor

  • Logo

  • Sign

  • Furniture

  • Building Surface

ตัวอย่าง

custom_building.ydr
custom_building.ytd

ถ้า Model โหลด แต่ YTD ที่ต้องใช้หาย อาจเกิดอาการ Texture

  • ขาว

  • ดำ

  • หาย

  • ไม่ครบ

  • ผิดรูป

คล้ายกับปัญหา Texture ของรถ Custom

⑬ YBN คืออะไร

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

Cfx.re Assets Manual มี Workflow สำหรับสร้าง Collision โดยใช้ Bound Geometry และ Primitive Shapes รวมถึงการสร้าง Collision Mesh สำหรับ Asset (docs.fivem.net)

ถ้า Visual Model ขึ้นแต่ Collision ผิด ผู้เล่นอาจ

  • เดินทะลุกำแพง

  • ตกพื้น

  • ชน Invisible Wall

  • เดินบนพื้นที่ที่มองไม่เห็น

  • รถทะลุ Object

ดังนั้น Visual Map ปกติไม่ได้หมายความว่า Collision ปกติ

⑭ Map เดินทะลุเกิดจาก YBN อย่างเดียวไหม

ไม่ควรสรุปว่าเป็น YBN ทุกกรณี แต่ Collision เป็นหนึ่งในสิ่งแรกที่ต้องตรวจ

อาจเป็น

  • Collision File หาย

  • Collision ไม่ถูก Stream

  • Collision Mesh ผิด

  • Material/Flags ผิด

  • Custom Asset สร้าง Collision ไม่ครบ

Cfx.re แยกขั้นตอน Collision Creation ออกจาก Drawable Asset Creation โดยชัดเจนใน Assets Manual (docs.fivem.net)

⑮ Map เห็นอาคารแต่เดินทะลุหมายความว่าอะไร

อาการนี้ช่วยวิเคราะห์ได้ดี

ถ้า

เห็น Model

แต่

ไม่มี Collision

แสดงว่า Visual Asset อย่าง YDR/YTD มีโอกาสโหลดได้แล้ว

ควรเน้นตรวจ Collision เพิ่ม

ไม่จำเป็นต้องเริ่มแก้ Texture หรือ YMAP Placement ก่อน

⑯ Map มี Collision แต่ Model ไม่ขึ้นได้ไหม

ได้ในบางกรณี

ผู้เล่นอาจเจอ

Invisible Wall

คือชนกับบางสิ่งแต่ไม่เห็น Model

ให้ตรวจ

  • YDR

  • YTD

  • YTYP

  • YMAP

  • Streaming

  • Asset Reference

หาก Collision อยู่แต่ Drawable ไม่แสดง จะเกิดประสบการณ์แบบชนกำแพงล่องหนได้

⑰ LOD คืออะไรสำหรับ FiveM Map

LOD ย่อมาจาก Level of Detail

ใช้ลดรายละเอียดของ Asset ตามระยะการมอง

Cfx.re มี Workflow ที่สร้าง HD Entity และ LOD Entity แยกกันใน YMAP โดยกำหนด LodLevel, LodDist และความสัมพันธ์ระหว่าง Parent/Child เพื่อให้ Asset รายละเอียดต่ำกว่าทำงานในระยะที่เหมาะสม (docs.fivem.net)

แนวคิดคือ

ใกล้ → Model รายละเอียดสูง
ไกล → Model รายละเอียดต่ำ

ช่วยไม่ให้ Render Geometry รายละเอียดสูงสุดโดยไม่จำเป็น

⑱ Map ไม่มี LOD มีผลอะไร

Map ที่มี Objects จำนวนมากและไม่มี LOD ที่เหมาะสมอาจใช้ Rendering Resources มากเกินจำเป็น

โดยเฉพาะพื้นที่ เช่น

  • เมืองใหม่

  • Island

  • Racetrack

  • Airport

  • Complex ใหญ่

Cfx.re แนะนำให้ LOD Models ใช้ Geometry และ Materials ที่ง่ายกว่า HD Asset และกำหนดระยะ Streaming ตามความเหมาะสม (docs.fivem.net)

ดังนั้น LOD เป็นหัวใจสำคัญของ Map Optimization

⑲ Map กับ MLO อะไรหนักกว่า

ไม่มีคำตอบตายตัว

MLO เล็กที่ Optimize ดีอาจเบากว่า Outdoor Map ใหญ่

แต่ MLO ที่มี

  • Rooms จำนวนมาก

  • Furniture จำนวนมาก

  • High Resolution Textures

  • Custom Props

  • Collision ซับซ้อน

ก็อาจหนักได้

ต้องดู Asset จริง ไม่ควรตัดสินจากคำว่า “MLO” หรือ “Map”

⑳ FiveM Map Resource คืออะไร

Map มักถูก Package เป็น Resource

ตัวอย่าง

my_map/
│
├── fxmanifest.lua
└── stream/
    ├── map.ymap
    ├── props.ytyp
    ├── building.ydr
    ├── building.ytd
    └── collision.ybn

โครงสร้างจริงขึ้นอยู่กับผู้สร้าง

FiveM Resources สามารถมี Streaming Assets และถูก Start/Stop/Restart ได้ผ่านระบบ Resource ของ Server (docs.fivem.net)

㉑ this_is_a_map คืออะไร

Resource Manifest มี Directive

this_is_a_map 'yes'

Cfx.re ระบุว่า this_is_a_map ใช้ Mark Resource ว่าเป็น GTA Map และจะ Reload Map Storage เมื่อ Resource ถูกโหลด (docs.fivem.net)

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

fx_version 'cerulean'
game 'gta5'

this_is_a_map 'yes'

แต่ Resource จริงอาจต้องมีข้อมูลอื่นเพิ่มเติมตาม Asset

㉒ ทุก Map ต้องเขียน fxmanifest เหมือนกันไหม

ไม่

Map บางตัวอาจเป็นเพียง Streaming Map

บางตัวมี

  • Scripts

  • IPL Management

  • Door Logic

  • Teleport

  • NUI

  • Dependencies

ดังนั้นอย่า Copy fxmanifest.lua ของ Map อื่นมาใช้ทั้งหมดโดยไม่ตรวจไฟล์จริง

ใช้ Manifest ที่มากับ Asset เป็น Base จะปลอดภัยกว่า

㉓ วิธีเพิ่ม Map เข้า FiveM Server แบบพื้นฐาน

โดยทั่วไป Workflow คือ

ขั้นที่ 1

ตรวจ Resource ที่ดาวน์โหลดมา

ขั้นที่ 2

Backup Server

ขั้นที่ 3

นำ Folder เข้า

resources/[maps]/

ตัวอย่าง

resources/[maps]/custom_hospital/

ขั้นที่ 4

เพิ่ม

ensure custom_hospital

ใน server.cfg

ขั้นที่ 5

ใช้ refresh หากเพิ่งเพิ่ม Resource ขณะ Server ทำงาน

Cfx.re ระบุว่า refresh จะ Rescan Resources Folder และโหลด Resource Manifests ใหม่เพื่อให้ Resource ใหม่สามารถ Start ได้ (docs.fivem.net)

ขั้นที่ 6

Start/Ensure Resource

ขั้นที่ 7

เข้าเกมทดสอบ Map

㉔ Map ลงแล้วไม่ขึ้นควรตรวจอะไร

เริ่มจาก

  • Resource Start หรือไม่

  • Folder Name ถูกหรือไม่

  • fxmanifest.lua อยู่หรือไม่

  • YMAP อยู่หรือไม่

  • YTYP อยู่ครบหรือไม่

  • Asset Dependencies ครบหรือไม่

  • Path ถูกหรือไม่

  • F8 มี Error หรือไม่

  • Server Console มี Error หรือไม่

อย่าเริ่มด้วยการล้าง Cache ก่อนโดยยังไม่ได้ดู Resource

㉕ Map ขึ้นบางส่วนเกิดจากอะไร

ตัวอย่าง

  • อาคารขึ้นแต่ Props หาย

  • Model ขึ้นแต่ Texture หาย

  • Interior ขึ้นแต่ประตูหาย

  • พื้นขึ้นแต่ Collision หาย

ปัญหาเหล่านี้อาจแสดงว่า Resource โหลดเพียงบาง Asset

ให้แยกตามประเภท

Object Placement → YMAP
Archetype         → YTYP
Model             → YDR
Texture           → YTD
Collision         → YBN

แล้วตรวจ Asset ที่ตรงกับอาการก่อน

㉖ Map Texture ขาวควรตรวจอะไร

ให้ตรวจ

YTD
Material
Texture Reference
Resource Streaming

ถ้า Model Building แสดงรูปทรงครบแต่เป็นสีขาวหรือไม่มีพื้นผิว ปัญหามีแนวโน้มอยู่ด้าน Texture มากกว่า Placement

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

㉗ Map อยู่ผิดตำแหน่งเกิดจากอะไร

ถ้า Asset ขึ้นแต่ไปอยู่

  • ลอยบนฟ้า

  • จมใต้ดิน

  • เยื้องจากถนน

  • หมุนผิด

ให้ตรวจ Transform/Coordinates ของ Entities ใน Map

Cfx.re Workflow สำหรับ YMAP ผ่าน CodeWalker ให้ผู้สร้างสามารถ Transform Entity ใน World และกำหนด Archetype ได้โดยตรง (docs.fivem.net)

ดังนั้นปัญหาตำแหน่งควรเน้น YMAP/Placement มากกว่า Texture

㉘ Map ซ้อนกับ GTA V เดิมเกิดจากอะไร

Custom Building อาจถูกวางทับพื้นที่ที่มี Vanilla Object อยู่แล้ว

ถ้าไม่ได้ Remove, Hide หรือจัดการ Original World Asset ตามวิธีที่ Map ถูกออกแบบไว้ อาจเห็น

  • กำแพงซ้อน

  • อาคารสองหลังทับกัน

  • ประตูสองชั้น

  • Props ทะลุกัน

ควรอ่าน Installation Instructions ของ Map โดยเฉพาะ Asset ที่ต้องใช้ IPL หรือ Resource เพิ่ม

㉙ IPL คืออะไรใน Map

IPL เป็นอีกแนวคิดหนึ่งที่เกี่ยวข้องกับการโหลดพื้นที่/World Content ของ GTA V

Custom Map หรือ Interior บางชนิดอาจต้องเปิดหรือปิด IPL ตามการออกแบบ

FiveM มี Native และ Resource Ecosystem ที่สามารถควบคุม World Content เหล่านี้ได้ แต่ Map ไม่ได้จำเป็นต้องใช้ IPL ทุกตัว

ดังนั้นอย่าเพิ่ม IPL Script แบบสุ่มหากผู้สร้าง Map ไม่ได้กำหนด

หัวข้อ FiveM IPL คืออะไร จะมีบทความแยกในลำดับถัดไปของหมวดนี้

㉚ Mapmanager คืออะไร

FiveM มี Resource ที่ชื่อ mapmanager

Cfx.re ระบุว่า mapmanager เป็น CitizenFX Resource ที่จัดการ Map Changes, Game Types และ Compatibility ระหว่าง Gametypes กับ Maps (docs.fivem.net)

อย่างไรก็ตาม Custom YMAP/MLO ที่ Server Owners ใช้ทั่วไปไม่ควรถูกเหมารวมว่าต้องสร้างผ่าน mapmanager ทั้งหมด

คำว่า “Map Resource” ใน Community จึงอาจถูกใช้กว้างกว่าระบบ Map/Game Type ของ mapmanager

㉛ Map กับ Spawn Point เกี่ยวกันไหม

FiveM มี spawnmanager สำหรับจัดการการ Spawn และ Respawn Player

เอกสาร Cfx.re ระบุว่า Map Resources สำหรับ mapmanager สามารถมี Spawnpoints ที่ถูกโหลดและใช้กับ spawnmanager ได้เมื่อ Resource ถูก Start ตามลำดับที่กำหนด (docs.fivem.net)

แต่ Custom MLO/Building ทั่วไปไม่จำเป็นต้องเป็นระบบ Spawn Map ประเภทนี้

ต้องแยกสองความหมายออกจากกัน

㉜ CodeWalker คืออะไรสำหรับ FiveM Map

CodeWalker เป็นเครื่องมือที่ใช้กันใน Asset Workflow ที่ Cfx.re Documentation ใช้ใน Tutorial การสร้าง Map

ตัวอย่างขั้นตอนใน Official Assets Manual คือ

เปิด CodeWalker
↓
Project Window
↓
New YMAP File
↓
New Entity
↓
เลือก Archetype
↓
Transform Object

(docs.fivem.net)

จึงเป็นเครื่องมือสำคัญสำหรับการทำและตรวจ Custom GTA V Map Assets

㉝ Blender ใช้ทำ FiveM Map ได้หรือไม่

ได้สำหรับ Asset Creation Workflow

Cfx.re Assets Manual ใช้ Blender ร่วมกับ Sollumz ในการสร้าง GTAV Assets เช่น

  • Models

  • Materials

  • UV

  • YTYP

ก่อนนำกลับเข้า CodeWalker (docs.fivem.net)

ดังนั้น Workflow อาจเป็น

Blender/Sollumz
↓
สร้าง Asset
↓
YTYP
↓
CodeWalker
↓
YMAP Placement
↓
FiveM Resource

㉞ World Editor ใช้ทำ Map ได้ไหม

Cfx.re มี World Editor ใน FxDK ซึ่งทำงานกับ Map File Assets

เอกสารระบุว่า Map Files ของ World Editor จะถูก Compile เป็น Resource ที่ Optimize สำหรับจัดการ Map Additions ก่อนนำไปใช้บน Server (docs.fivem.net)

ดังนั้นนอกจาก CodeWalker Workflow แล้ว FiveM Ecosystem ยังมี World Editor สำหรับการสร้าง Map Content ด้วย

㉟ FiveM Map ทำให้ FPS ตกได้ไหม

ได้ หาก Map มี Asset หนักเกินไปหรือ Optimization ไม่เหมาะสม

สิ่งที่ควรตรวจ เช่น

  • Geometry

  • Texture Resolution

  • LOD

  • จำนวน Props

  • Collision

  • Custom Models

  • Objects ที่แสดงพร้อมกัน

  • Scripts ที่มากับ Map

Cfx.re Assets Manual ให้ความสำคัญกับ LOD โดยใช้ Geometry/Materials ที่ง่ายลงสำหรับระยะที่ไกลออกไป ซึ่งช่วยลดรายละเอียดที่ต้องแสดงโดยไม่จำเป็น (docs.fivem.net)

㊱ Map ใหญ่ทำให้ Server Lag เสมอไหม

ไม่เสมอ

ต้องแยก

Client Rendering/Streaming

จาก

Server Script Performance

Map ที่มี Model และ Texture จำนวนมากอาจทำให้ Client FPS/Memory มีปัญหา

แต่ Script ที่มากับ Map เช่น Door System หรือ Runtime Logic อาจเป็นอีกปัญหาหนึ่ง

ดังนั้นอย่าใช้คำว่า Server Lag รวมทุกอาการ

㊲ Map โหลดช้าเกิดจากอะไร

สาเหตุอาจรวมถึง

  • Asset จำนวนมาก

  • Texture ใหญ่

  • Collision จำนวนมาก

  • LOD ไม่เหมาะสม

  • Client Storage

  • Memory

  • Resource Size

  • Network Download ตอนเข้า Server

  • Cache State

FiveM มีคำสั่ง save_gta_cache สำหรับ Resource ที่มี Collision หรือ Map Files จำนวนมาก โดยเอกสารระบุว่าใช้ช่วยลดเวลา Initial Loading สำหรับผู้เล่นใน Resource ประเภทนี้ได้ (docs.fivem.net)

อย่างไรก็ตามควร Optimize Map ต้นทางด้วย ไม่ใช่พึ่ง Cache อย่างเดียว

㊳ save_gta_cache คืออะไร

FiveM Client Console มีคำสั่ง

save_gta_cache

Cfx.re ระบุว่าใช้กับ Resources ที่มี Collision หรือ Map Files จำนวนมาก เพื่อสร้าง Cache Data ที่สามารถนำไปวางใน Resource เพื่อช่วยให้ Initial Loading เร็วขึ้น (docs.fivem.net)

นี่เป็น Feature ขั้นสูงสำหรับ Server/Map Developers

ไม่จำเป็นสำหรับ Custom Map ขนาดเล็กทุกตัว

㊴ Map หลายตัวติดตั้งพร้อมกันได้ไหม

ได้ แต่ต้องตรวจ Conflict

ปัญหาพบบ่อยคือ Map สองตัวแก้พื้นที่เดียวกัน

ตัวอย่าง

Police Station Map A
Police Station Map B

ถูก ensure พร้อมกัน

อาจเกิด

  • Building ซ้อน

  • Collision ซ้อน

  • Props ซ้อน

  • Invisible Wall

  • FPS ลด

  • Interior ผิด

ดังนั้นควรใช้ Map เพียงชุดเดียวต่อพื้นที่หาก Assets ไม่ได้ถูกออกแบบให้ทำงานร่วมกัน

㊵ วิธีหา Map Conflict

เริ่มจาก Disable Map ที่สงสัยทีละ Resource

ตัวอย่าง

custom_pd_a
custom_pd_b

ปิด B แล้วทดสอบ A

จากนั้นปิด A แล้วทดสอบ B

ถ้าทั้งสองปกติเมื่อแยก แต่ผิดเมื่อเปิดพร้อมกัน แสดงว่ามี Conflict ในพื้นที่หรือ Asset ที่ต้องตรวจเพิ่ม

วิธีนี้ดีกว่าแก้ YMAP ทั้งสองพร้อมกัน

㊶ MLO ซ้อนกันได้ไหม

ถ้า MLO สองตัวแก้ Building หรือ Interior พื้นที่เดียวกัน มีโอกาสเกิด Conflict สูง

อาการ เช่น

  • ประตูซ้อน

  • ห้องซ้อน

  • Collision ผิด

  • Texture กระพริบ

  • เดินทะลุ

  • Interior มืดหรือผิด

ดังนั้นก่อนซื้อหรือติดตั้ง MLO ใหม่ ควรตรวจว่า Server มี Map ในตำแหน่งเดียวกันอยู่แล้วหรือไม่

㊷ Map Resource ควรแยกเป็น Folder อย่างไร

ตัวอย่าง

resources/
└── [maps]/
    ├── police_station/
    ├── hospital/
    ├── mechanic/
    ├── dealership/
    └── racetrack/

ดีกว่านำ Map ทุกตัว Merge เข้า Resource เดียวตั้งแต่แรกโดยไม่มีเหตุผล

ข้อดีคือ

  • Update ง่าย

  • Stop Test ง่าย

  • หา Conflict ง่าย

  • Backup ง่าย

  • รู้ว่า Asset เป็นของ Map ไหน

FiveM Resources ถูกออกแบบให้ Start, Stop และ Restart แยกกันได้ จึงเหมาะกับโครงสร้างลักษณะนี้ (docs.fivem.net)

㊸ ควรรวม Map หลายตัวเป็น Resource เดียวไหม

ทำได้ แต่ไม่จำเป็นเสมอไป

รวม

ข้อดี

  • Resource น้อย

  • Config สั้น

ข้อเสีย

  • Debug ยาก

  • Update Map หนึ่งตัวอาจกระทบ Resource ทั้งชุด

  • Asset Conflict หายากขึ้น

แยก

ข้อดี

  • Stop Map เป็นรายตัวได้

  • Update ง่าย

  • หา Map เสียเร็ว

สำหรับ Server ที่ยังเพิ่ม/เปลี่ยน Maps บ่อย การแยก Resource มักจัดการง่ายกว่า

㊹ Map ดาวน์โหลดมาใช้ได้ทันทีไหม

ไม่เสมอไป

ก่อนติดตั้งควรตรวจ

  • FiveM Ready หรือไม่

  • Dependencies

  • Required Game Build

  • IPL

  • Door Script

  • Framework Dependency

  • Asset Escrow

  • License

  • Installation Instructions

Map ที่ออกแบบสำหรับ Single Player อาจต้องจัด Resource Structure ก่อนใช้กับ FiveM

ไม่ควรนำไฟล์ไปวางสุ่มใน stream แล้วคิดว่าจะทำงานครบทุกตัว

㊺ Map ฟรีกับ Map เสียเงินต่างกันไหม

ราคาไม่ได้รับประกัน Optimization หรือคุณภาพเสมอไป

ทั้ง Map ฟรีและเสียเงินควรตรวจ

  • Asset Quality

  • Texture

  • Collision

  • LOD

  • Updates

  • Dependencies

  • Support

  • License

ก่อนนำเข้า Production

สำหรับ Map ที่ใช้ Asset Escrow ควรใช้ระบบและ License ตามเงื่อนไขของ Cfx.re และผู้สร้าง Asset

㊻ FiveM Map ใช้ Asset Escrow ได้ไหม

Cfx.re มี Asset Escrow สำหรับ Creator Assets และ Server Owner สามารถดาวน์โหลด Asset ที่ได้รับสิทธิ์ไปใช้บน Server ที่ตนเป็นเจ้าของตามระบบของ Cfx.re (docs.fivem.net)

ดังนั้น Map Commercial บางตัวอาจถูก Protect ผ่าน Asset Escrow

ไม่ควรพยายามแกะหรือหลีกเลี่ยงระบบ Protection ของ Asset

㊼ Map ควร Backup ก่อน Update ไหม

ควร

ตัวอย่าง

police_station_v1
police_station_v2

ก่อน Replace Production ควรเก็บ

  • Resource เดิม

  • Config เดิม

  • Door Config

  • Script Config

  • Customized Files

หาก Version ใหม่มี Collision หรือ Placement ผิด สามารถ Roll Back ได้ทันที

㊽ Map Update แล้วของเดิมซ้อนกันเกิดจากอะไร

อาจเกิดจากเปิดทั้ง Resource Version เก่าและใหม่

เช่น

ensure hospital_old
ensure hospital_new

ถ้าทั้งสองแก้พื้นที่เดียวกัน Map จะซ้อน

ดังนั้นหลัง Update ควรตรวจ server.cfg และ Resource Folders ว่าไม่มี Version เก่าถูก Start อยู่

㊾ วิธี Debug FiveM Map แบบเร็วที่สุด

ใช้ลำดับนี้

ขั้นที่ 1

ยืนยันว่า Resource Start แล้ว

ขั้นที่ 2

ดู Server Console

ขั้นที่ 3

เปิด F8 ดู Client Error

ขั้นที่ 4

ตรวจ fxmanifest.lua

ขั้นที่ 5

ตรวจ this_is_a_map ตามโครงสร้าง Resource หาก Map ต้องใช้ Directive นี้ (docs.fivem.net)

ขั้นที่ 6

ตรวจ YMAP

ขั้นที่ 7

ตรวจ YTYP

ขั้นที่ 8

ตรวจ YDR/YTD

ขั้นที่ 9

ตรวจ YBN หาก Collision ผิด

ขั้นที่ 10

ตรวจ LOD หาก Map โหลด/แสดงผลตามระยะผิด

ขั้นที่ 11

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

ขั้นที่ 12

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

ตารางสรุปปัญหา FiveM Map

อาการจุดที่ควรตรวจ
Map ไม่ขึ้นเลยResource / Manifest / YMAP
Object บางส่วนหายYMAP / YTYP / Asset
อาคารขึ้นแต่ Texture ขาวYTD / Material
เดินทะลุกำแพงCollision / YBN
ชนกำแพงที่มองไม่เห็นModel/Collision ไม่สัมพันธ์
Map อยู่ผิดตำแหน่งYMAP / Coordinates
Map ซ้อนกันResource Conflict
MLO สองตัวทับกันMap Conflict
ไกลแล้ว Asset หายผิดLOD
Map FPS ตกGeometry / Texture / LOD
โหลดช้าAsset / Collision / Cache
Update แล้ว Map ซ้อนResource เก่ายังทำงาน
Map เดี่ยวปกติ เปิดหลาย Map แล้วเสียConflict / Resource Load

㊿ FiveM Map ที่ดีควรมีอะไร

Map ที่ดีไม่ใช่เพียงสวย

ควรมี

  • Placement ถูกต้อง

  • Texture เหมาะสม

  • Collision ถูกต้อง

  • LOD เหมาะสม

  • ไม่มี Object เกินจำเป็น

  • Resource เป็นระเบียบ

  • ไม่มี Conflict

  • Performance เหมาะกับพื้นที่

  • Dependencies ชัดเจน

  • Update ได้ง่าย

Cfx.re Assets Manual แสดงให้เห็นว่า Map Asset Workflow ครอบคลุมทั้ง Asset Creation, YTYP, Placement, Collision และ LOD จึงเห็นได้ว่า Map ที่ทำงานดีต้องดูมากกว่ารูปทรงของอาคารอย่างเดียว (docs.fivem.net)

FiveM Map กับ Server Performance

ถ้า Map ทำให้ FPS ตก อย่าเริ่มด้วย Upgrade Dedicated Server ทันที

ให้ดูว่าเป็น

Client Rendering
Client Streaming
Texture
Geometry
LOD
Collision
Script

ด้านใด

ถ้าผู้เล่น FPS ตกเฉพาะเมื่อมองพื้นที่ Map แต่ Server Tick ปกติ ปัญหามีแนวโน้มเกี่ยวกับ Asset/Rendering ฝั่ง Client มากกว่า CPU Server

แต่ถ้า Resource ที่มากับ Map มี Script หนัก ก็ต้องตรวจ Runtime แยกอีกส่วน

ควรติดตั้ง Map กี่ตัวใน FiveM Server

ไม่มีจำนวนตายตัว

Server ที่มี Map 100 ตัวไม่ได้แปลว่าจะหนักกว่า Server ที่มี 20 ตัวเสมอไป

ต้องดู

  • Map Size

  • Geometry

  • Texture

  • Collision

  • LOD

  • Scripts

  • จำนวน Asset ที่อยู่ใกล้ผู้เล่นพร้อมกัน

สิ่งสำคัญคือทดสอบ Performance หลังเพิ่ม Map ทุกชุด ไม่ใช่รอจนติดตั้งหลายสิบตัวแล้วค่อยหา Map ที่ทำให้ FPS ตก

สรุป FiveM Map คืออะไร

FiveM Map คือ Custom World Content ที่เพิ่มหรือเปลี่ยนพื้นที่ภายใน GTA V สำหรับ FiveM Server ตั้งแต่ Object เล็ก ๆ ไปจนถึงอาคาร Interior MLO สนามแข่ง และเกาะใหม่

ไฟล์สำคัญที่ควรรู้จัก ได้แก่

YMAP → Placement ของ Entities
YTYP → Archetype Definition
YDR  → Drawable Model
YTD  → Texture
YBN  → Collision

FiveM รองรับ .ymap และ .ytyp โดยตรง และ Resource Manifest มี this_is_a_map สำหรับระบุ GTA Map Resource (docs.fivem.net)

ถ้า Map มีปัญหา ให้แยกตามอาการ

ไม่ขึ้น → Resource/YMAP/YTYP

Texture หาย → YTD

เดินทะลุ → Collision/YBN

FPS ตก → Geometry/Texture/LOD

Map ซ้อน → Resource Conflict

แนวทางของ comsiam คือแยก Map เป็น Resources ที่จัดการง่าย เพิ่มทีละชุดและทดสอบทุกครั้ง โดยเฉพาะ Collision, LOD และพื้นที่ที่มี Map อื่นอยู่แล้ว เพราะ Server ที่มี Custom Maps จำนวนมากจะดูแลง่ายกว่ามากเมื่อรู้ว่าแต่ละ Resource รับผิดชอบพื้นที่และ Assets อะไร

Comments

Popular posts from this blog

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

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

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