FiveM OneSync คืออะไร ต้องเปิดไหม? ตั้งค่าอย่างไรให้ Server รองรับผู้เล่นและ Entity ได้ถูกต้อง

FiveM OneSync คือระบบ Synchronization ของ Cfx.re ที่ช่วยให้ FXServer มี Server-side State Awareness และจัดการ Player, Vehicle, Ped, Object และ Entity ต่าง ๆ จากฝั่ง Server ได้ดีขึ้น รวมถึงเป็นพื้นฐานสำคัญสำหรับ FiveM Server ที่ต้องการรองรับผู้เล่นจำนวนมาก

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

set onesync on

โดยเฉพาะ Server RP ที่ใช้ Framework และ Resources รุ่นปัจจุบัน

ถ้าตั้งจำนวนผู้เล่นตั้งแต่ 32 คนขึ้นไป OneSync จะกลายเป็นข้อกำหนดตาม sv_maxClients และหากต้องการมากกว่า 64 Clients ต้องใช้ OneSync แบบ on

สรุปสั้น ๆ คือ

OneSync Off
→ ระบบ Networking แบบเก่า
→ Server มี State Awareness จำกัด

OneSync On
→ Server-side State Awareness
→ Entity Routing
→ State Bags
→ Routing Buckets
→ รองรับ Player Scale สูงขึ้น

① OneSync คืออะไร

OneSync เป็น Custom Synchronization System ของ FiveM ที่สร้างต่อยอดจาก Networking ของ GTA Online

เป้าหมายสำคัญคือ

เพิ่มจำนวนผู้เล่น
+
ให้ Server เข้าใจ State ของ Entity
+
เพิ่ม Server-side Synchronization

ทำให้ Developer สามารถสร้างระบบที่ควบคุม Entity จาก Server ได้มากขึ้น

② Synchronization คืออะไร

ในเกม Multiplayer ต้องทำให้ Client หลายเครื่องเห็นสถานะของโลกใกล้เคียงกัน

เช่น

ตำแหน่ง Player
Vehicle
Ped
Object
Health
Entity State

ระบบ Synchronization ทำหน้าที่จัดการข้อมูลเหล่านี้ระหว่าง Server และ Clients

③ OneSync ต่างจากระบบเดิมอย่างไร

ถ้าตั้ง

set onesync off

Cfx.re ระบุว่า Server ไม่มี State Awareness และ Clients จะใช้ Standard GTA/RAGE P2P Networking Model โดย Server ทำหน้าที่หลักในลักษณะ Relay

แต่ถ้าใช้

set onesync on

จะเปิด

Full State Awareness
+
Server-determined Entity Routing

จึงเหมาะกับ FiveM Server สมัยใหม่มากกว่า

④ FiveM Server ใหม่ต้องเปิด OneSync ไหม

สำหรับ Server ใหม่ แนะนำให้เปิด

ใช้

set onesync on

โดยเฉพาะถ้าใช้

  • ESX

  • QBCore

  • Qbox

  • Routing Buckets

  • Server-created Entities

  • State Bags

  • Server-side Entity Logic

  • Player Slots จำนวนมาก

เพราะ Resources รุ่นใหม่จำนวนมากถูกออกแบบโดยคำนึงถึง OneSync

⑤ Server ต่ำกว่า 32 คนต้องเปิดไหม

ไม่ใช่เพราะ Slot Requirement อย่างเดียว แต่ก็ยังสามารถเปิด OneSync ได้

ข้อดีคือได้ Server-side State Awareness และ Feature ที่เกี่ยวข้องกับ Entity Synchronization

ดังนั้น Server ใหม่ไม่จำเป็นต้องปิด OneSync เพียงเพราะมีผู้เล่น 10–20 คน

⑥ ตั้งแต่ 32 Players ต้องเปิด OneSync ไหม

ตามเอกสาร Cfx.re ปัจจุบัน

