FiveM ConVar คืออะไร? วิธีใช้ set, setr, sets และตั้งค่าตัวแปร Server

 FiveM ConVar หรือ Console Variable คือค่าตัวแปร Configuration ที่สามารถกำหนดและอ่านค่าได้จาก FXServer, server.cfg, Server Console หรือ Resources โดย Cfx.re แบ่ง ConVar หลักออกเป็น Standard ConVar, Server Replicated ConVar และ Server Information ConVar ซึ่งใช้คำสั่ง set, setr และ sets แตกต่างกัน.

การเข้าใจ ConVar สำคัญสำหรับคนดูแล FiveM Server เพราะ Resources จำนวนมากใช้ ConVar เป็นตัวกำหนด Feature, Mode, API Configuration, Server Information หรือค่าที่ Client จำเป็นต้องอ่าน โดยไม่ต้องแก้ Source Code ของ Resource ทุกครั้ง

Meta SEO

Meta Title: FiveM ConVar คืออะไร? วิธีใช้ set, setr, sets และตั้งค่า Server

Meta Description: อธิบาย FiveM ConVar แบบละเอียด วิธีใช้ set, setr, sets ใน server.cfg ต่างกันอย่างไร วิธีอ่านค่าด้วย GetConvar พร้อมตัวอย่างและวิธีแก้ ConVar ไม่ทำงาน

Focus Keyword: FiveM ConVar

Related Keywords: FiveM set, FiveM setr, FiveM sets, FiveM server.cfg, FiveM configuration, GetConvar

① FiveM ConVar คืออะไร

ConVar ย่อมาจาก Console Variable

Cfx.re อธิบายว่า ConVar คือ Configuration Variable ที่สามารถกำหนดและอ่านค่าได้จาก Resources และยังสามารถจัดการผ่าน Server Console หรือ RCON ได้ด้วย.

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

set my_server_mode "roleplay"

Resource ฝั่ง Server สามารถอ่านค่า my_server_mode แล้วนำไปใช้กำหนดพฤติกรรมของระบบได้

② ConVar ใช้ทำอะไรใน FiveM

ConVar เหมาะกับค่าที่ต้องการเปลี่ยนโดยไม่แก้ Source Code โดยตรง เช่น

  • เปิดหรือปิด Feature

  • ตั้ง Environment

  • กำหนดชื่อระบบ

  • ตั้งค่า Resource

  • ส่งค่าบางประเภทไป Client

  • แสดงข้อมูลบางอย่างของ Server

  • กำหนด Configuration ระดับ FXServer

Official Vanilla server.cfg ของ Cfx.re เองก็มีตัวอย่าง ConVar เช่น set temp_convar, set onesync on และ sets tags.

③ FiveM มี ConVar กี่ประเภทหลัก

ตาม Cfx.re Documentation มีประเภทหลักที่ควรเข้าใจ 3 แบบ:

  1. Standard ConVar

  2. Server Replicated ConVar

  3. Server Information ConVar

แต่ละประเภทใช้คำสั่งต่างกันและมีขอบเขตการเข้าถึงต่างกัน.

④ set คืออะไร

set ใช้สร้างหรือกำหนด Standard ConVar

รูปแบบ:

set convar_name convar_value

ตัวอย่าง:

set server_mode "roleplay"

ถ้าค่ามีช่องว่างสามารถใส่เครื่องหมายคำพูดครอบค่าได้ เช่น:

set welcome_message "Welcome to my FiveM server"

Cfx.re ระบุรูปแบบการใช้งานดังกล่าวไว้ใน ConVars Documentation โดยตรง.

⑤ Standard ConVar อ่านจาก Client ได้ไหม

โดยตรงตาม ConVars Documentation Standard ConVar ใช้กับ Server-side Scripts และไม่สามารถอ่านหรือกำหนดจาก Client Script ได้.

ดังนั้นหาก Client ต้องอ่านค่าด้วย ควรพิจารณาว่าค่านั้นเหมาะกับ Server Replicated ConVar หรือไม่

⑥ setr คืออะไร

setr ใช้สร้าง Server Replicated ConVar

รูปแบบ:

setr convar_name convar_value

