วิธีตั้ง Auto Restart FiveM Server ด้วย txAdmin ตั้งเวลารีสตาร์ตอัตโนมัติ

การตั้ง Auto Restart FiveM Server ด้วย txAdmin ช่วยให้ Server Restart ตามเวลาที่กำหนดโดยอัตโนมัติ โดยไม่ต้องให้ Admin เข้าไปกด Restart เองทุกครั้ง

txAdmin มีระบบ Scheduled Restarts พร้อมระบบแจ้งเตือนผู้เล่นก่อนถึงเวลา Restart และมี Events สำหรับให้ Resource เชื่อมต่อกับระบบ Save, Announcement หรือ Maintenance Workflow เพิ่มเติมได้

โครงสร้างการทำงานโดยทั่วไปคือ

กำหนดเวลา Restart
↓
txAdmin นับเวลาถอยหลัง
↓
แจ้งผู้เล่นล่วงหน้า
↓
Scheduled Restart Event
↓
Server Shutdown
↓
FXServer Start ใหม่
↓
Resources โหลดใหม่
↓
Server Online

เหมาะกับ FiveM RP Server ที่เปิดตลอดวันและต้องการ Restart เมืองเป็นรอบ ๆ อย่างเป็นระบบ

① Auto Restart FiveM Server คืออะไร

Auto Restart คือการกำหนดให้ FXServer ถูก Restart ตามเวลาที่ตั้งไว้โดยอัตโนมัติ

ตัวอย่าง

06:00
12:00
18:00
00:00

เมื่อถึงเวลาที่กำหนด txAdmin จะดำเนินการ Restart ตามระบบ Scheduled Restart

Admin ไม่ต้องมานั่งกด Restart ทุกครั้ง

② txAdmin รองรับ Scheduled Restart ไหม

รองรับ

Scheduled Restarts เป็น Feature หลักของ txAdmin

ระบบยังมี

Warning Announcements
Custom Events
Restart Monitoring

สำหรับช่วยจัดการช่วงก่อนและหลัง Restart

③ ตั้ง Auto Restart ที่ไหน

Login เข้า txAdmin แล้วไปยังหน้า Settings/Restarter ที่เกี่ยวข้องกับการตั้ง Scheduled Restart ตาม Version ของ txAdmin ที่ใช้อยู่

จากนั้นกำหนดเวลา Restart ที่ต้องการ

ก่อน Save ควรตรวจ

Server Time
Timezone
Next Restart

ให้ถูกต้อง

④ ตัวอย่างตั้ง Restart วันละ 2 ครั้ง

เช่น

06:00
18:00

หมายความว่า Server จะมี Scheduled Restart วันละ 2 รอบ

เหมาะกับ Server ที่ไม่ต้องการ Restart ถี่มาก

แต่จำนวนรอบที่เหมาะสมขึ้นอยู่กับ Server จริง

⑤ ตัวอย่าง Restart วันละ 4 ครั้ง

Server RP บางแห่งอาจใช้

00:00
06:00
12:00
18:00

เท่ากับประมาณทุก 6 ชั่วโมง

ข้อดีคือมี Maintenance Cycle ชัดเจน

แต่ไม่ควรคิดว่าทุก FiveM Server ต้อง Restart ทุก 6 ชั่วโมงเสมอ

⑥ ต้อง Restart ทุกกี่ชั่วโมง

ไม่มีค่ามาตรฐานเดียวสำหรับทุก Server

ต้องพิจารณา

  • จำนวน Player

  • จำนวน Resources

  • RAM

  • CPU

  • Framework

  • Database

  • Memory Leak

  • Server Stability

  • Peak Traffic

Server ที่เขียน Resource ดีอาจไม่จำเป็นต้อง Restart บ่อยเท่า Server ที่มี Resources จำนวนมาก

⑦ Restart บ่อยไม่ได้แปลว่า Server ดี

ถ้า Server ต้อง Restart ทุก 1–2 ชั่วโมงเพราะ

RAM เต็ม
Lag
Script ค้าง
CPU สูง