sv_maxClients ตั้งแต่ 32 ขึ้นไป

ต้องใช้

onesync on

หรือ

onesync legacy

แต่ Legacy ไม่แนะนำสำหรับ Server ใหม่

⑦ มากกว่า 64 Players ต้องใช้อะไร

ถ้ากำหนด

sv_maxClients > 64

ต้องใช้

set onesync on

Legacy ไม่เพียงพอสำหรับช่วงนี้ตามข้อกำหนดปัจจุบัน

⑧ OneSync เปิดอย่างไร

แก้ server.cfg

เพิ่ม

set onesync on

ตัวอย่าง

set onesync on
sv_maxclients 48

จากนั้น Save และ Restart Server

⑨ ใช้ onesync on หรือ true

คำสั่ง OneSync รองรับ Mode

on
off
legacy

ดังนั้นรูปแบบที่ชัดเจนคือ

set onesync on

และเป็นรูปแบบที่ Vanilla Configuration ของ Cfx.re ใช้อยู่

⑩ OneSync Off คืออะไร

set onesync off

หมายถึงปิด State Awareness ของ OneSync

Client จะใช้ Standard GTA/RAGE P2P Networking Model และ Server จะทำหน้าที่ Relay มากกว่า OneSync Full Mode

สำหรับ Server รุ่นใหม่มักไม่มีเหตุผลมากนักที่จะเลือก Mode นี้ เว้นแต่มี Requirement เฉพาะ

⑪ OneSync Legacy คืออะไร

ใช้

set onesync legacy

เป็น Compatibility Mode สำหรับ Scripts ที่คาดหวังว่า Player ทุกคนจะมีอยู่บน Client ทุกตัว

แต่ Cfx.re ระบุว่า ไม่แนะนำ

เพราะอาจเกิด

  • Performance Problems

  • Graphical Glitches

จึงไม่ใช่ตัวเลือกหลักสำหรับ Server ใหม่

⑫ Server ใหม่ควรใช้ Legacy ไหม

โดยทั่วไป ไม่ควร

เลือก

set onesync on

ก่อน

ถ้า Resource เก่าบังคับให้ใช้ Legacy ควรพิจารณาว่า Resource นั้นยังเหมาะกับ Production Server ปัจจุบันหรือไม่

การใช้ Mode เก่าเพื่อรองรับ Script เก่าอาจสร้าง Technical Debt ระยะยาว

⑬ OneSync Infinity คืออะไร

OneSync Infinity คือเทคโนโลยีของ OneSync สำหรับรองรับการ Synchronize Entity และ Player ใน Scale ขนาดใหญ่

เอกสาร Cfx.re ระบุว่าสถาปัตยกรรมสามารถรองรับได้สูงสุดประมาณ

2048 Players

ในระดับระบบ

แต่ไม่ได้หมายความว่า Server RP ทั่วไปสามารถตั้ง 2048 แล้วเล่นลื่นทันที

⑭ ต้องพิมพ์ onesync infinity หรือไม่

สำหรับ Configuration ปัจจุบัน ให้ใช้

set onesync on

เป็นหลัก

ระบบมีตัวแปร

onesync_enableInfinity

ซึ่งค่า Default ปัจจุบันเป็น

true

จึงไม่จำเป็นต้อง Copy Tutorial เก่าที่ตั้ง Mode แบบล้าสมัยโดยไม่ตรวจ Documentation

⑮ onesync_enableInfinity คืออะไร

เป็น Boolean Variable สำหรับเปิด Infinity System ของ OneSync

ค่า Default ปัจจุบันคือ

true

และถูกใช้สำหรับ Large-scale Entity Synchronization

โดยทั่วไป Server Owner ไม่จำเป็นต้องแก้ค่านี้จาก Default โดยไม่มีเหตุผลเฉพาะ

⑯ OneSync รองรับ 2048 คนจริงไหม

