วิธีตั้งสิทธิ์ Admin ใน txAdmin FiveM แบ่งสิทธิ์ Owner, Developer และ Moderator ให้ปลอดภัย
การ ตั้งสิทธิ์ Admin ใน txAdmin ควรทำตามหน้าที่ของทีมงาน ไม่ควรให้ Admin ทุกคนใช้ all_permissions เพราะ txAdmin สามารถควบคุม FiveM Server ได้ตั้งแต่ Kick/Ban ผู้เล่น, Teleport, Restart Resource ไปจนถึง Stop หรือ Restart Server ทั้งเครื่อง
ระบบ Permission ของ txAdmin ถูกออกแบบมาเพื่อให้เจ้าของ Server กำหนดได้ละเอียดว่า Admin แต่ละคนทำอะไรได้บ้าง
ตัวอย่างเช่น Moderator อาจได้รับเพียง
menu.viewids
players.direct_message
players.warn
players.kick
players.spectate
ขณะที่ Developer อาจเพิ่ม
console.view
console.write
commands.resources
server.cfg.editor
control.server
ส่วน all_permissions ควรเก็บไว้สำหรับ Owner หรือผู้ดูแลระดับสูงที่จำเป็นจริง ๆ
① txAdmin Permission คืออะไร
Permission คือสิทธิ์ที่กำหนดว่า Admin Account สามารถทำ Action ใดได้บ้าง
ตัวอย่าง
console.view
อนุญาตให้ดู Console
แต่
console.write
อนุญาตให้ส่ง Command เข้า Console
ดังนั้นผู้ดูแลสามารถให้ Staff ดู Error ได้โดยไม่จำเป็นต้องให้สิทธิ์ Execute Command
② ทำไมต้องแบ่งสิทธิ์ Admin
เพราะ Staff แต่ละตำแหน่งมีหน้าที่ไม่เหมือนกัน
ตัวอย่าง
Moderator
→ ดู Player / Warn / Kick
Admin
→ Ban / Spectate / Teleport
Developer
→ Console / Resources / Config
Owner
→ จัดการทุกอย่าง
ถ้าแจก Root ให้ทุกคน ความผิดพลาดจาก Staff เพียงคนเดียวอาจกระทบ Server ทั้งเมืองได้
③ ตั้ง Permission ที่ไหน
txAdmin มีหน้า
Admin Manager
สำหรับจัดการ Admin Accounts และ Permissions
ตามระบบปัจจุบัน Master Admin หรือ Account ที่มี
all_permissions
หรือ
manage.admins
สามารถสร้าง แก้ไข และลบ Admin Account ได้
④ Permission ถูกเก็บไว้ที่ไหน
txAdmin เก็บ Admin Permissions ในข้อมูลของ txAdmin โดยเอกสารปัจจุบันระบุไฟล์
txData/admins.json
แต่โดยทั่วไปควรจัดการ Permission ผ่าน Admin Manager
ไม่ควรเปิดไฟล์แล้วแก้ JSON ด้วยมือหากไม่จำเป็น
⑤ วิธีเข้า Admin Manager
Login txAdmin ผ่าน Browser
ถ้าอยู่เครื่อง Server เดียวกัน ค่า Default มักใช้
http://localhost:40120
จากนั้นเข้าเมนู Admin Manager
Account ที่ใช้ต้องมีสิทธิ์จัดการ Admin ก่อนจึงจะสามารถแก้ Account อื่นได้
⑥ วิธีเพิ่ม Admin ใหม่
แนวทางคือ
Admin Manager
↓
Add Admin
↓
ตั้ง Username
↓
เพิ่ม Identifier
↓
เลือก Permissions
↓
Save
ควรสร้าง Account แยกสำหรับ Staff แต่ละคน
ไม่ควรให้ทุกคนใช้ Owner Account เดียวกัน
⑦ Identifier สำคัญอย่างไร
ถ้าต้องการให้ Admin ใช้ txAdmin In-game Menu ระบบต้องสามารถระบุได้ว่า Player คนใดตรงกับ Admin Account ใด
txAdmin รองรับการผูก Identifier ที่เกี่ยวข้อง เช่น Cfx.re หรือ Discord ตามระบบปัจจุบัน
แนวคิดคือ
Player
↓
Identifier
↓
txAdmin Admin Account
↓
Permissions
หาก Identifier ไม่ตรง /tx อาจไม่เปิด Admin Menu
⑧ all_permissions คืออะไร
Permission
all_permissions
คือ Root Permission
ผู้ใช้ที่ได้รับสิทธิ์นี้สามารถทำ Action ทุกอย่างใน txAdmin
เมื่อกำหนด all_permissions ระบบจะไม่จำเป็นต้องเก็บ Permission ย่อยอื่นร่วมด้วย
ถือเป็นสิทธิ์ระดับสูงที่สุด
⑨ ใครควรได้ all_permissions
โดยทั่วไปควรจำกัดไว้ที่
Server Owner
Technical Owner
Senior Administrator ที่จำเป็นจริง
ไม่ควรให้
Moderator ใหม่
Support
Trial Admin
Staff ที่ทำหน้าที่ตอบ Report อย่างเดียว
ได้รับ Root Permission
⑩ manage.admins คืออะไร
Permission
manage.admins
อนุญาตให้
Create Admin
Edit Admin
Remove Admin
เป็น Permission ที่ทรงพลังมาก
เพราะผู้ที่จัดการ Admin ได้สามารถแก้สิทธิ์ของ Staff คนอื่นได้
⑪ settings.view คืออะไร
settings.view
ใช้สำหรับดูหน้า Settings ของ txAdmin ในขอบเขตที่เกี่ยวข้อง
เหมาะกับผู้ดูแลที่ต้องตรวจ Configuration แต่ไม่จำเป็นต้องแก้ไข
แยกจาก Permission สำหรับเขียน Settings
⑫ settings.write คืออะไร
settings.write
อนุญาตให้เปลี่ยน Settings
จึงควรจำกัดมากกว่า settings.view
Staff ที่ต้องการเพียงตรวจค่าปัจจุบันไม่จำเป็นต้องมีสิทธิ์เขียน
⑬ console.view คืออะไร
Permission
console.view
ใช้ดู Live Console
เหมาะกับ
Developer
Technical Support
Senior Admin
เพื่อดู
Resource Error
Player Connection
Warning
Database Error
โดยยังไม่สามารถ Execute Command หากไม่มี console.write
⑭ console.write คืออะไร
Permission
console.write
ใช้ส่ง Command เข้า Server Console
เป็น Permission ที่ควรระวัง เพราะ Console Commands สามารถควบคุม Server ได้หลายส่วน
เช่น
restart resource_name
ensure resource_name
stop resource_name
รวมถึง Command จาก Resources อื่นที่ Server ติดตั้งไว้
⑮ ควรให้ console.write กับ Moderator ไหม
โดยทั่วไป ไม่จำเป็น
Moderator ที่มีหน้าที่
รับ Report
Warn
Kick
Spectate
ไม่จำเป็นต้อง Execute Server Console Commands
ให้ console.view เฉพาะเมื่อจำเป็นก็เพียงพอ
⑯ control.server คืออะไร
Permission
control.server
ใช้สำหรับ
Start Server
Stop Server
Restart Server
หาก Staff ใช้ผิด Player ทั้ง Server อาจ Disconnect ได้
ควรให้เฉพาะ Owner, Developer หรือ Senior Admin ที่รับผิดชอบ Maintenance
⑰ commands.resources คืออะไร
Permission
commands.resources
ใช้สำหรับ Start/Stop Resources
เหมาะกับ Developer ที่ต้อง
Test Script
Restart Resource
Reload ระบบ
Debug Resource
Moderator ปกติไม่จำเป็นต้องมี
⑱ server.cfg.editor คืออะไร
Permission
server.cfg.editor
ใช้สำหรับอ่านและเขียน server.cfg ผ่าน txAdmin
ถือเป็นสิทธิ์สำคัญ เพราะ server.cfg สามารถมี
Server Configuration
Resource List
Convars
Permissions
Server Key
จึงควรให้เฉพาะทีม Technical
⑲ announcement คืออะไร
Permission
announcement
ใช้ส่งประกาศ Server
เหมาะกับ Admin ที่ต้องแจ้ง
Restart
Maintenance
เหตุการณ์สำคัญ
Server Notice
สามารถให้ Moderator หรือ Senior Staff ได้ตามระบบบริหารของ Server
⑳ txadmin.log.view คืออะไร
txadmin.log.view
ใช้ดู txAdmin Log
มีประโยชน์สำหรับตรวจการทำงานของระบบและกิจกรรมที่เกี่ยวข้องกับ txAdmin
เหมาะกับ Owner และ Senior Technical Admin
㉑ server.log.view คืออะไร
server.log.view
ใช้ดู Server Logs
ช่วยในการตรวจ
Error
Connections
Server Activity
โดยไม่จำเป็นต้องให้ Permission สำหรับแก้ Config หรือควบคุม Server
㉒ menu.vehicle คืออะไร
Permission
menu.vehicle
อนุญาต Vehicle Tools เช่น
Spawn Vehicle
Fix Vehicle
Delete Vehicle
Vehicle Actions ที่ระบบรองรับ
เหมาะกับ Developer หรือ Admin ที่ต้องแก้ปัญหาเกี่ยวกับรถ
㉓ menu.clear_area คืออะไร
menu.clear_area
ใช้ Reset/Clear World Area
เป็น Action ที่สามารถกระทบ Entities ในบริเวณหนึ่งได้
ควรจำกัดไว้กับ Staff ที่เข้าใจผลกระทบ
㉔ menu.viewids คืออะไร
menu.viewids
ใช้แสดง Player IDs ภายในเกม
เป็น Permission พื้นฐานที่เหมาะกับ Moderator
ช่วยให้ระบุ Player ที่กำลังถูกรายงานได้ง่ายขึ้น
㉕ players.direct_message คืออะไร
players.direct_message
ใช้ส่งข้อความโดยตรงไปยัง Player
เหมาะกับ Support และ Moderator
เช่น
กรุณาหยุดรถและรอ Admin ตรวจสอบ
ไม่ต้องประกาศเรื่องของ Player คนเดียวให้ทั้ง Server เห็น
㉖ players.whitelist คืออะไร
players.whitelist
ใช้จัดการ Whitelist Player ตามระบบที่ txAdmin รองรับ
ควรให้กับ Staff ที่รับผิดชอบการอนุมัติผู้เล่นจริง
ไม่จำเป็นสำหรับ Moderator ทุกคน
㉗ players.warn คืออะไร
players.warn
ใช้ Warn Player
เหมาะเป็นหนึ่งใน Permission พื้นฐานของ Moderator
ควรกำหนดนโยบายให้ใส่ Reason ที่ชัดเจน เช่น
Fail RP - ครั้งที่ 1
แทนการเขียนสั้น ๆ ว่า ผิดกฎ
㉘ players.kick คืออะไร
players.kick
อนุญาตให้ Kick Player ออกจาก Server
Player สามารถกลับเข้ามาใหม่ได้หากไม่มี Ban หรือ Restriction อื่น
เหมาะกับ Moderator ที่ผ่านการอบรมกฎ Serverแล้ว
㉙ players.ban คืออะไร
players.ban
อนุญาต Ban และ Unban Player
ถือว่าสูงกว่า Kick เพราะมีผลต่อการเข้า Server ในอนาคต
ควรจำกัดให้ Senior Moderator หรือ Admin ตามโครงสร้างทีม
㉚ players.freeze คืออะไร
players.freeze
ใช้ Freeze หรือ Unfreeze Player Ped
เหมาะเวลา Admin ต้องหยุด Player ชั่วคราวเพื่อ
ตรวจ Report
แก้ Bug
สอบถามเหตุการณ์
ควรใช้อย่างมีเหตุผล
㉛ players.heal คืออะไร
players.heal
ใช้ Heal ตัวเองหรือ Player ตามความสามารถของ Admin Menu
อย่างไรก็ตาม Framework เช่น ESX/QBCore อาจมี Dead State ของตัวเอง
ดังนั้น Heal ของ txAdmin อาจไม่ได้เท่ากับ Framework Revive เสมอไป
㉜ players.playermode คืออะไร
Permission
players.playermode
ครอบคลุม Player Mode เช่น
NoClip
God Mode
Super Jump
เป็น Permission ที่มีประโยชน์กับ Admin และ Developer แต่ไม่ควรให้ Staff ที่ไม่มีหน้าที่ใช้
㉝ players.spectate คืออะไร
players.spectate
ใช้ Spectate Player
เหมาะอย่างมากสำหรับ Moderator ที่ต้องตรวจ
Report
Rule Breaking
Bug
พฤติกรรมผิดปกติ
จึงเป็น Permission ที่สามารถให้ทีมดูแลผู้เล่นได้โดยไม่ต้องให้สิทธิ์ Server Control
㉞ players.teleport คืออะไร
players.teleport
ใช้ Teleport ตัวเองหรือ Player
เช่น
Go To Player
Bring Player
Teleport Waypoint
Teleport Coordinates
Teleport Back
เหมาะกับ Admin ที่ต้องตอบ Report ภายในเกม
㉟ players.troll คืออะไร
players.troll
อนุญาตใช้ Troll Menu ตามที่ txAdmin รองรับ
สำหรับ Production RP Server ไม่จำเป็นต้องให้ Permission นี้กับ Staff ทั่วไป
ควรพิจารณาว่ามีประโยชน์จริงกับนโยบาย Server หรือไม่
㊱ players.remove_ids คืออะไร
Permission ปัจจุบันมี
players.remove_ids
สำหรับ Remove IDs/HWIDs ของ Player ออกจาก Database ของ txAdmin ตามระบบที่รองรับ
ถือเป็น Permission ที่ละเอียดอ่อน
ไม่ควรให้ Moderator ทั่วไป
㊲ วิธีตั้งสิทธิ์ Moderator
ตัวอย่างชุด Permission แบบเริ่มต้นสำหรับ Moderator อาจเป็น
menu.viewids
players.direct_message
players.warn
players.kick
players.spectate
อาจเพิ่ม
players.freeze
ถ้าหน้าที่ต้องใช้
นี่เป็น ตัวอย่างการออกแบบสิทธิ์ ไม่ใช่ Role บังคับของ txAdmin
㊳ วิธีตั้งสิทธิ์ Senior Moderator
สามารถเพิ่มจาก Moderator เช่น
menu.viewids
players.direct_message
players.warn
players.kick
players.ban
players.freeze
players.spectate
players.teleport
ทำให้จัดการเหตุการณ์ Player ได้เกือบครบ
แต่ยังไม่จำเป็นต้องเข้าถึง Console หรือ Server Configuration
㊴ วิธีตั้งสิทธิ์ Developer
ตัวอย่าง Developer
console.view
console.write
commands.resources
server.cfg.editor
server.log.view
txadmin.log.view
menu.vehicle
players.teleport
players.playermode
ถ้าต้อง Restart Server จริงจึงเพิ่ม
control.server
อย่าให้ manage.admins เพียงเพราะเป็น Developer หากหน้าที่ไม่ได้เกี่ยวกับ Staff Management
㊵ วิธีตั้งสิทธิ์ Server Manager
ผู้จัดการ Server อาจต้องใช้
settings.view
announcement
console.view
server.log.view
players.whitelist
players.warn
players.kick
players.ban
players.spectate
players.teleport
แล้วเพิ่มสิทธิ์ Technical ตามหน้าที่จริง
โครงสร้าง Permission ที่ดีควรอิงงาน ไม่ใช่ชื่อ Rank เพียงอย่างเดียว
㊶ Owner ควรใช้ all_permissions หรือเลือกทีละสิทธิ์
สำหรับ Owner หลักสามารถใช้
all_permissions
ได้
แต่ Account Root ควรมีจำนวนน้อยที่สุด
ตัวอย่าง
Owner 1
Owner 2
อาจมี Root
ขณะที่ Staff อื่นใช้ Permission เฉพาะ
㊷ หลัก Least Privilege คืออะไร
คือการให้ผู้ใช้
สิทธิ์เท่าที่จำเป็นต่อการทำงาน และไม่มากกว่านั้น
ตัวอย่าง Moderator ต้อง Kick Player
ให้
players.kick
ไม่จำเป็นต้องให้
all_permissions
วิธีนี้ช่วยลดทั้ง Human Error และผลกระทบหาก Account ถูกบุคคลอื่นเข้าถึง
㊸ Admin เปิด /tx ไม่ได้หลังเพิ่ม Permission
ตรวจว่า Admin Account มี Identifier ที่ตรงกับ Player หรือไม่
txAdmin ระบุว่าผู้ที่จะเปิด In-game Menu ต้องมี txAdmin Account และมี Cfx.re หรือ Discord Identifier ผูกอยู่
หากเพิ่งแก้ Admin Account สามารถลอง
/txAdmin-reauth
เพื่อให้ระบบ Authentication ใหม่
㊹ Admin เปิด Menu ได้แต่ปุ่มบางตัวหาย
นี่มักเป็นพฤติกรรมปกติของ Permission System
เช่นไม่มี
players.ban
ก็ไม่ควรสามารถ Ban ได้
ไม่มี
menu.vehicle
ก็ไม่ควรใช้ Vehicle Tools
ไม่ต้อง Reinstall txAdmin
㊺ เปลี่ยน Permission แล้วต้อง Restart Server ไหม
การแก้รายการ Admin/Permission ผ่านระบบ txAdmin สามารถทำให้ Online Admin ถูกบังคับ Reauthenticate เมื่อรายการ Admin ถูกอัปเดตตามการทำงานปัจจุบันของ txAdmin
หาก In-game Menu ยังแสดงสิทธิ์เดิม ให้ลอง Reauthenticate หรือ Reconnect ก่อน
ไม่ควร Restart Production Server เป็นตัวเลือกแรกเพียงเพราะ Permission เพิ่งถูกแก้
㊻ ควรใช้ Account ร่วมกันหรือไม่
ไม่ควร
ตัวอย่างที่ไม่เหมาะคือ
Username: admin
Password: ใช้ร่วมกัน 10 คน
เพราะจะไม่รู้ว่าใครทำ Action ใด
txAdmin มี Action Logging ดังนั้นควรใช้
admin_somchai
admin_dev01
admin_mod02
แยกกันตามบุคคล
㊼ Staff ออกจากทีมต้องทำอะไร
เมื่อ Staff พ้นหน้าที่ควร
Remove Admin Account
หรือ
Remove Permissions
ทันทีตามนโยบาย Server
อย่าเพียงเปลี่ยน Discord Role แล้วสมมุติว่า txAdmin Permission ถูกลบโดยอัตโนมัติทุก Environment
ควรตรวจใน Admin Manager ด้วย
㊽ Checklist ตั้งสิทธิ์ Admin ให้ปลอดภัย
ใช้ Checklist นี้ก่อนเปิดสิทธิ์ให้ Staff
สร้าง Account แยกแต่ละคน
Identifier ถูกต้อง
กำหนดหน้าที่ก่อนกำหนด Permission
Moderator ไม่มี Console Write ถ้าไม่จำเป็น
จำกัด control.server
จำกัด server.cfg.editor
จำกัด manage.admins
Root มีเฉพาะ Owner
Ban ให้เฉพาะ Staff ที่เหมาะสม
ตรวจ Permission หลัง Save
ทดสอบ /tx
ตรวจ Action Logs
ลบ Account เมื่อ Staff ออกจากทีม
Backup txData
การวางสิทธิ์ตั้งแต่แรกง่ายกว่าการแก้หลังเกิดความเสียหาย
㊾ ตัวอย่างโครงสร้าง Permission สำหรับ Server จริง
แนวทางหนึ่งสามารถแบ่งได้แบบนี้
Moderator
- View IDs
- DM
- Warn
- Kick
- Spectate
Senior Moderator
- ทุกอย่างของ Moderator
- Ban
- Freeze
- Teleport
Developer
- Console View/Write
- Resources
- CFG Editor
- Logs
- Vehicle Tools
- Teleport
- NoClip
Server Manager
- Announcement
- Logs
- Player Management
- Settings View
- Whitelist
Owner
- all_permissions
นี่เป็นเพียง Template สำหรับเริ่มต้น
Server ควรปรับตามหน้าที่และกฎภายในของตัวเอง
㊿ สรุปวิธีตั้งสิทธิ์ Admin ใน txAdmin
การตั้ง Permission ที่ดีไม่ใช่การเลือกทุกช่องให้ Staff ทุกคน แต่คือการกำหนดว่าแต่ละตำแหน่งต้องใช้ Action ใดจริง
Permission สำคัญที่ควรรู้ ได้แก่
all_permissions
manage.admins
settings.view
settings.write
console.view
console.write
control.server
announcement
commands.resources
server.cfg.editor
txadmin.log.view
server.log.view
menu.vehicle
menu.clear_area
menu.viewids
players.direct_message
players.whitelist
players.warn
players.kick
players.ban
players.freeze
players.heal
players.playermode
players.spectate
players.teleport
players.troll
players.remove_ids
สำหรับทีม Admin ทั่วไป ควรเริ่มจาก Permission น้อยก่อน แล้วเพิ่มเมื่องานจำเป็น
แนวคิดที่ comsiam แนะนำคือ
Moderator
→ Player Management
Developer
→ Console + Resources + Config
Server Manager
→ Logs + Management
Owner
→ Root
โดยเฉพาะ Permission อย่าง
all_permissions
manage.admins
console.write
control.server
server.cfg.editor
ควรถูกจำกัดอย่างจริงจัง เพราะสามารถเปลี่ยน Configuration หรือกระทบผู้เล่นทั้ง Server ได้
อีกหลักสำคัญคือสร้าง Admin Account แยกให้แต่ละคน เพื่อให้ Permission และ Action Logs ระบุได้ว่าใครทำอะไร ไม่ควรแชร์ Owner Account ร่วมกันทั้งทีม
เมื่อใช้หลัก Least Privilege, ตรวจ Identifier ให้ถูกต้อง และถอนสิทธิ์ทันทีเมื่อ Staff ออกจากทีม ผู้ดูแล FiveM Server ของ comsiam จะสามารถใช้ txAdmin ได้อย่างเป็นระบบ ปลอดภัย และลดความเสียหายจากทั้งการกดผิดและการให้สิทธิ์เกินความจำเป็น
Comments
Post a Comment