ควรหา Root Cause

ไม่ควรใช้ Auto Restart เป็นวิธีซ่อนปัญหา

ตัวอย่างต้องตรวจ

Resource Memory Leak
Database Query
Entity
Loop
CPU Usage

⑧ ก่อนตั้งเวลาต้องตรวจ Timezone

สำคัญมาก

สมมุติต้องการ Restart เวลา

06:00

แต่ Server OS หรือ Container ใช้ Timezone คนละประเทศ อาจทำให้เวลาที่ Admin คาดกับเวลาจริงไม่ตรงกัน

ดังนั้นตรวจเวลาของ Server และ Next Scheduled Restart ที่ txAdmin แสดงทุกครั้ง

⑨ Server อยู่ไทยควรดูอะไร

ถ้าต้องการใช้เวลาประเทศไทย ควรตรวจว่า Operating System หรือ Environment ของ Server ถูกตั้งให้ตรงกับ

Asia/Bangkok
UTC+7

หรือมี Configuration ที่ทำให้ txAdmin แสดงเวลาที่คุณต้องการอย่างถูกต้อง

อย่าเดาจากเวลา Browser อย่างเดียว

⑩ VPS ต่างประเทศใช้เวลาประเทศไทยได้ไหม

ได้ หาก Server Environment ถูกกำหนด Timezone ให้เหมาะสม

ตำแหน่ง Data Center ไม่ได้บังคับว่า OS ต้องใช้เวลาท้องถิ่นของ Data Center

ตัวอย่าง VPS สิงคโปร์ยังสามารถตั้งระบบเป็น

Asia/Bangkok

ได้ตาม Configuration ของระบบปฏิบัติการ

⑪ หลังตั้ง Schedule ต้องตรวจ Next Restart

อย่าตั้งเวลาแล้วปิดหน้าไปทันที

ตรวจ Dashboard ว่า

Next Restart

ตรงกับเวลาที่ต้องการหรือไม่

นี่เป็นวิธีง่ายที่สุดในการจับปัญหา Timezone ก่อนเกิด Restart ผิดเวลา

⑫ txAdmin แจ้งผู้เล่นก่อน Restart ไหม

แจ้ง

Scheduled Restart Event ปัจจุบันถูก Broadcast ล่วงหน้าที่

30 นาที
15 นาที
10 นาที
5 นาที
4 นาที
3 นาที
2 นาที
1 นาที

ก่อน Scheduled Restart

ช่วยให้ Player เตรียมตัวก่อนเมืองปิด

⑬ ผู้เล่นจะเห็นข้อความอะไร

txAdmin มี Default Scheduled Restart Warning

แนวคิดข้อความคือ

Server จะ Restart ใน X นาที
กรุณาเตรียมออกจาก Server

ข้อความจริงขึ้นอยู่กับ Language/Translation ของ txAdmin

⑭ Warning 30 นาทีมีประโยชน์อะไร

ช่วยให้ Player ที่กำลังทำกิจกรรมยาวรู้ล่วงหน้า เช่น

  • Roleplay Scene

  • Heist

  • Job

  • Racing

  • Trade

  • Vehicle Activity

และมีเวลาจบกิจกรรมก่อนเมือง Restart

⑮ Warning 5 นาทีสำคัญอย่างไร

ช่วงนี้ควรถือว่าใกล้ Maintenance แล้ว

Server อาจกำหนดกฎว่า

งดเริ่มกิจกรรมใหม่
งดซื้อขายขนาดใหญ่
งดเริ่มภารกิจยาว

เพื่อลด Transaction ค้างก่อน Restart

⑯ Warning 1 นาทีควรทำอะไร

ควรให้ Player

  • หยุด Transaction

  • ปิด Inventory

  • จอดรถ

  • รอระบบ Save

  • เตรียม Disconnect

และ Resource ที่เกี่ยวข้องสามารถใช้ Event ของ txAdmin เพื่อทำงานเพิ่มเติมได้

⑰ scheduledRestart Event คืออะไร