ในระดับ Architecture รองรับได้ถึงขนาดดังกล่าวตามเอกสาร

แต่ Player Capacity จริงขึ้นกับ

CPU
RAM
Network
Framework
Database
Voice
Resources
Entities
Cfx Entitlement

ดังนั้น

OneSync รองรับ 2048

ไม่เท่ากับ

Server ของเรารองรับ 2048 คน

⑰ OneSync ฟรีถึงกี่ Slots

เอกสาร OneSync ปัจจุบันระบุว่า OneSync ใช้งานได้ฟรีถึง

48 Slots

หากต้องการมากกว่านั้นต้องมี Tier ที่รองรับจาก Cfx Portal โดยเริ่มจาก FiveM Element Club Argentum ตามข้อมูลปัจจุบัน

⑱ OneSync กับ Element Club เหมือนกันไหม

ไม่เหมือนกัน

OneSync
= Networking / Synchronization Technology
Element Club
= Entitlement / Subscription

OneSync สามารถเปิดได้ แต่จำนวน Player Slots ที่ Account ใช้ได้ยังมีเงื่อนไขของ Platform

⑲ OneSync กับ sv_maxclients เกี่ยวกันอย่างไร

ตัวอย่าง Server 48 คน

set onesync on
sv_maxclients 48

onesync เปิดระบบ Synchronization

ส่วน

sv_maxclients

กำหนดจำนวน Client สูงสุด

ต้องตั้งทั้งสองอย่างให้สัมพันธ์กัน

⑳ เปิด OneSync แล้ว Slots เพิ่มเองไหม

ไม่

ถ้า Config ยังเป็น

sv_maxclients 16

เปิด OneSync แล้ว Server ก็ยังมีเพดานตาม sv_maxclients

OneSync ไม่ได้แก้ Player Cap ให้อัตโนมัติ

㉑ OneSync ช่วยเรื่อง Entity อย่างไร

เมื่อเปิด Full State Awareness Server สามารถรับรู้และจัดการ Entity ได้มากขึ้น เช่น

Vehicles
Peds
Objects
Players

ทำให้ Developer สามารถเขียน Logic ฝั่ง Server ที่เกี่ยวข้องกับ Entity ได้ดีกว่าระบบเดิม

㉒ Server สร้าง Vehicle ได้ไหม

ได้

OneSync สนับสนุนแนวทาง Server-created Entities

เช่นสร้าง Vehicle จาก Server-side Script

แนวคิดคือ

Server
↓
Create Vehicle
↓
Network Entity
↓
Clients ที่เกี่ยวข้องได้รับ Entity

นี่เป็นหนึ่งใน Best Practices ที่ Cfx.re แนะนำ

㉓ ทำไม Server-created Entity ถึงสำคัญ

ช่วยให้ Authority และ Logic สำคัญอยู่ฝั่ง Server มากขึ้น

ตัวอย่างระบบ

  • Mission Vehicle

  • Persistent Vehicle

  • NPC

  • World Object

สามารถถูกจัดการโดย Server แทนการฝาก Logic สำคัญไว้กับ Client เพียงอย่างเดียว

㉔ Entity Culling คืออะไร

OneSync Infinity ไม่จำเป็นต้องสร้าง Entity ทุกตัวให้ Client ทุกคนเห็นตลอดเวลา

ระบบใช้ Culling เพื่อ Sync เฉพาะ Entity ที่เกี่ยวข้องกับ Client

ช่วยลด Networking และ Client Load ใน Server ขนาดใหญ่

㉕ Focus Zone คืออะไร

เอกสาร OneSync อธิบายว่า Player Ped/Vehicle Culling ใช้ Focus Zone รอบ Player

ปัจจุบันเอกสารระบุ Radius ประมาณ

424 units

Entity ที่อยู่นอกพื้นที่เกี่ยวข้องไม่จำเป็นต้องถูกสร้างบน Client ตัวนั้นทั้งหมด