ตัวอย่าง:

setr my_feature true

Cfx.re ระบุว่า Replicated ConVar สามารถถูกอ่านได้จากทั้ง Server และ Client แต่การเปลี่ยนค่าทำจากฝั่ง Server.

⑦ set กับ setr ต่างกันอย่างไร

จำง่ายๆ:

set

ใช้ค่าที่ต้องการให้อยู่ฝั่ง Server

setr

ใช้ค่าที่ต้องการให้ Client สามารถอ่านได้ด้วย

Standard ConVar ไม่สามารถอ่านจาก Client Scripts โดยตรง ขณะที่ Server Replicated ConVar ถูก Sync เพื่อให้ Client อ่านค่าได้.

⑧ ตัวอย่างการใช้ setr จริงใน FiveM

Cfx.re มีตัวอย่างการปิด Custom Crosshair จาก Server ด้วย:

setr cl_customCrosshair false

Documentation ระบุว่าคำสั่งนี้ตั้ง cl_customCrosshair เป็น Replicated ConVar ค่า false.

นี่เป็นตัวอย่างชัดเจนว่า setr เหมาะเมื่อ Server ต้องส่ง Configuration ให้ Client รับรู้

⑨ sets คืออะไร

sets ใช้สร้าง Server Information ConVar

รูปแบบ:

sets convar_name "value"

Cfx.re ระบุว่าชื่อและค่าของ Information ConVar สามารถปรากฏใน Server Connect Details, Server List และข้อมูล Server Info.

ดังนั้นอย่าใช้ sets กับข้อมูลลับ

⑩ ตัวอย่าง sets ที่พบใน server.cfg

Official Vanilla server.cfg มีตัวอย่าง:

sets tags "default"
sets locale "root-AQ"
sets sv_projectName "My FXServer Project"
sets sv_projectDesc "Default FXServer requiring configuration"

ค่าพวกนี้ใช้เป็นข้อมูล Server และ Configuration ที่เกี่ยวข้องกับการแสดงรายละเอียดของ Server.

⑪ set, setr, sets จำอย่างไรให้ง่าย

คำสั่งใช้กับClient อ่านได้เหมาะกับ
setStandard ConVarไม่Config ฝั่ง Server
setrReplicated ConVarได้Config ที่ Client ต้องอ่าน
setsServer Informationไม่ควรใช้กับ Secretข้อมูล Server

ความแตกต่างหลักอ้างอิงตาม ConVars Documentation ของ Cfx.re.

⑫ ConVar ใส่ใน server.cfg ได้ไหม

ได้

Official Vanilla server.cfg ใช้ทั้ง set และ sets อยู่ใน Config โดยตรง เช่น:

set temp_convar "hey world!"
set onesync on
sets tags "default"

ดังนั้น server.cfg เป็นหนึ่งในจุดหลักสำหรับจัด Configuration ประเภท ConVar.

⑬ ตั้ง ConVar ผ่าน Server Console ได้ไหม

ได้

Cfx.re ระบุว่า ConVar สามารถกำหนดจาก Server Console ได้ เช่น:

set convar_name value

และสามารถพิมพ์ชื่อ ConVar ใน Console เพื่อดูค่าปัจจุบันได้.

เหมาะสำหรับการทดสอบก่อนนำค่าไปใส่ใน server.cfg

⑭ วิธีดูค่า ConVar ใน Console

ถ้ามี:

set server_mode "roleplay"

สามารถพิมพ์:

server_mode

ใน Server Console

Cfx.re ระบุว่า Console จะแสดงค่าของ ConVar รวมถึงข้อมูลประเภทค่า หาก ConVar นั้นมีอยู่.

⑮ ถ้าพิมพ์ชื่อ ConVar แล้วขึ้น No such command

หาก ConVar ยังไม่ได้ถูกสร้าง Cfx.re ระบุว่า Console สามารถตอบกลับลักษณะ:

No such command convar_name.

ได้.

ให้ตรวจว่า

  • ชื่อสะกดถูกหรือไม่

  • Config ถูก Execute หรือไม่

  • Resource ที่สร้าง ConVar Start แล้วหรือไม่