txAdmin ส่ง Event

txAdmin:events:scheduledRestart

ก่อน Scheduled Restart

Event นี้มีข้อมูล

secondsRemaining
translatedMessage

ทำให้ Developer สามารถสร้างระบบตอบสนองต่อเวลาที่เหลือได้

⑱ secondsRemaining คืออะไร

เป็นจำนวนวินาทีที่เหลือก่อน Restart

ตัวอย่าง

60

หมายถึงเหลือ 1 นาที

Developer สามารถเช็กค่านี้แล้ว Trigger Workflow ที่ต้องการได้

⑲ ตัวอย่างตรวจเหลือ 1 นาที

แนวคิด Lua

AddEventHandler('txAdmin:events:scheduledRestart', function(eventData)
    if eventData.secondsRemaining == 60 then
        print('Server restart in 1 minute')
    end
end)

สามารถต่อยอดไปยังระบบ Save หรือ Announcement ของ Framework ได้

⑳ ใช้ Event นี้ Save Player ได้ไหม

ใช้ประกอบ Workflow ได้

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

เหลือ 1 นาที
↓
Trigger Save
↓
แจ้งผู้เล่น
↓
Restart

แต่ไม่ควรออกแบบ Database ให้ Save เฉพาะตอน Restart เท่านั้น

ระบบ Player Data ควรมี Auto Save และ Save Mechanism ของตัวเองอยู่แล้ว

㉑ ทำไมไม่ควรพึ่ง Scheduled Event อย่างเดียว

เอกสาร txAdmin เตือนว่าไม่ควรพึ่ง Events เป็นกลไกเดียวในงานที่ต้องการ Consistency

เพราะมีสถานการณ์ที่ Server Resource อาจไม่ได้ทำงานในเวลาที่ Event เกิด

ดังนั้นข้อมูลสำคัญควรถูก Save ตามระบบปกติด้วย

㉒ serverShuttingDown Event คืออะไร

เมื่อ Server กำลังจะ Shutdown txAdmin สามารถ Broadcast

txAdmin:events:serverShuttingDown

Event นี้เกิดได้จาก

  • Scheduled Restart

  • Manual Restart

  • Stop

  • System Action

จึงครอบคลุมกว้างกว่า Scheduled Restart อย่างเดียว

㉓ serverShuttingDown มีข้อมูลอะไร

ข้อมูลสำคัญ ได้แก่

delay
author
message

โดย delay คือระยะเวลาที่ txAdmin จะรอก่อน Kill Server Process ตาม Event Data ปัจจุบัน

Developer สามารถนำไป Integrate Resource ได้

㉔ Scheduled Restart กับ Manual Restart ต่างกันอย่างไร

Scheduled Restart

ถึงเวลาที่ตั้งไว้
→ txAdmin Restart อัตโนมัติ

Manual Restart

Admin
→ กด Restart

Manual Restart ไม่จำเป็นต้องตรงตาม Schedule

แต่ทั้งสองกรณีสามารถเกี่ยวข้องกับ Server Shutdown Events ได้

㉕ สามารถ Skip Restart ครั้งถัดไปได้ไหม

txAdmin ปัจจุบันมี Concept ของการ Skip Scheduled Restart และมี Event

txAdmin:events:scheduledRestartSkipped

เมื่อ Admin Skip Scheduled Restart

มีประโยชน์กรณี

  • Event ใหญ่กำลังเล่น

  • Maintenance เลื่อนเวลา

  • Server เพิ่ง Restart ไป

  • Developer กำลังทดสอบระบบ

㉖ Skip ครั้งหนึ่งแปลว่าปิด Schedule ถาวรไหม

ไม่ควรถือว่าเหมือนกัน

การ Skip Next Scheduled Restart คือการข้ามรอบที่กำลังจะมาถึง

ไม่ใช่จำเป็นต้องหมายถึงลบ Schedule ทั้งหมด

หลัง Skip ให้ตรวจ Next Restart อีกครั้งเพื่อให้แน่ใจว่ารอบต่อไปยังถูกต้อง

