server.cfg FiveM คืออะไร? ไฟล์ตั้งค่าหลักของ FiveM Server ที่ผู้ดูแลต้องรู้

server.cfg คือหนึ่งในไฟล์สำคัญที่สุดของ FiveM Server เพราะใช้รวมคำสั่งและค่าตั้งต้นที่ FXServer ต้องอ่านตอนเปิด Server เช่น Port, ชื่อ Server, จำนวนผู้เล่น, Server Key, Resources ที่ต้องเปิด และ ACE Permissions

พูดง่าย ๆ คือ

FXServer
↓
อ่าน server.cfg
↓
ตั้ง Network
↓
ตั้ง Server Information
↓
โหลด Resources
↓
ตั้ง Permissions
↓
เปิดให้ผู้เล่นเข้า

ถ้า server.cfg ผิดเพียงบางบรรทัด อาจเกิดอาการตั้งแต่ Resource ไม่ทำงาน ไปจนถึง Server เปิดไม่ได้หรือผู้เล่นเข้าจากภายนอกไม่ได้

ดังนั้นผู้ดูแล FiveM Server ควรเข้าใจไฟล์นี้ก่อนติดตั้ง Script จำนวนมาก

① server.cfg คืออะไร

server.cfg คือไฟล์ Configuration ที่เก็บ FXServer Commands และ Convars ซึ่งต้องการให้ทำงานตอน Server Start

ตัวอย่างง่าย ๆ

endpoint_add_tcp "0.0.0.0:30120"
endpoint_add_udp "0.0.0.0:30120"

sv_maxclients 32

ensure chat
ensure spawnmanager

เมื่อ FXServer อ่านไฟล์นี้ คำสั่งจะถูก Execute ตามลำดับ

② server.cfg ไม่ใช่ไฟล์ของ txAdmin โดยตรง

ต้องแยกให้ออกระหว่าง

server.cfg
= Configuration ของ FXServer

กับ

txData
= Data ของ txAdmin

แม้ txAdmin จะมี CFG Editor สำหรับเปิดและแก้ server.cfg ได้ แต่ไฟล์นี้เป็น Configuration ของ FiveM Server

③ server.cfg อยู่ตรงไหน

โดยทั่วไปจะอยู่ภายใน Server Data Directory

ตัวอย่าง

C:\FXServer\server-data\server.cfg

หรือ Linux

/home/fivem/server-data/server.cfg

ตำแหน่งจริงขึ้นอยู่กับโครงสร้าง Server ของคุณ

④ Server Data Directory คืออะไร

เป็น Directory ที่เก็บสิ่งอย่าง

server.cfg
resources/
permissions.cfg
config files

ควรแยกจาก FXServer Binary เพื่อให้อัปเดต Artifact ได้ง่าย

ตัวอย่าง

FXServer/
├── server/
│   └── FXServer binaries
│
└── server-data/
    ├── server.cfg
    └── resources/

⑤ server.cfg ถูกโหลดอย่างไร

ถ้าเปิด FXServer แบบ Manual มักพบคำสั่ง

+exec server.cfg

ตัวอย่าง Windows

FXServer.exe +exec server.cfg

FXServer จะ Execute Commands ภายใน server.cfg

แต่ถ้าใช้ txAdmin ควรเปิด FXServer ใน Monitor Mode และให้ txAdmin จัดการ Server Profile/CFG แทนการเปิด txAdmin ด้วย +exec server.cfg

⑥ exec คืออะไร

คำสั่ง

exec

ใช้ Execute Commands จากไฟล์ Configuration อื่น

ตัวอย่าง

exec permissions.cfg

หรือ

exec resources.cfg

ทำให้ไม่จำเป็นต้องยัดทุก Configuration ไว้ใน server.cfg ไฟล์เดียว

⑦ ทำไมควรแยก Config หลายไฟล์

Server ใหญ่สามารถมี server.cfg หลายร้อยบรรทัด

สามารถจัดโครงสร้างเป็น

server.cfg
permissions.cfg
resources.cfg
voice.cfg
framework.cfg

แล้วเรียกจากไฟล์หลักด้วย

exec permissions.cfg
exec resources.cfg

ทำให้ดูแลง่ายขึ้น

⑧ # ใน server.cfg คืออะไร

ใช้สำหรับ Comment ในตัวอย่าง Configuration ของ Cfx.re

เช่น

# FiveM game endpoint
endpoint_add_tcp "0.0.0.0:30120"
endpoint_add_udp "0.0.0.0:30120"