⑯ Resource อ่าน Standard ConVar อย่างไร

ใน Lua สามารถใช้:

local value = GetConvar("server_mode", "default")

Cfx.re ระบุว่า GetConvar ต้องมี Default Value และหาก ConVar ยังไม่ถูกตั้ง ระบบจะคืนค่า Default ที่ระบุ.

นี่ช่วยให้ Resource มีค่ารองรับแม้ Admin ยังไม่ได้กำหนด ConVar

⑰ GetConvar Default Value สำคัญอย่างไร

ตัวอย่าง:

local mode = GetConvar("server_mode", "normal")

ถ้าไม่มี server_mode

ค่าที่ Resource ได้คือ:

normal

ตามพฤติกรรมของ GetConvar ที่ Cfx.re ระบุ.

จึงควรเลือก Default Value ที่ปลอดภัยและสมเหตุสมผล

⑱ อ่าน ConVar ที่เป็นตัวเลขอย่างไร

Cfx.re รองรับ:

local value = GetConvarInt("max_items", 10)

GetConvarInt เหมาะเมื่อแน่ใจว่าค่าเป็น Integer และ Parameter ที่สองเป็น Default Value เช่นเดียวกัน.

⑲ Resource ตั้ง Standard ConVar ได้ไหม

ได้

Cfx.re ระบุ Native:

SetConvar("convar_name", "value")

สำหรับกำหนด Standard ConVar จาก Resource ฝั่ง Server.

ตัวอย่าง:

SetConvar("server_status", "online")

⑳ Resource ตั้ง Replicated ConVar ได้อย่างไร

ใช้:

SetConvarReplicated("convar_name", "value")

Cfx.re ระบุว่า Function นี้ใช้กำหนด Server Replicated ConVar จาก Server Script.

จากนั้น Client สามารถอ่านค่า Replicated ConVar ด้วย GetConvar.

㉑ Client เปลี่ยน setr ได้ไหม

Replicated ConVar ถูกออกแบบให้ Server เป็นผู้เปลี่ยนค่า ส่วน Client อ่านค่าได้ ตาม Documentation ของ Cfx.re.

ดังนั้นอย่าออกแบบ Security Logic โดยสมมติว่า Client ควรเป็นผู้กำหนด Configuration สำคัญของ Server

㉒ ข้อมูลลับควรใส่ setr ไหม

โดยหลัก ไม่ควรส่ง Secret ให้ Client

เพราะ Replicated ConVar ถูกออกแบบให้ Client อ่านค่าได้.

ข้อมูลอย่าง

  • Secret Key

  • Private Token

  • Database Password

  • Credentials

ไม่ควรถูก Replicate ให้ Client

㉓ ข้อมูลลับควรใส่ sets ไหม

ไม่ควร

Server Information ConVar ถูกออกแบบให้ข้อมูลสามารถปรากฏใน Server Information และ Server List/Connect Details.

ดังนั้น sets ควรใช้กับข้อมูลที่ตั้งใจเปิดเผยเท่านั้น

㉔ API Key ควรใช้ ConVar แบบไหน

คำตอบขึ้นกับว่า Resource และบริการนั้นออกแบบอย่างไร แต่หากเป็น Secret ที่ไม่ควรถึง Client ต้องหลีกเลี่ยง setr และ sets

ควรเก็บค่าฝั่ง Server และจำกัดการเข้าถึง Resource ตามความจำเป็น

Cfx.re ยังมีระบบ add_convar_permission สำหรับจำกัด Resource ที่สามารถเข้าถึง ConVar บางตัวได้.

㉕ add_convar_permission คืออะไร

Cfx.re Sandbox Documentation ระบุว่า Server Owner สามารถจำกัดการอ่าน ConVar ให้เฉพาะ Resource ที่กำหนดได้ด้วย:

add_convar_permission resourceA read some_convar_name

โดยปกติ Resources สามารถอ่าน ConVars ได้ แต่เมื่อ ConVar มี Permission กำหนดแล้ว จะจำกัดให้เฉพาะ Resources ที่ได้รับอนุญาตเข้าถึง.

㉖ ทำไม ConVar Permission สำคัญ