㉗ scheduledRestartSkipped มีข้อมูลอะไร

Event ปัจจุบันสามารถมีข้อมูล เช่น

secondsRemaining
temporary
author

ช่วยให้ Resource รู้ว่า Scheduled Restart ที่กำลังจะเกิดถูก Skip

เหมาะกับระบบที่มี Maintenance UI ของตัวเอง

㉘ Restart ชั่วคราวนอก Schedule ทำได้ไหม

txAdmin สามารถควบคุม Server Restart ด้วยระบบ Admin ได้อยู่แล้ว

หากต้อง Restart เพิ่มนอกเวลาปกติสามารถใช้ Manual Restart ตามขั้นตอน Maintenance

ไม่จำเป็นต้องเปลี่ยน Schedule ถาวรทุกครั้ง

㉙ ตั้งหลายรอบต่อวันดีไหม

ได้ หากเหมาะกับ Server

ตัวอย่าง

06:00
12:00
18:00
00:00

ข้อดีคือ Player จดจำรอบเมืองได้ง่าย

และ Staff สามารถวาง Maintenance ตามรอบที่แน่นอนได้

㉚ ควรตั้งเวลาตรงช่วงคนเยอะไหม

ถ้าเลือกได้ ควรหลีกเลี่ยง Peak Time

ตัวอย่าง Player สูงสุดช่วง

20:00–23:00

อาจไม่เหมาะกับ Scheduled Restart เวลา

21:00

เว้นแต่ Server Community คุ้นเคยกับ Schedule นี้แล้ว

㉛ เวลา Restart ที่ดีควรดูจากอะไร

ดูข้อมูลจริง เช่น

  • Concurrent Players

  • Peak Hours

  • Staff Availability

  • Backup Window

  • Database Maintenance

  • Resource Update Time

ตั้ง Restart ให้สัมพันธ์กับ Operation ของ Server

ไม่ใช่ Copy เวลา Server อื่นมาใช้ตรง ๆ

㉜ Restart ตอน 00:00 ดีไหม

ใช้ได้ แต่ Server จำนวนมากก็อาจมี

  • Backup

  • Cron Job

  • Database Maintenance

  • Log Rotation

ช่วงเวลาเดียวกัน

หากทุก Service ทำงานหนักพร้อมกันอาจสร้าง Load Spike

ควรกระจาย Maintenance Job หาก Server มีระบบจำนวนมาก

㉝ Scheduled Restart ช่วย RAM ไหม

เมื่อ FXServer Process Restart RAM ที่ Process ใช้จะถูก Release และ Process ใหม่เริ่มต้นใหม่

จึงมักเห็น Memory Usage ลดลง

แต่หาก RAM เพิ่มขึ้นอย่างรวดเร็วทุก Cycle ต้องตรวจ Resource

ไม่ควรแก้ด้วยการเพิ่มจำนวน Restart อย่างเดียว

㉞ Scheduled Restart ช่วยแก้ Lag ไหม

อาจทำให้ Server State กลับมาสะอาดชั่วคราว

แต่ Lag ที่มาจาก

CPU
Slow Query
Network
Poor Script
Entity Spam

จะกลับมาอีก

ต้องวิเคราะห์ Performance ควบคู่กัน

㉟ Auto Restart เมื่อ Server Crash เหมือน Scheduled Restart ไหม

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

Scheduled Restart

เกิดตามเวลาที่กำหนด

Crash/Health Restart

เกิดจาก Server มีปัญหาและระบบ Monitoring พยายาม Recover

จุดประสงค์ต่างกัน

ไม่ควรสับสนว่า Server Crash คือ Scheduled Maintenance

㊱ Server Crash บ่อยแต่ Auto Restart กลับมาได้ ถือว่าจบไหม

ไม่จบ

Auto Restart ช่วย Availability แต่ไม่ได้แก้ Crash

ถ้าเกิด

Start
↓
Crash
↓
Restart
↓
Crash