㉖ ทำไม Player 200 คนไม่ต้องเห็นกันทุกคน

สมมุติมีผู้เล่นอยู่คนละฝั่ง Map

Client ของ Player A ไม่จำเป็นต้อง Synchronize รายละเอียด Entity ของ Player B ทุกอย่างตลอดเวลา

OneSync สามารถเลือก Routing ตามความเกี่ยวข้อง

นี่เป็นหลักสำคัญที่ทำให้รองรับ Scale ใหญ่ขึ้น

㉗ Routing Bucket คืออะไร

OneSync มีระบบ

Routing Buckets

คล้ายแนวคิด

Dimension
Virtual World
Instance

สามารถแยก Player และ Entities ให้อยู่คนละ World Instance เชิง Network ได้

㉘ Routing Bucket ใช้ทำอะไร

ตัวอย่าง

Character Selection
Apartment Instance
Heist Instance
Match
Private Interior
Tutorial

Player ใน Bucket หนึ่งสามารถถูกแยก Entity Routing จาก Player อีก Bucket ได้

㉙ ตัวอย่าง Routing Bucket

แนวคิดเช่น

Bucket 0
= Main World

Bucket 10
= Apartment A

Bucket 20
= Heist

Server สามารถย้าย Player หรือ Entity ไป Bucket ที่กำหนดได้

㉚ Routing Bucket ใช้ทำ Interior ทุกแบบไหม

ไม่ควรคิดว่า Bucket คือคำตอบสำหรับทุก Interior

ต้องออกแบบตามระบบ Resource และ Gameplay

แต่สำหรับ Instance ที่ต้องการแยก Game State จริง ๆ Routing Bucket เป็น Feature สำคัญของ OneSync

㉛ Entity Lockdown คืออะไร

OneSync รองรับการกำหนด Entity Lockdown Mode สำหรับ Routing Bucket

Mode ปัจจุบันมี เช่น

strict
relaxed
inactive

และใน FiveM สำหรับ GTAV Enhanced ยังมี full ตามเอกสารปัจจุบัน

㉜ strict คืออะไร

strict

หมายถึงไม่อนุญาตให้ Clients สร้าง Entities ภายใน Bucket นั้น

เหมาะกับระบบที่ต้องการให้ Server เป็นผู้ควบคุม Entity Creation อย่างเข้มงวด

㉝ relaxed คืออะไร

relaxed

จะ Block เฉพาะ Script-owned Entities ที่ Client สร้างตามพฤติกรรมที่ Cfx.re กำหนด

เป็นระดับที่ผ่อนคลายกว่า Strict

㉞ inactive คืออะไร

inactive

อนุญาตให้ Clients สร้าง Entity ได้ตามปกติ

เป็น Default/Mode ที่ไม่ใช้ Lockdown เข้มงวดในบริบทดังกล่าว

㉟ State Bags คืออะไร

State Bags เป็นระบบเก็บ State แบบ Key/Value ที่เกี่ยวข้องกับ

  • Entity

  • Player

  • Global State

และสามารถ Replicate ไปยัง Clients ที่เกี่ยวข้องได้

OneSync ทำให้ State Bags เป็นเครื่องมือสำคัญสำหรับ Resources รุ่นใหม่

㊱ State Bags ใช้ทำอะไร

ตัวอย่าง

Vehicle Locked
Player Duty
Entity Status
Mission State
Custom Attributes

แทนการส่ง Network Event แบบ Manual สำหรับทุกข้อมูลในบางกรณี

Developer ควรเลือก State Bag หรือ Event ตามลักษณะข้อมูล

㊲ OneSync Population คืออะไร

มี Convar

onesync_population

ค่า Default ปัจจุบันคือ

true

ใช้ควบคุม Population Spawning/Management

จำเป็นสำหรับ NPC Population ที่ต้องการให้ระบบ Spawn ตามปกติ

㊳ ปิด Population ได้ไหม