Server ที่มี Third-party Resources จำนวนมากไม่ควรสมมติว่าทุก Resource ต้องอ่าน Configuration ทุกตัวได้

หาก ConVar มีข้อมูลที่ต้องจำกัด การใช้ add_convar_permission สามารถลดขอบเขตการเข้าถึงได้ตามระบบ Sandbox ปัจจุบันของ Cfx.re.

㉗ อย่าให้ Resource ที่ไม่เชื่อถือเข้าถึงข้อมูลสำคัญ

Cfx.re เตือนว่าการให้ Permission เพิ่มแก่ Resources สามารถมีความเสี่ยงหากใช้ผิด และควรให้ Permission เฉพาะ Resources ที่เชื่อถือได้.

ดังนั้นก่อนติดตั้ง Resource ใหม่ควรตรวจทั้ง Source, Permission และ Configuration ที่ Resource ต้องการ

㉘ ConVar กับ config.lua ต่างกันอย่างไร

ConVar

เหมาะกับ Configuration ที่กำหนดจาก Server Environment, Console หรือ server.cfg และ Resource สามารถอ่านได้ผ่าน API

config.lua

เป็นไฟล์ภายใน Resource ที่ Developer กำหนดโครงสร้างเอง

ConVar มีข้อดีตรงที่สามารถเปลี่ยน Environment Configuration ได้โดยไม่จำเป็นต้องแก้ Resource Source File โดยตรง

㉙ เมื่อไหร่ควรใช้ ConVar

เหมาะกับค่าประเภท:

  • เปิด/ปิด Feature

  • Server Mode

  • Environment Name

  • Debug Mode

  • Resource Behavior

  • Config ที่ Hosting ต้องเปลี่ยน

  • ค่า Server-wide

โดยเฉพาะ Resource ที่ต้องใช้ Configuration ต่างกันระหว่าง Development และ Production

㉚ เมื่อไหร่ควรใช้ set

ใช้เมื่อค่า:

  • ต้องใช้ฝั่ง Server

  • Client ไม่จำเป็นต้องรู้

  • ไม่ต้องแสดงใน Server Info

ตัวอย่าง:

set my_resource_debug false

Standard ConVars ถูกจำกัดการใช้งานไว้ฝั่ง Server ตาม Cfx.re Documentation.

㉛ เมื่อไหร่ควรใช้ setr

ใช้เมื่อ Server ต้องกำหนดค่าและ Client Resource ต้องอ่านค่าเดียวกัน

ตัวอย่างจาก Cfx.re:

setr cl_customCrosshair false

ซึ่งทำให้ค่าดังกล่าวถูก Replicate ให้ Client.

㉜ เมื่อไหร่ควรใช้ sets

ใช้กับข้อมูลที่ตั้งใจให้เป็น Server Information

เช่นข้อมูลที่ต้องการแสดงให้ผู้เล่นเห็น

Cfx.re ระบุว่า Server Information ConVar สามารถปรากฏใน Connect Details, Server List และ Server Info Data.

㉝ ConVar เปลี่ยนจาก Console แล้วต้อง Restart Server ไหม

ConVar บางตัวสามารถเปลี่ยนผ่าน Console ระหว่าง Server Running ได้ แต่ผลของค่าต่อ Resource ขึ้นกับว่า Resource อ่านค่าเมื่อใด

ตัวอย่างเช่น Resource อาจอ่าน ConVar เพียงครั้งเดียวตอน Start

ดังนั้นหากเปลี่ยนค่าแล้ว Resource ยังใช้ค่าเดิม อาจต้อง Restart Resource ตาม Implementation ของ Resource

FXServer รองรับ restart resourceName และ ensure resourceName สำหรับ Resource Lifecycle.

㉞ แก้ ConVar ใน server.cfg แล้วค่าไม่เปลี่ยน

ตรวจ:

  1. แก้ server.cfg ของ Profile ถูกหรือไม่

  2. FXServer Execute Config นั้นหรือไม่

  3. มี Config อื่นเขียนทับค่าภายหลังหรือไม่

  4. Resource อ่านค่าตอนไหน

  5. Restart Resource/Server ตามความจำเป็น