ให้ตรวจ

  • Console

  • Crash Logs

  • Resource ล่าสุด

  • Artifact

  • Database

  • Server Configuration

㊲ Default Warning ปิดได้ไหม

txAdmin มี Convar

txAdmin-hideDefaultScheduledRestartWarning

ค่า Default คือ

false

หมายความว่า Default Warning จะแสดงตามปกติ

สามารถเปิดการซ่อน Warning เดิมได้เมื่อคุณสร้างระบบ Notification ของตัวเอง

㊳ ตัวอย่างซ่อน Default Warning

หากต้องการใช้ Notification ของ Framework เอง สามารถกำหนดตามระบบ

txAdmin-hideDefaultScheduledRestartWarning

แล้วฟัง Event

txAdmin:events:scheduledRestart

เพื่อแสดง UI ของ Server เอง

ควรทดสอบก่อนใช้ Production

㊴ ทำ Custom Restart Notification ได้ไหม

ได้

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

txAdmin Event
↓
Custom Resource
↓
NUI Notification
↓
ประกาศภาษาไทย

เช่น

เมืองจะรีสตาร์ตในอีก 5 นาที
กรุณาจบกิจกรรมและเตรียมออกจากเมือง

ทำให้ UI กลมกลืนกับ Theme ของ Server

㊵ Discord แจ้ง Restart ได้ไหม

txAdmin มี Discord Integration และ Scheduled Restart Warning สามารถเชื่อมกับระบบ Notification ที่เกี่ยวข้องได้ตาม Configuration

Server Community อาจใช้ร่วมกับ

  • Discord Announcement

  • In-game Announcement

  • Maintenance Channel

แต่ไม่ควรพึ่ง Discord อย่างเดียว เพราะ Player ที่อยู่ในเกมอาจไม่ได้เปิด Discord

㊶ ก่อน Scheduled Restart ต้อง Backup Database ทุกครั้งไหม

ไม่จำเป็นต้อง Full Backup ทุก Restart

ควรแยก

Player Save

กับ

Database Backup

Player Save ควรเกิดเป็นประจำ

ส่วน Full Database Backup สามารถตั้งตาม Backup Policy เช่นรายวันหรือก่อน Maintenance ใหญ่

㊷ Scheduled Restart กับ Backup ควรจัดลำดับอย่างไร

ตัวอย่าง Workflow

Player Save
↓
Scheduled Restart
↓
Server Online

ส่วน Full Backup อาจทำ

ก่อน Update ใหญ่
หรือ
ตาม Backup Schedule

ไม่ควรทำ Heavy Database Backup ในช่วงเดียวกับ Startup หากทำให้ Server Load สูง

㊸ Update Resource ก่อน Scheduled Restart ดีไหม

เป็นช่วงที่เหมาะในหลายกรณี

ตัวอย่าง

ก่อน Restart
↓
Maintenance
↓
Update Resource
↓
Restart
↓
ทดสอบ

แต่ไม่ควรโยน Update จำนวนมากลง Production โดยไม่มี Test Server หรือ Backup

㊹ Update Artifact ใช้ Scheduled Restart อย่างเดียวพอไหม

ไม่พอ

Artifact Update ต้องจัดการ FXServer Binary

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

Backup
↓
Stop Server
↓
Update Artifact
↓
Start Server
↓
ตรวจ Console

Scheduled Restart ไม่ได้ Download Artifact ใหม่ให้อัตโนมัติเพียงเพราะถึงเวลารอบเมือง

㊺ Restart แล้ว Resource ไม่ขึ้นทำอย่างไร

เปิด txAdmin Live Console ตรวจทันที

หา

Failed
Error
Missing dependency
Couldn't start
Database

อย่ารอรอบ Auto Restart ถัดไปโดยหวังว่าจะหายเอง

Resource Error จาก Config จะกลับมาเหมือนเดิมทุก Restart

㊻ Restart แล้ว Database ไม่เชื่อม

ตรวจ

  • Database Service

  • Connection String

  • Host

  • Port

  • Credentials

  • Startup Order