ได้

เช่น

set onesync_population false

แต่จะเปลี่ยนพฤติกรรม Population ของ Server

ไม่ควร Copy ค่านี้จาก Optimization Guide แบบสุ่ม เพราะ Server อาจต้องใช้ NPC/Traffic ตาม Gameplay

㊴ onesync_forceMigration คืออะไร

ตัวแปร

onesync_forceMigration

ค่า Default ปัจจุบันคือ true

ช่วย Force Entity Migration เมื่อ Network Owner เดิมไม่เกี่ยวข้องหรือ Disconnect

การปิดอาจเพิ่ม Performance บางกรณี แต่สามารถทิ้ง Entity ไว้โดยไม่มี Owner ได้

จึงไม่ควรเปลี่ยนโดยไม่มีการทดสอบ

㊵ onesync_distanceCulling คืออะไร

ค่า

onesync_distanceCulling

Default ปัจจุบันเป็น true

ช่วยตัด Entity ออกจาก Synchronization เมื่ออยู่ไกลและไม่เกี่ยวข้องกับ View

นี่เป็นหนึ่งในกลไกช่วยด้าน Performance

㊶ distanceCullVehicles ควรเปิดไหม

มีตัวแปร

onesync_distanceCullVehicles

Default ปัจจุบันเป็น false

การเปิดสามารถลด Vehicle Sync ระยะไกลได้ แต่มีผลต่อ Gameplay/Script บางประเภท

ไม่ควรปรับเป็น Optimization Trick โดยไม่ทดสอบ Server จริง

㊷ เปิด OneSync ทำให้ Server เร็วขึ้นไหม

ไม่ควรมองว่า OneSync เป็น “FPS Booster”

หน้าที่หลักคือ State Awareness, Entity Routing และ Synchronization Architecture

Performance จริงยังขึ้นกับ

Resource Code
CPU
Database
Network
Entity Count
Player Count

เปิด OneSync ไม่สามารถแก้ Script ที่เขียนไม่ดีได้

㊸ เปิด OneSync แล้ว Resource พังได้ไหม

Resources เก่าบางตัวอาจมี Assumption เกี่ยวกับ Networking แบบเก่า

โดยเฉพาะ Script ที่เก่ามากหรือเขียนโดยไม่รองรับ Server-side State Awareness

หากเปิดแล้ว Resource มีปัญหา ควรตรวจ Version หรือเปลี่ยน Resource

ไม่ควรถอยกลับ Legacy เป็นคำตอบแรกเสมอไป

㊹ Framework รุ่นใหม่รองรับ OneSync ไหม

Framework หลักใน Ecosystem FiveM สมัยใหม่โดยทั่วไปถูกพัฒนาโดยคำนึงถึง OneSync

แต่ Custom Resources ต้องตรวจ Documentation แยก

โดยเฉพาะ Script ที่ไม่ได้อัปเดตมาหลายปี

㊺ OneSync ช่วย Security ไหม

OneSync เปิดโอกาสให้ Server ควบคุม Logic และ Entity Authority ได้มากขึ้น

เช่นใช้

Server-created Entities
Entity Lockdown
Server-side Validation

เป็นส่วนหนึ่งของ Security Architecture

แต่ไม่ได้ทำให้ Server ปลอดภัยจาก Cheat โดยอัตโนมัติ

Resources ยังต้อง Validate Input ฝั่ง Server

㊻ เปิด OneSync แล้วต้องตั้งอะไรเพิ่มไหม

สำหรับ Server ทั่วไปเริ่มต้นเพียง

set onesync on

และ

sv_maxclients 48

ตาม Capacity ที่ต้องการก็เพียงพอในระดับพื้นฐาน

ตัวแปร OneSync ขั้นสูงควรปล่อย Default ก่อน เว้นแต่มีเหตุผลและผ่านการทดสอบ

㊼ อย่า Copy OneSync Optimization มั่ว