Official Vanilla Setup ใช้ FXServer.exe +exec server.cfg เพื่อโหลด Config.

㉟ Config หลายไฟล์เขียนทับ ConVar กันได้ไหม

FXServer รองรับ exec เพื่อโหลด Config Files เพิ่มเติม และ Commands จะทำงานตามลำดับที่ถูก Execute.

ดังนั้นหาก:

set server_mode "production"
exec development.cfg

แล้วใน development.cfg มีการกำหนด server_mode อีกครั้ง ค่าที่ถูกตั้งภายหลังสามารถเปลี่ยนค่าที่ใช้งานได้

จึงควรจัด Config Order ให้ชัดเจน

㊱ ConVar ควรตั้งชื่ออย่างไร

ควรใช้ชื่อที่อ่านแล้วรู้ว่าเป็นของระบบอะไร เช่น:

myresource_debug
myresource_locale
myresource_mode

หลีกเลี่ยงชื่อกว้างเกินไป เช่น:

mode
debug
value

เพราะเมื่อ Server มี Resources จำนวนมากจะหาเจ้าของ Configuration ได้ยาก

㊲ ใช้ Prefix ตามชื่อ Resource ดีไหม

ดีในด้านการจัดการ เช่น:

garage_debug
garage_locale
garage_maxVehicles

จะเข้าใจง่ายกว่า:

debug
language
max

โดยเฉพาะเมื่อเปิด server.cfg ที่มี Configuration หลาย Resources

㊳ Boolean ConVar ควรระวังอะไร

ค่า ConVar โดยพื้นฐานถูกจัดการเป็นข้อความในหลาย API ดังนั้น Resource Developer ควร Parse ค่าให้ถูกประเภทตามการใช้งาน

ตัวอย่าง:

set myresource_debug true

Resource ควรมี Logic ที่ตีความ "true" ตามรูปแบบของ Script นั้น ไม่ควรสมมติว่าทุก API คืนค่า Boolean Object โดยอัตโนมัติ

㊴ ตัวเลขควรใช้ GetConvarInt เมื่อเหมาะสม

ถ้าค่าเป็น Integer จริง เช่น:

set myresource_limit 20

สามารถใช้:

local limit = GetConvarInt("myresource_limit", 10)

Cfx.re มี GetConvarInt สำหรับกรณี Integer โดยเฉพาะ.

㊵ ConVar ไม่ทำงานเพราะสะกดชื่อผิด

ตัวอย่าง Config:

set myresource_debug true

แต่ Script อ่าน:

GetConvar("my_resource_debug", "false")

นี่คือคนละชื่อกัน

ตรวจตัวอักษร, _, Prefix และ Spelling ให้ตรงกันก่อนแก้ FXServer

㊶ ConVar ไม่ทำงานเพราะใช้ set แทน setr

ถ้า Client Script ต้องอ่านค่า แต่ Admin ใช้ Standard:

set my_option true

Client จะไม่สามารถใช้ Standard ConVar ตามรูปแบบที่ Replicated ConVar ออกแบบไว้

ถ้าค่านั้นเหมาะสมและปลอดภัยที่จะส่งให้ Client จึงพิจารณา:

setr my_option true

Cfx.re แยก Standard และ Replicated ConVar ตามขอบเขตการเข้าถึงดังกล่าว.

㊷ ConVar ไม่ทำงานเพราะ Resource อ่านก่อนตั้งค่า

หาก Resource Start ก่อน Configuration ที่จำเป็นถูก Execute อาจทำให้ Resource อ่าน Default Value แทนค่าที่ต้องการ

จึงควรจัด server.cfg ให้ Configuration ที่ Resource ต้องการอยู่ในตำแหน่งและลำดับที่เหมาะสมก่อน ensure resourceName เมื่อ Resource อ่านค่าตอน Start

㊸ ตัวอย่างจัด server.cfg สำหรับ Resource

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

set myresource_debug false
set myresource_locale "th"

ensure myresource

โครงสร้างแบบนี้ทำให้ Configuration ถูกกำหนดก่อน Resource Start

แต่ลำดับจริงควรอ้างอิง Documentation ของ Resource นั้น