ถ้า Database กับ FXServer อยู่เครื่องเดียวกันและ Boot พร้อมกัน อาจต้องจัด Service Dependency/Retry ให้เหมาะสม

ไม่ควรเพิ่ม Restart Schedule เพื่อแก้ปัญหานี้

㊼ หลังตั้ง Auto Restart ควรทดสอบอย่างไร

อย่ารอ Production รอบแรกโดยไม่ตรวจ

ให้ดู

Next Restart
Warning ทำงาน
Server Restart จริง
FXServer กลับมา Online
Resources Start ครบ
Database Connected
Player เข้าได้

จากนั้นจึงถือว่า Schedule ใช้งานได้

㊽ Checklist ตั้ง Auto Restart FiveM

ตรวจให้ครบ

txAdmin ทำงานปกติ
Server Time ถูกต้อง
Timezone ถูกต้อง
Restart Schedule ถูกต้อง
Next Restart ตรงเวลา
Warning เปิดอยู่
Player Save ทำงาน
Database ปกติ
ไม่มี Resource Error
หลัง Restart Server กลับ Online
Resources Start ครบ
Staff รู้เวลารอบเมือง
มี Backup Policy

โดยเฉพาะ Timezone ควรตรวจทุกครั้งหลังย้าย VPS หรือเปลี่ยน Container

㊾ ตัวอย่าง Schedule สำหรับ RP Server

ตัวอย่างที่เข้าใจง่าย

06:00
12:00
18:00
00:00

คือ Restart ทุกประมาณ 6 ชั่วโมง

แต่อาจเปลี่ยนเป็น

06:00
18:00

ถ้า Server เสถียรและต้องการเพียง 2 รอบ

สิ่งสำคัญคือดู Server Data จริง ไม่ใช่จำนวน Restart มากที่สุด

㊿ สรุปวิธีตั้ง Auto Restart FiveM Server ด้วย txAdmin

การตั้ง Auto Restart ผ่าน txAdmin ใช้ระบบ Scheduled Restarts

Workflow ที่ควรใช้คือ

1. Login txAdmin
2. เปิด Settings/Restarter
3. ตรวจ Server Time และ Timezone
4. เพิ่มเวลา Scheduled Restart
5. Save
6. ตรวจ Next Restart
7. ตรวจ Warning
8. เตรียมระบบ Player Save
9. ทดสอบ Restart จริง
10. ตรวจ Console หลัง Server Online

txAdmin ปัจจุบัน Broadcast Warning ก่อน Scheduled Restart ที่

30
15
10
5
4
3
2
1 นาที

และ Resource สามารถรับ Event

txAdmin:events:scheduledRestart

โดยใช้ secondsRemaining เพื่อนำไปทำ Notification หรือ Save Workflow เพิ่มเติม

นอกจากนี้ยังมี

txAdmin:events:serverShuttingDown

สำหรับช่วงที่ Server กำลัง Shutdown และ

txAdmin:events:scheduledRestartSkipped

เมื่อตาราง Restart รอบถัดไปถูก Skip

สำหรับ Production Server comsiam แนะนำให้ตั้งเวลา Restart ให้ Player จำง่ายและหลีกเลี่ยง Peak Time หากทำได้ แต่ไม่ควร Restart ถี่เพียงเพื่อซ่อนปัญหา RAM, Lag หรือ Resource Error

Auto Restart ที่ดีต้องทำงานร่วมกับ

Player Auto Save
Database Reliability
Backup
Monitoring
Console Logs
Maintenance Workflow

ไม่ใช่พึ่ง Restart เพียงอย่างเดียว

เมื่อกำหนด Timezone ให้ถูก ตรวจ Next Restart และทดสอบ Warning/Startup จนครบ ผู้ดูแล FiveM Server ของ comsiam จะสามารถเปิด Server ระยะยาวได้เป็นระบบมากขึ้น และลดความเสี่ยงจากการลืม Restart หรือ Restart เมืองผิดเวลา

Comments

Popular posts from this blog

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

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

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