ข้อความ Comment ใช้ช่วยอธิบาย Config และไม่ควรถูกตีความเป็นคำสั่งปกติ

⑨ endpoint_add_tcp คืออะไร

ใช้สร้าง TCP Endpoint ของ FXServer

ตัวอย่างมาตรฐาน

endpoint_add_tcp "0.0.0.0:30120"

หมายถึงให้ Server Bind TCP ที่ Port 30120 บน Interface ที่กำหนด

⑩ endpoint_add_udp คืออะไร

ใช้สร้าง UDP Endpoint

ตัวอย่าง

endpoint_add_udp "0.0.0.0:30120"

FiveM Server Configuration มาตรฐานมักมีทั้ง TCP และ UDP Game Endpoint

⑪ 30120 คืออะไร

30120 เป็น Port ที่พบในตัวอย่าง Default FiveM Server

ตัวอย่าง

endpoint_add_tcp "0.0.0.0:30120"
endpoint_add_udp "0.0.0.0:30120"

แต่สามารถใช้ Port อื่นได้ถ้า Network และ Configuration ถูกต้อง

⑫ 30120 กับ 40120 ต่างกันอย่างไร

อย่าสับสน

30120
= FiveM Game Endpoint ที่ใช้กันทั่วไป
40120
= Default txAdmin Web Port

การเปิด Firewall ของ 30120 ไม่ได้แปลว่า txAdmin 40120 เปิดด้วย

⑬ 0.0.0.0 หมายความว่าอะไร

ใน Endpoint Configuration

0.0.0.0

ใช้สำหรับ Bind บน IPv4 Interfaces ตาม Network Configuration

ไม่ใช่ Public IP ที่ผู้เล่นต้องพิมพ์เพื่อเข้า Server

ผู้เล่นต้องใช้ Address ที่สามารถ Route มาถึง Server จริง

⑭ ต้องเปลี่ยน 0.0.0.0 เป็น Public IP ไหม

โดยทั่วไปไม่จำเป็น

เอกสาร Vanilla Server ของ Cfx.re ระบุว่าให้เปลี่ยน IP เฉพาะกรณี Server มี Network Interfaces หลายตัวและมีเหตุผลต้องเลือก Interface

สำหรับ Setup ปกติมักคง

0.0.0.0

ไว้แล้วเปลี่ยนเฉพาะ Port หากต้องการ

⑮ sv_hostname คืออะไร

ใช้กำหนดชื่อ Host ของ FiveM Server

ตัวอย่าง

sv_hostname "My FiveM Server"

ควรใช้ชื่อที่อ่านง่ายและตรงกับ Community

⑯ sv_projectName คืออะไร

ใช้ตั้งชื่อ Project/Community ที่แสดงใน Server Browser

รูปแบบปัจจุบันคือ

sets sv_projectName "My Community"

ควรเป็นชื่อ Project ไม่ใช่การยัด Keyword หรือ Tags จำนวนมาก

⑰ sv_projectDesc คืออะไร

ใช้กำหนดคำอธิบาย Project

ตัวอย่าง

sets sv_projectDesc "Thai roleplay community."

ควรเขียนเป็นคำอธิบายที่อ่านเข้าใจง่าย

⑱ sets คืออะไร

sets ใช้กำหนด Convar ที่ถูกแสดงเป็น Server Info

ตัวอย่าง

sets sv_projectName "My Server"
sets sv_projectDesc "FiveM roleplay community"
sets tags "roleplay, thai, economy"

จึงแตกต่างจาก Convar ที่ใช้ภายใน Server อย่างเดียว

⑲ set คืออะไร

set ใช้กำหนด Convar ฝั่ง Server

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

set my_config "value"

Server-side Resource สามารถอ่านค่าดังกล่าวได้ตามระบบ Convar

ไม่ควรใช้ setr โดยอัตโนมัติถ้าค่าไม่จำเป็นต้องส่งไป Client

⑳ setr คืออะไร

setr คือ Server Replicated Convar

ตัวอย่าง

setr my_setting true

หมายความว่าค่าดังกล่าวสามารถถูกอ่านจาก Client Scripts ด้วย

ดังนั้นอย่าใส่

  • Password

  • API Secret

  • Database Password

  • Private Token

ใน setr

เพราะแนวคิดของมันคือ Replicate ค่าไป Client

㉑ set, setr และ sets ต่างกันอย่างไร

จำง่าย ๆ

set
= Server-side Convar
setr
= Replicated ไป Client
sets
= Server Info ที่แสดงในข้อมูล Server