ไม่ควรเห็น Config จาก Server อื่นแล้ว Copy เช่น

forceMigration
distanceCulling
population
entity lockdown
frequency settings

ทั้งหมดมาใช้ทันที

Server แต่ละแห่งมี

  • Framework

  • Resources

  • Player Count

  • Entity Behavior

ต่างกัน

ควรวัดก่อนและหลังทุกการเปลี่ยน

㊽ Checklist ตั้ง OneSync

ตรวจ

Artifact ปัจจุบัน
set onesync on
sv_maxclients ถูกต้อง
Entitlement รองรับ Slots
Framework รองรับ
Resources รองรับ
Console ไม่มี Error
Player เข้าได้
Entities Sync ถูกต้อง
Vehicles ทำงาน
NPC ทำงาน
Routing Buckets ทำงานถ้าใช้
State Bags ทำงานถ้าใช้
CPU/RAM ปกติ
Network ปกติ

จากนั้นจึงค่อยปรับ Advanced Convars หากจำเป็น

㊾ ตัวอย่าง Config ที่แนะนำสำหรับ Server ใหม่

ตัวอย่างพื้นฐาน

# OneSync
set onesync on

# Player slots
sv_maxclients 48

แล้วปล่อย Advanced Variables เป็น Default ก่อน

อย่าเริ่ม Server ใหม่ด้วย Configuration OneSync 20–30 บรรทัดที่ Copy จากอินเทอร์เน็ตโดยไม่รู้ว่าแต่ละตัวทำอะไร

㊿ สรุป FiveM OneSync คืออะไร ต้องเปิดไหม

OneSync คือระบบ Synchronization หลักของ FiveM สำหรับ Server-side State Awareness, Entity Routing และการรองรับ Player Scale ที่สูงขึ้น

สำหรับ Server ใหม่ คำตอบโดยทั่วไปคือ ควรเปิด

ใช้

set onesync on

โดยเฉพาะเมื่อ

ใช้ Framework รุ่นใหม่
ต้องการ State Bags
ใช้ Routing Buckets
สร้าง Entity ฝั่ง Server
ต้องการ 32+ Players
ต้องการ Server-side Entity Logic

ตามเอกสาร Cfx.re ปัจจุบัน

32+ Clients
→ OneSync on หรือ legacy
มากกว่า 64 Clients
→ OneSync on

และ OneSync ใช้งานได้ฟรีถึง 48 Slots ก่อนต้องมี Entitlement ระดับที่รองรับมากขึ้น

สำหรับ Production Server comsiam แนะนำให้ใช้ set onesync on และหลีกเลี่ยง Legacy ใน Server ใหม่ เว้นแต่มี Resource เก่าที่บังคับจริง ๆ และควรวางแผนเปลี่ยน Resource ดังกล่าวในระยะยาว

อีกเรื่องสำคัญคืออย่าปรับ Advanced OneSync Convars เพียงเพราะมีคนเรียกว่า “สูตรลดแลค” เพราะค่าต่าง ๆ อย่าง Population, Entity Migration และ Distance Culling สามารถเปลี่ยนพฤติกรรมของเกมได้

แนวทางที่เหมาะสมคือ

เปิด OneSync
↓
ตั้ง Player Slots
↓
ทดสอบ Framework
↓
ทดสอบ Entity
↓
Monitor Performance
↓
ปรับเฉพาะเมื่อมีข้อมูล

เมื่อใช้ OneSync อย่างถูกต้อง ผู้ดูแล FiveM Server ของ comsiam จะมี Foundation ที่เหมาะกับ Server รุ่นใหม่ ทั้งด้าน Player Scaling, Server-side Logic, Routing Buckets และ Entity Synchronization โดยไม่ต้องพึ่ง Networking Mode รุ่นเก่าที่มีข้อจำกัดมากกว่า

Comments

Popular posts from this blog

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

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

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