㊹ ตัวอย่าง Replicated ConVar

setr myresource_uiEnabled true

ensure myresource

Resource ฝั่ง Client สามารถอ่าน Replicated ConVar ได้ผ่าน GetConvar ตามระบบของ Cfx.re.

อย่าใช้วิธีนี้กับข้อมูลลับ

㊺ ตัวอย่าง Information ConVar

sets Community "My FiveM Community"

Cfx.re ยกตัวอย่าง Server Information ConVar ว่าสามารถใช้ข้อมูลอย่างชื่อ Community หรือรายละเอียดที่ต้องการแสดงเกี่ยวกับ Server ได้.

ค่าประเภทนี้ควรเป็นข้อมูล Public

㊻ Debug ConVar อย่างไรให้เร็ว

ใช้ลำดับ:

  1. ดู server.cfg

  2. ตรวจ set / setr / sets

  3. ตรวจชื่อ ConVar

  4. พิมพ์ชื่อ ConVar ใน Server Console

  5. ดูค่าปัจจุบัน

  6. ตรวจ Resource ใช้ GetConvar ชื่อเดียวกันหรือไม่

  7. ตรวจ Default Value

  8. Restart Resource หาก Resource อ่านค่าตอน Start

  9. ตรวจ Config อื่นที่อาจเขียนทับ

Cfx.re รองรับทั้งการกำหนดและดูค่า Standard ConVar จาก Server Console.

㊼ ConVar กับ Console Commands เกี่ยวข้องกันอย่างไร

Cfx.re ระบุว่า Server Console Commands สามารถ Execute จาก Console, RCON, Configuration File หรือ Resource ที่มี ACL Permission เหมาะสม.

ดังนั้น ConVar จึงเป็นส่วนหนึ่งของระบบ Configuration ที่เชื่อมกันระหว่าง

Console → server.cfg → Resource

㊽ Resource ใช้ ExecuteCommand ตั้ง ConVar ได้ไหม

Cfx.re ระบุว่าสามารถใช้ ExecuteCommand() เพื่อเรียก Command สำหรับ ConVar ได้ แต่ Resource ต้องมี ACE Permission เช่น command.set ตามกรณีการใช้งาน.

อีกทางคือใช้ Native อย่าง SetConvar โดยตรง

สำหรับ Developer การใช้ API ที่เหมาะกับงานมักอ่าน Code ได้ชัดกว่า Execute Command String โดยไม่จำเป็น

㊾ ควรเก็บ Password ใน Server Information ConVar ไหม

ไม่ควร

เพราะ Information ConVar ถูกออกแบบให้ค่าปรากฏในข้อมูล Server ที่เปิดเผยแก่ผู้ใช้.

ข้อมูลลับควรอยู่ฝั่ง Server และต้องจำกัดสิทธิ์ตามความเหมาะสม

㊿ Checklist FiveM ConVar สำหรับ Server Owner

ก่อนใช้งานตรวจว่า:

  1. เลือก set, setr หรือ sets ถูกประเภท

  2. ชื่อ ConVar สะกดตรงกับ Resource

  3. มี Default Value ใน Script

  4. ไม่ Replicate Secret

  5. ไม่ใส่ Secret ใน Server Information

  6. Config ถูก Execute

  7. Resource Start หลัง Config ตามที่ Resource ต้องการ

  8. ตรวจค่าผ่าน Console

  9. ตรวจ Config ที่อาจเขียนทับ

  10. จำกัด Permission หาก ConVar มีความสำคัญ

  11. Restart Resource เมื่อ Implementation ต้องอ่านค่าใหม่

  12. Backup Config ก่อนแก้ชุดใหญ่

ตาราง FiveM ConVar สำหรับมือใหม่

ต้องการทำอะไรคำสั่ง
Config เฉพาะ Serverset
Client ต้องอ่านด้วยsetr
แสดงข้อมูล Serversets
อ่าน String ใน ScriptGetConvar()
อ่าน IntegerGetConvarInt()
ตั้งจาก ScriptSetConvar()
ตั้ง Replicated จาก ScriptSetConvarReplicated()
จำกัด Resource ที่อ่าน ConVaradd_convar_permission