เลือกใช้ให้ตรงกับ Documentation ของ Resource

㉒ sv_maxclients คืออะไร

ใช้กำหนดจำนวน Client สูงสุดที่ Server รองรับตาม Configuration

ตัวอย่าง

sv_maxclients 32

เอกสาร Cfx.re ปัจจุบันระบุช่วงค่า 1–2048 แต่จำนวน Slot ที่ใช้งานได้จริงยังเกี่ยวข้องกับ OneSync และข้อกำหนดของ Platform

㉓ sv_maxclients ตั้ง 100 ได้เลยไหม

การพิมพ์

sv_maxclients 100

อย่างเดียวไม่ได้ทำให้ Server รองรับผู้เล่น 100 คนได้ดีทันที

ต้องดู

  • OneSync

  • Server Entitlements

  • CPU

  • RAM

  • Network

  • Framework

  • Resources

  • Database

ควบคู่กัน

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

เอกสาร Server Commands ปัจจุบันระบุว่า

  • ตั้งแต่ 32 Clients ขึ้นไป ต้องใช้ OneSync on หรือ legacy

  • มากกว่า 64 ต้องใช้ OneSync on

ดังนั้น Server จำนวนผู้เล่นสูงต้องวาง OneSync Configuration ให้ถูกต้องด้วย

㉕ sv_licenseKey คืออะไร

ใช้กำหนด Cfx.re Server Registration Key

ตัวอย่าง

sv_licenseKey "YOUR_SERVER_KEY"

Key นี้ได้จาก Cfx Portal

ควรถือเป็นข้อมูลสำคัญของ Server

㉖ ห้ามเปิดเผย Server Key

อย่าโพสต์ server.cfg ทั้งไฟล์ลง

  • Facebook

  • Discord Public

  • GitHub Public

  • Forum

  • Screenshot

หากมี

sv_licenseKey "REAL_KEY_HERE"

อยู่

ก่อนแชร์ Config ให้แทนด้วย

sv_licenseKey "REDACTED"

㉗ Database Password ก็ต้องระวัง

Framework บางตัวกำหนด Database Connection String ผ่าน Config

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

set mysql_connection_string "..."

ข้อมูลอาจมี

Database Host
Username
Password
Database Name

จึงไม่ควรเผยแพร่ server.cfg เต็มไฟล์โดยไม่ตรวจ Secrets

㉘ Discord Token หรือ API Key ก็เช่นกัน

Custom Resources อาจให้ใส่

Discord Bot Token
API Token
Webhook
Secret

ใน Configuration

ควรเก็บ Secret ให้เหมาะสมและหลีกเลี่ยงการ Commit ลง Public Repository

㉙ ensure คืออะไร

ensure เป็นคำสั่งสำหรับทำให้ Resource อยู่ในสถานะ Running

ตัวอย่าง

ensure chat
ensure spawnmanager
ensure my_resource

ถ้า Resource ยังไม่ทำงาน → Start

ถ้ากำลังทำงานอยู่และเรียก ensure → ระบบสามารถ Restart Resource ตามพฤติกรรมคำสั่ง

㉚ ทำไม server.cfg ใช้ ensure เยอะ

เพราะตอน FXServer Start ต้องรู้ว่า Resource ใดควรเปิด

ตัวอย่าง

ensure oxmysql
ensure framework
ensure inventory
ensure garage

ลำดับของ Resources ที่มี Dependency ต่อกันอาจมีความสำคัญ

㉛ Dependency ต้องเรียงอย่างไร

ตัวอย่าง

Database Library
↓
Framework Core
↓
Inventory
↓
Jobs

Configuration อาจเป็น

ensure oxmysql
ensure framework
ensure inventory
ensure policejob

ถ้า policejob ต้องใช้ Framework แต่ Framework ไม่พร้อม Resource อาจ Error

㉜ Category Folder ใช้กับ ensure ได้ไหม

FiveM รองรับ Resource Categories เช่น

resources/
└── [jobs]/

ภายในมี Resources หลายตัว

สามารถใช้ Configuration ตามรูปแบบที่ FXServer รองรับเพื่อจัดการ Resource Groups ได้

แต่ Production Server ควรจัดลำดับ Dependency ให้ชัดเจน

㉝ start กับ ensure ต่างกันอย่างไร

start ใช้ Start Resource

ส่วน ensure ถูกออกแบบให้ Resource อยู่ในสถานะ Started ไม่ว่าจะก่อนหน้านี้เป็นอย่างไร

สำหรับ server.cfg จึงมักพบ

ensure resource_name

มากกว่า start

㉞ restart ควรอยู่ใน server.cfg ไหม

โดยทั่วไป Configuration ตอน Startup ควรเน้น

ensure

เพราะเป้าหมายคือทำให้ Resource Running

restart เหมาะกับการสั่ง Resource ที่กำลัง Running อยู่ผ่าน Console ระหว่างการดูแล Serverมากกว่า

㉟ exec permissions.cfg คืออะไร

สามารถแยก ACE Permission ไปเก็บไฟล์อื่น

ตัวอย่างใน server.cfg

exec permissions.cfg

แล้วใน permissions.cfg

add_ace group.admin command allow

ช่วยทำให้ไฟล์หลักอ่านง่ายขึ้น

㊱ add_ace คืออะไร

ใช้เพิ่ม Access Control Entry หรือ ACE

รูปแบบ

add_ace [principal] [object] [allow|deny]

ตัวอย่าง

add_ace group.admin command.example allow

หมายถึงอนุญาต group.admin ใช้ Object/Permission ที่กำหนด

㊲ add_principal คืออะไร

ใช้กำหนด Principal ให้สืบทอด Permission จาก Principal อื่น

ตัวอย่าง

add_principal identifier.license:xxxxxxxx group.admin

แนวคิดคือ

Player Identifier
↓
อยู่ใน group.admin
↓
รับ ACE ของ group.admin

㊳ ACE Permission กับ txAdmin Permission เหมือนกันไหม

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

ACE

ใช้ระบบ Access Control ของ FXServer/Resources

ตัวอย่าง

add_ace
add_principal

txAdmin Permission

ใช้ควบคุมความสามารถภายใน txAdmin เช่น

players.ban
console.write
control.server
manage.admins

อย่าสับสนสองระบบนี้

㊴ load_server_icon คืออะไร

ใช้โหลด Server Icon

ตัวอย่าง

load_server_icon myLogo.png

ไฟล์ต้องอยู่ในตำแหน่งที่ Server สามารถเข้าถึงได้ตาม Configuration

รายละเอียดขนาดและรูปแบบควรตรวจข้อกำหนดปัจจุบันก่อนสร้าง Icon

㊵ sets tags คืออะไร

ใช้กำหนด Tags ของ Server

ตัวอย่างจากแนวทาง Cfx.re

sets tags "roleplay, cars, racing"

Tags ช่วยอธิบายประเภท Server ในข้อมูล Server Browser

ควรใช้คำที่ตรงกับ Server จริง

㊶ sv_scriptHookAllowed คืออะไร

Configuration

sv_scriptHookAllowed 0

ควบคุมการอนุญาต Script Hook-based Plugins บางประเภท

เอกสาร Cfx.re ระบุว่าการเปิด Script Hook ไม่แนะนำในแง่ Security

สำหรับ Server ทั่วไปจึงควรเข้าใจความเสี่ยงก่อนเปลี่ยนเป็นเปิด

㊷ sv_lan คืออะไร

sv_lan เป็น Boolean Convar

ถ้าตั้ง

sv_lan true

Server จะเป็น LAN-only ตามพฤติกรรมที่ Cfx.re ระบุ และจะไม่แสดงใน Public Server List

จึงไม่ควรเปิดโดยไม่ตั้งใจบน Production Server ที่ต้องการให้คนภายนอกเข้า

㊸ sv_endpointPrivacy คืออะไร

ใช้ควบคุมการซ่อน Player IP Addresses จาก Public Reports ของ Server

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

sv_endpointPrivacy true

เหมาะกับการพิจารณาด้าน Privacy

ควรอ่าน Documentation ปัจจุบันก่อนปรับค่าระบบ Network/Security

㊹ server.cfg ผิดแล้ว Server เปิดไม่ได้ได้อย่างไร

ตัวอย่างปัญหา

Port ถูกใช้งาน
Syntax/Command ผิด
Resource ไม่มี
Config Resource ผิด
ACE ผิด
Database String ผิด
Server Key ผิด

บาง Error อาจไม่ทำให้ FXServer ปิดทั้งหมด แต่ทำให้ Resource หรือ Feature บางส่วนใช้งานไม่ได้

㊺ วิธีหา Error ใน server.cfg

เปิด txAdmin Live Console แล้วดูช่วง Server Startup

ค้นหา

Error
Warning
Couldn't
Failed
Unknown command
Resource

ถ้าเพิ่งแก้ Config ให้ดู Error แรกหลัง Restart