ความสามารถเหล่านี้มีอยู่ใน ConVars และ Sandbox Documentation ของ Cfx.re ปัจจุบัน.

FAQ FiveM ConVar

FiveM ConVar กับ server.cfg เหมือนกันไหม

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

server.cfg คือไฟล์ Configuration ที่สามารถบรรจุ Commands หลายประเภท ส่วน ConVar คือค่าตัวแปร Configuration ที่สามารถกำหนดจาก Config, Console หรือ Resources ได้

Official Vanilla Config ของ Cfx.re ใช้ ConVars อยู่ภายใน server.cfg หลายตัว.

FiveM set กับ setr ต่างกันอย่างไร

set เป็น Standard ConVar ฝั่ง Server ส่วน setr เป็น Server Replicated ConVar ที่ Client สามารถอ่านได้ แต่ Server เป็นผู้เปลี่ยนค่า.

FiveM sets ใช้ทำอะไร

sets ใช้สร้าง Server Information ConVar ซึ่งสามารถปรากฏใน Server Information, Connect Details และ Server List ได้.

ทำไม GetConvar ได้ค่า Default ตลอด

ให้ตรวจว่า ConVar ถูกตั้งจริงหรือไม่ ชื่อสะกดตรงกันหรือไม่ และ Config ถูก Execute ก่อน Resource อ่านค่าหรือไม่

GetConvar จะคืน Default Value ที่ระบุเมื่อ ConVar ยังไม่ได้ถูกกำหนด.

Client อ่าน ConVar ที่ใช้ set ได้ไหม

Standard ConVar ถูกจำกัดไว้ฝั่ง Server ตาม Documentation หาก Client จำเป็นต้องอ่านและข้อมูลนั้นปลอดภัยที่จะเปิดเผย ให้พิจารณา Replicated ConVar.

ConVar เก็บ Secret ได้ไหม

ควรระวังอย่างมาก โดยเฉพาะ setr ที่ Client อ่านได้และ sets ที่เป็น Server Information ไม่ควรใช้เก็บข้อมูลลับ.

ConVar จำกัดให้ Resource บางตัวอ่านได้ไหม

ได้ Cfx.re มี add_convar_permission สำหรับจำกัดการอ่าน ConVar ให้ Resource ที่ได้รับอนุญาต.

สรุปสำคัญ

FiveM ConVar คือระบบ Configuration Variable ของ FXServer ที่ช่วยให้ Server Owner และ Developer กำหนดค่าจาก server.cfg, Console หรือ Resources ได้โดยไม่จำเป็นต้อง Hard-code ทุกค่าลงใน Script

สิ่งที่ต้องจำให้แม่นคือ:

set = Server

setr = Server กำหนด + Client อ่าน

sets = Server Information

Cfx.re ระบุว่า Standard ConVar ใช้ฝั่ง Server, Replicated ConVar สามารถอ่านได้ทั้ง Server/Client โดย Server เป็นผู้กำหนด และ Information ConVar ถูกเปิดเผยผ่านข้อมูล Server.

หาก ConVar ไม่ทำงาน ให้เริ่มจากตรวจชื่อและประเภทของ ConVar แล้วพิมพ์ชื่อ ConVar ใน Server Console เพื่อดูค่าจริง จากนั้นตรวจว่า Config ถูก Execute และ Resource อ่านค่าก่อนหรือหลัง Configuration ถูกกำหนด

สำหรับ Configuration ที่ต้องจำกัด Cfx.re ยังมี add_convar_permission เพื่อจำกัด Resources ที่สามารถอ่าน ConVar ได้ และเตือนให้ให้ Permission เพิ่มเฉพาะ Resources ที่เชื่อถือได้.

สำหรับผู้อ่าน comsiam สูตรที่จำง่ายที่สุดคือ “set = Server, setr = Replicated, sets = Information” ส่วน comsiam แนะนำว่าอย่าใส่ Password, Token หรือ Secret ลง setr หรือ sets และควรตรวจค่าจริงจาก Console ก่อนแก้ Script หรือ Restart Server แบบเดาสุ่ม

Comments

Popular posts from this blog

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

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

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