ไม่ควรแก้หลายสิบบรรทัดพร้อมกันโดยไม่รู้ว่าจุดไหนเป็นต้นเหตุ

㊻ แก้ server.cfg ผ่าน txAdmin ได้ไหม

ได้

txAdmin มี CFG Editor/Validator สำหรับจัดการ Server Configuration ตาม Permission

Permission ที่เกี่ยวข้องคือ

server.cfg.editor

จึงไม่ควรให้ Staff ทุกคนมีสิทธิ์แก้ไฟล์นี้

㊼ ควร Backup server.cfg ก่อนแก้ไหม

ควร

โดยเฉพาะก่อน

  • เปลี่ยน Port

  • เปลี่ยน Framework

  • เพิ่ม Resources จำนวนมาก

  • แก้ ACE

  • ย้าย Server

  • เปลี่ยน Database

  • Maintenance ใหญ่

ตัวอย่าง

server.cfg
server.cfg.backup-2026-08-22

ทำให้ย้อนกลับได้ง่าย

㊽ ตัวอย่าง server.cfg แบบพื้นฐาน

ตัวอย่างสำหรับทำความเข้าใจโครงสร้างเท่านั้น

# Network
endpoint_add_tcp "0.0.0.0:30120"
endpoint_add_udp "0.0.0.0:30120"

# Server information
sv_hostname "My FiveM Server"
sets sv_projectName "My FiveM Project"
sets sv_projectDesc "My FiveM community"
sets tags "roleplay, thai"

# Players
sv_maxclients 32

# Resources
ensure mapmanager
ensure chat
ensure spawnmanager
ensure sessionmanager

# Server registration
sv_licenseKey "YOUR_SERVER_KEY"

Server จริงอาจมี Configuration เพิ่มอีกจำนวนมากตาม Framework และ Resources

㊾ Checklist ตรวจ server.cfg

ก่อนเปิด Production Server ตรวจ

endpoint_add_tcp ถูก
endpoint_add_udp ถูก
Port ไม่ชน
sv_hostname ถูก
sv_projectName ถูก
sv_projectDesc ถูก
sv_maxclients ถูก
Server Key ถูก
ไม่เปิดเผย Secrets
Resources เรียง Dependency ถูก
ensure Resource ครบ
Database Config ถูก
ACE Permission ถูก
exec Files อยู่จริง
ไม่มี Config เก่าซ้ำ
Backup server.cfg แล้ว

จากนั้น Restart Server แล้วอ่าน Console ตั้งแต่ Startup

㊿ สรุป server.cfg FiveM คืออะไร

server.cfg คือไฟล์ Configuration หลักที่ FXServer สามารถ Execute ตอนเปิด FiveM Server

ภายในมักใช้ตั้งค่า

Network
↓
Server Information
↓
Player Slots
↓
Server Key
↓
Resources
↓
Convars
↓
Permissions
↓
Additional Config Files

คำสั่งสำคัญที่ควรรู้ ได้แก่

endpoint_add_tcp
endpoint_add_udp
sv_hostname
sets
set
setr
sv_maxclients
sv_licenseKey
ensure
exec
add_ace
add_principal
load_server_icon

สิ่งสำคัญที่สุดคืออย่ามอง server.cfg เป็นเพียงไฟล์ข้อความธรรมดา เพราะแต่ละบรรทัดคือ Command หรือ Configuration ที่สามารถเปลี่ยนพฤติกรรมของ Server ได้

สำหรับ Production Server comsiam แนะนำให้แยก Configuration ตามหน้าที่ เช่น

server.cfg
permissions.cfg
resources.cfg

เมื่อ Server เริ่มใหญ่ขึ้น เพื่อให้อ่านและ Debug ง่าย

อีกเรื่องที่ต้องระวังคือ Secrets โดยเฉพาะ

Server Registration Key
Database Password
API Keys
Tokens

ก่อนส่ง server.cfg ให้ผู้อื่นหรือโพสต์ถามปัญหาควรปิดบังข้อมูลเหล่านี้ทุกครั้ง

เมื่อเข้าใจว่า server.cfg ทำงานอย่างไรและรู้ความแตกต่างระหว่าง ensure, exec, set, setr, sets, ACE และ Endpoint ผู้ดูแล FiveM Server ของ comsiam จะสามารถปรับแต่ง Server ได้เป็นระบบ และหาต้นเหตุได้เร็วขึ้นเมื่อ Server เปิดไม่ได้หรือ Resource มีปัญหา

Comments

Popular posts from this blog

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

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

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