background image
Game Servers 380 7 Days to Die 4 Abiotic Factor 2 Aloft 2 alt:V 2 Americas Army Proving Grounds 2 Among Us 2 Archean 2 ARK Survival Ascended 6 ARK Survival Evolved 3 Arma 3 3 Arma Reforger 2 Aska 2 AssaultCube 2 Assetto Corsa 3 Astro Colony 2 Astroneer 2 Automobilista 2 2 Avorion 2 Banana Shooter 2 Barotrauma 3 BATTALION Legacy 2 BeamNG.drive (BeamMP) 2 Black Mesa 2 Brickadia 2 Call of Duty 2 Citadel: Forged with Fire 2 ClassiCube 2 Clone Hero 2 Colony Survival 2 Conan Exiles 4 Contagion 2 Core Keeper 2 Counter-Strike 2 3 Craftopia 2 CryoFall 2 CS2D 2 Cube 2: Sauerbraten 2 Cubic Odyssey 2 DayZ 4 DDNet 2 DDRaceNetwork 2 Dead Matter 2 Dont Starve Together 4 Eco 2 Empyrion Galactic Survival 2 Enshrouded 3 Escape from Tarkov 2 Euro Truck Simulator 2 2 Factorio 2 Farming Simulator 25 2 Fistful of Frags 2 FiveM 3 FortressCraft Evolved 2 Foundry 2 Foundry VTT 2 Frozen Flame 2 FTL Tachyon 2 Garrys Mod 3 Ground Branch 2 Half-Life 2 Deathmatch 2 Hogwarp 2 Holdfast: Nations at War 2 HumanitZ 2 Hurtworld 2 Hytale 1 Icarus 2 Insurgency Sandstorm 2 IOSoccer 2 Just Cause 3 Multiplayer 2 Kerbal Space Program 2 Killing Floor 2 3 LeagueSandbox 2 Left 4 Dead 2 Left 4 Dead 2 3 Longvinter 2 Los Angeles Crimes 2 Medal of Honor 2 Midnight Ghost Hunt 2 Mindustry 2 Minecraft 4 Minetest 2 Modiverse 2 Mordhau 3 Mount & Blade II: Bannerlord 2 Myth of Empires 2 Nazi Zombies Portable 2 Necesse 2 NeosVR 2 Neverwinter Nights EE 2 Night of the Dead 2 Nightingale 2 No Love Lost 2 No More Room in Hell 2 No One Survived 2 Nova-Life Amboise 2 Nuclear Option 2 Onset 2 Open Fortress 2 OpenArena 2 OpenRA 2 OpenRCT2 2 OpenTTD 2 Operation Harsh Doorstop 2 Palworld 3 Path of Titans 2 Pavlov VR 3 PixARK 2 Plains of Pain 2 Portal Knights 2 Post Scriptum 2 Project Zomboid 8 Puck 2 Quake Live 2 R5Reloaded 2 RedM 2 Renown 2 Resonite 2 Return to Moria 2 Rimworld Together 2 Rising World 2 Risk of Rain 2 1 Rust 4 Satisfactory 1 SCP Secret Laboratory 3 SCUM 2 Smalland 2 Solace Crafting 2 Soldat 2 Soldat 2 2 Sonic Robo Blast 2 2 Sons of the Forest 2 Soulmask 2 SourceCoop 2 Space Engineers 3 Space Station 14 2 Squad 3 Starbound 3 StarMade 2 Stationeers 2 Stormworks 2 Subnautica Nitrox 2 Sunkenland 2 SuperTuxKart 2 Sven Co-op 2 Swords 'n Magic and Stuff 2 Team Fortress 2 3 Teeworlds 2 Terraria 3 TerraTech Worlds 2 TF2 Classified 2 The Forest 3 The Front 2 The Isle 2 Tower Unite 2 Trackmania 2 Unturned 4 Urban Terror 2 V Rising 3 Valheim 3 VEIN 2 Veloren 2 Vintage Story 3 Voyagers of Nera 2 Wolfenstein: Enemy Territory 2 Wreckfest 2 Wurm Unlimited 2 Xonotic 2 Zandronum 2 Getting Started 2 Network & Connectivity 1 Server Management 2
Categories

วิธีตั้งค่าการรีสตาร์ทตามกำหนดเวลา


เซิร์ฟเวอร์เกมได้รับประโยชน์จากการรีสตาร์ทเป็นประจำเพื่อล้าง memory leak นำการเปลี่ยนแปลงการตั้งค่ามาใช้ และรักษาประสิทธิภาพให้เสถียรตลอดเซสชันการเล่นที่ยาวนาน คู่มือนี้แสดงวิธีตั้งค่าการรีสตาร์ทตามกำหนดเวลาอัตโนมัติโดยใช้ฟีเจอร์ Schedules ใน GPanel เพื่อให้เซิร์ฟเวอร์ของคุณมีสุขภาพดีโดยไม่ต้องดำเนินการด้วยตนเอง

ใช้ได้กับทุกเกม ฟีเจอร์ Schedules ใน GPanel มีให้สำหรับเซิร์ฟเวอร์เกมทุกตัวที่โฮสต์กับ Legion Hosting เคล็ดลับเฉพาะของแต่ละเกม (เช่น การเตือนผู้เล่นก่อนการรีสตาร์ท) จะกล่าวถึงในภายหลังในคู่มือนี้

ทำไมต้องตั้งกำหนดเวลารีสตาร์ท?

เซิร์ฟเวอร์เกมส่วนใหญ่สะสมการใช้หน่วยความจำและข้อมูลชั่วคราวเมื่อเวลาผ่านไป หากไม่มีการรีสตาร์ทเป็นระยะ คุณอาจสังเกตเห็น:

  • อาการแลกและ rubber-banding ที่เพิ่มขึ้น เมื่อการใช้ RAM ไต่สูงขึ้นเป็นชั่วโมงหรือเป็นวัน
  • การโหลด entity และ chunk ช้าลง ในเกมอย่าง Minecraft และ Project Zomboid
  • memory leak ที่เกี่ยวข้องกับม็อด ซึ่งจะรีเซ็ตเฉพาะเมื่อรีสตาร์ทเซิร์ฟเวอร์ทั้งหมดเท่านั้น
  • การนำการเปลี่ยนแปลงการตั้งค่ามาใช้ล่าช้า ซึ่งต้องรีสตาร์ทจึงจะมีผล

การรีสตาร์ทตามกำหนดเวลาทุก 6 ถึง 12 ชั่วโมงเป็นการตั้งค่าที่พบบ่อยที่สุดและช่วยป้องกันปัญหาเหล่านี้ส่วนใหญ่ได้

สิ่งที่ต้องมีก่อน

  • เซิร์ฟเวอร์เกมที่ใช้งานอยู่กับ Legion Hosting
  • สิทธิ์เข้าถึง GPanel ด้วยข้อมูลรับรองบัญชีของคุณ
  • เซิร์ฟเวอร์ของคุณควรอยู่ในสถานะ Running (กำหนดการจะทำงานเฉพาะเมื่อเซิร์ฟเวอร์ออนไลน์ เว้นแต่จะกำหนดค่าไว้เป็นอย่างอื่น)

ขั้นตอนที่ 1: เปิดแท็บ Schedules

  1. เข้าสู่ระบบ GPanel และเลือกเซิร์ฟเวอร์ของคุณจากรายการเซิร์ฟเวอร์
  2. ที่แถบด้านข้างซ้าย คลิกแท็บ Schedules
  3. คุณจะเห็นรายการกำหนดการที่มีอยู่ หากนี่เป็นเซิร์ฟเวอร์ใหม่ รายการจะว่างเปล่า

ขั้นตอนที่ 2: สร้างกำหนดการใหม่

  1. คลิกปุ่ม Create Schedule
  2. ป้อน Name สำหรับกำหนดการ — ชื่อที่สื่อความหมาย เช่น Auto Restart Every 6 Hours
  3. ตั้งค่า Cron Expression เพื่อควบคุมว่ากำหนดการจะทำงานเมื่อใด ดูส่วนด้านล่างสำหรับตัวอย่างที่พบบ่อย
  4. ตรวจสอบให้แน่ใจว่า Enabled ถูกเปิดใช้งานอยู่
  5. คลิก Save เพื่อสร้างกำหนดการ
กำหนดการเป็นเพียงตัวจับเวลา หลังจากสร้างกำหนดการแล้ว คุณยังต้องเพิ่ม task เข้าไปที่บอกเซิร์ฟเวอร์ว่าต้องทำอะไรเมื่อตัวจับเวลาทำงาน ดำเนินการต่อไปยังขั้นตอนที่ 3

ขั้นตอนที่ 3: เพิ่ม Task การรีสตาร์ทเข้าไปในกำหนดการ

  1. หลังจากบันทึกกำหนดการแล้ว ให้คลิกที่ชื่อของมันเพื่อเปิด
  2. ใต้ส่วน Tasks คลิก New Task
  3. ตั้งค่า Action เป็น Send power action
  4. ตั้งค่า Payload เป็น Restart
  5. ตั้งค่า Time Offset เป็น 0 วินาที (หมายความว่า task จะทำงานทันทีเมื่อกำหนดการเริ่มทำงาน)
  6. คลิก Save

การรีสตาร์ทตามกำหนดเวลาของคุณตอนนี้เปิดใช้งานแล้ว เซิร์ฟเวอร์จะรีสตาร์ทโดยอัตโนมัติตาม cron expression ที่คุณกำหนดค่าไว้

Restart เทียบกับ Stop + Start: power action Restart จะหยุดเซิร์ฟเวอร์อย่างนุ่มนวลและเริ่มมันใหม่อีกครั้ง นี่เป็น action ที่แนะนำสำหรับการรีสตาร์ทตามกำหนดเวลา หลีกเลี่ยงการใช้ Kill เป็น action ตามกำหนดเวลา เพราะมันจะบังคับยุติกระบวนการของเซิร์ฟเวอร์โดยไม่บันทึกข้อมูล

ทำความเข้าใจ Cron Expression

GPanel ใช้ cron expression เพื่อกำหนดว่ากำหนดการจะทำงานเมื่อใด cron expression มีห้าฟิลด์คั่นด้วยช่องว่าง:

Minute  Hour  Day-of-Month  Month  Day-of-Week
  *       *        *           *        *
ฟิลด์ ค่าที่อนุญาต คำอธิบาย
Minute 0–59 นาทีของชั่วโมงที่ task จะทำงาน
Hour 0–23 ชั่วโมงของวัน (รูปแบบ 24 ชั่วโมง)
Day of Month 1–31 วันของเดือน
Month 1–12 เดือนของปี
Day of Week 0–6 (0 = Sunday) วันของสัปดาห์

อักขระพิเศษ:

  • * — ตรงกับทุกค่า (wildcard)
  • */N — ตรงกับทุก ๆ N ช่วง (เช่น */6 ในฟิลด์ Hour หมายถึงทุก 6 ชั่วโมง)
  • , — คั่นค่าหลายค่า (เช่น 0,12 หมายถึงเวลา 0 และ 12)

กำหนดการรีสตาร์ทที่พบบ่อย

ต่อไปนี้คือช่วงเวลารีสตาร์ทที่นิยมมากที่สุดและ cron expression ที่จะใช้ใน GPanel:

ความถี่ในการรีสตาร์ท Cron Expression รีสตาร์ทเมื่อ (เวลาเซิร์ฟเวอร์)
ทุก 6 ชั่วโมง 0 */6 * * * 12:00 AM, 6:00 AM, 12:00 PM, 6:00 PM
ทุก 8 ชั่วโมง 0 */8 * * * 12:00 AM, 8:00 AM, 4:00 PM
ทุก 12 ชั่วโมง 0 0,12 * * * 12:00 AM, 12:00 PM
วันละครั้ง (4:00 AM) 0 4 * * * 4:00 AM
วันละครั้ง (6:00 AM) 0 6 * * * 6:00 AM
ทุก 3 ชั่วโมง 0 */3 * * * 12 AM, 3 AM, 6 AM, 9 AM, 12 PM, 3 PM, 6 PM, 9 PM
แนะนำ: สำหรับเซิร์ฟเวอร์เกมส่วนใหญ่ การรีสตาร์ททุก 6 ถึง 12 ชั่วโมงให้ความสมดุลที่ดีที่สุดระหว่างเวลาทำงาน (uptime) และประสิทธิภาพ เซิร์ฟเวอร์ที่มีม็อดจำนวนมาก (โดยเฉพาะ Project Zomboid ที่มีม็อด 50 ตัวขึ้นไป) อาจได้ประโยชน์จากการรีสตาร์ททุก 3 ถึง 6 ชั่วโมง

การเตือนผู้เล่นก่อนการรีสตาร์ท

การรีสตาร์ทโดยไม่เตือนล่วงหน้าอาจขัดจังหวะผู้เล่นกลางคัน ทำให้เกิดความหงุดหงิดหรือสูญเสียความคืบหน้า คุณสามารถใช้ task Send Command ของ GPanel เพื่อกระจายข้อความเตือนไปยังผู้เล่นก่อนที่การรีสตาร์ทจะเกิดขึ้น

มันทำงานอย่างไร

แทนที่จะมี task รีสตาร์ทเพียงตัวเดียว คุณสร้างหลาย task ภายในกำหนดการเดียวกัน โดยเหลื่อมกันด้วย time offset:

  1. task Send Command ที่ offset 0 ซึ่งกระจายข้อความเตือน (เช่น "Server restarting in 5 minutes")
  2. task Send Command ที่ offset 240 (4 นาทีต่อมา) พร้อมคำเตือนครั้งสุดท้าย (เช่น "Server restarting in 1 minute")
  3. task Send power action → Restart ที่ offset 300 (5 นาทีหลังจากคำเตือนแรก)
Time offset มีหน่วยเป็นวินาที เมื่อเพิ่ม task เข้าไปในกำหนดการ ฟิลด์ Time Offset ระบุว่า task ควรทำงานกี่วินาทีหลังจากกำหนดการเริ่มทำงาน ใช้ 0 สำหรับทันที, 60 สำหรับ 1 นาที, 300 สำหรับ 5 นาที เป็นต้น

ตัวอย่าง: กำหนดการแบบเต็มพร้อมคำเตือน

นี่คือลักษณะของกำหนดการที่สมบูรณ์พร้อมคำเตือน 5 นาที คำเตือน 1 นาที และการรีสตาร์ท:

Task # Action Payload / Command Time Offset
1 Send command (คำสั่งเตือนเฉพาะของเกม — ดูด้านล่าง) 0 วินาที
2 Send command (คำสั่งเตือนครั้งสุดท้ายเฉพาะของเกม) 240 วินาที
3 Send power action Restart 300 วินาที

คำสั่งเตือนเฉพาะของแต่ละเกม

คำสั่งที่คุณใช้กระจายข้อความไปยังผู้เล่นจะแตกต่างกันไปตามเกม ด้านล่างนี้คือคำสั่งสำหรับเกมยอดนิยมที่สุด:

Project Zomboid

ใช้คำสั่ง servermsg เพื่อส่งข้อความในเกมไปยังผู้เล่นที่เชื่อมต่ออยู่ทุกคน:

servermsg "Server restarting in 5 minutes. Please find a safe location."
servermsg "Server restarting in 1 minute!"

Minecraft

ใช้คำสั่ง say เพื่อกระจายข้อความแชทไปยังผู้เล่นทุกคน:

say Server restarting in 5 minutes. Please save your progress.
say Server restarting in 1 minute!

ARK: Survival Ascended

ใช้คำสั่ง broadcast เพื่อแสดงข้อความบนหน้าจอสำหรับผู้เล่นทุกคน:

broadcast Server restarting in 5 minutes. Please find a safe location.
broadcast Server restarting in 1 minute!
เกมอื่น ๆ: หากเกมของคุณไม่อยู่ในรายการข้างต้น ให้ตรวจสอบเอกสารของเกมหรือวิกิของชุมชนสำหรับคำสั่งคอนโซลเซิร์ฟเวอร์ที่กระจายข้อความไปยังผู้เล่นทุกคน ป้อนคำสั่งในฟิลด์ Payload ของ task Send Command หากคุณไม่แน่ใจ ให้เปิดทิกเก็ตสนับสนุน แล้วเราจะช่วยคุณหาคำสั่งที่ถูกต้อง

แนวทางปฏิบัติที่ดีที่สุด

  • รีสตาร์ทในช่วงเวลาที่มีผู้เล่นน้อย หากเซิร์ฟเวอร์ของคุณมีตารางผู้เล่นที่คาดเดาได้ ให้ตั้งเวลารีสตาร์ทในช่วงที่มีผู้เล่นออนไลน์น้อยที่สุด การรีสตาร์ทรายวันเวลา 4:00 AM หรือ 6:00 AM ใช้ได้ดีกับชุมชนส่วนใหญ่
  • ใส่คำเตือนเสมอ แม้แต่คำเตือน 1 นาทีก็ให้เวลาผู้เล่นในการไปยังที่ปลอดภัยหรือทำการแลกเปลี่ยนให้เสร็จ คำเตือน 5 นาทีถือว่าเหมาะสมที่สุด
  • ใช้การสำรองข้อมูลควบคู่ไปกับการรีสตาร์ท หากเกมของคุณหรือ GPanel รองรับการสำรองข้อมูลอัตโนมัติ ให้ตั้งเวลาสำรองข้อมูลก่อนการรีสตาร์ท วิธีนี้รับประกันว่าคุณจะมีเซฟล่าสุดเสมอในกรณีที่มีอะไรผิดพลาด
  • อย่ารีสตาร์ทบ่อยเกินไป การรีสตาร์ททุกชั่วโมงไม่จำเป็นสำหรับเซิร์ฟเวอร์ส่วนใหญ่และจะทำให้ผู้เล่นหงุดหงิด ทุก 6 ถึง 12 ชั่วโมงคือจุดที่เหมาะสมที่สุด เว้นแต่คุณกำลังรันเซิร์ฟเวอร์ที่มีม็อดจำนวนมากซึ่งมีปัญหา memory leak ที่ทราบกันดี
  • ทดสอบกำหนดการของคุณ หลังจากสร้างกำหนดการแล้ว ให้กลับมาตรวจสอบหลังจากเวลาที่คาดว่าจะทำงานครั้งแรกเพื่อยืนยันว่าการรีสตาร์ทเกิดขึ้นจริง ดูที่ log คอนโซลของ GPanel สำหรับเหตุการณ์การรีสตาร์ท
  • ตั้งชื่อกำหนดการของคุณให้ชัดเจน ใช้ชื่อที่สื่อความหมาย เช่น "6h Auto Restart with Warning" เพื่อให้คุณสามารถระบุได้อย่างรวดเร็วว่าแต่ละกำหนดการทำอะไร

การจัดการกำหนดการที่มีอยู่

คุณสามารถแก้ไขหรือปิดใช้งานกำหนดการได้ตลอดเวลาจากแท็บ Schedules ใน GPanel:

  • การแก้ไขกำหนดการ: คลิกชื่อกำหนดการ เปลี่ยน cron expression หรือ task แล้วคลิก Save
  • การปิดใช้งานกำหนดการชั่วคราว: เปิดกำหนดการแล้วปิด Enabled กำหนดการจะยังคงถูกบันทึกไว้แต่จะไม่ทำงานจนกว่าคุณจะเปิดใช้งานใหม่
  • การลบกำหนดการ: คลิกไอคอนลบที่อยู่ถัดจากกำหนดการ การกระทำนี้จะลบมันอย่างถาวร

การแก้ปัญหา

ปัญหา สิ่งที่ต้องตรวจสอบ
กำหนดการไม่ทำงาน เปิดกำหนดการและยืนยันว่า Enabled ถูกเปิดใช้งานอยู่ ตรวจสอบ cron expression อีกครั้ง — ข้อผิดพลาดที่พบบ่อยคือการใช้ลำดับฟิลด์ไม่ถูกต้อง ตรวจสอบให้แน่ใจว่าเซิร์ฟเวอร์ออนไลน์อยู่เมื่อถึงเวลาที่กำหนดการควรทำงาน
การรีสตาร์ทเกิดขึ้นแต่ข้อความเตือนไม่ปรากฏ ตรวจสอบให้แน่ใจว่า task Send Command ใช้คำสั่งที่ถูกต้องสำหรับเกมของคุณ ยืนยันว่า time offset น้อยกว่า offset ของ task รีสตาร์ท (เช่น คำเตือนที่ 0 วินาที, รีสตาร์ทที่ 300 วินาที)
เซิร์ฟเวอร์ไม่กลับมาออนไลน์หลังการรีสตาร์ท ตรวจสอบคอนโซลของ GPanel สำหรับข้อผิดพลาดในการเริ่มทำงาน หากเซิร์ฟเวอร์ขัดข้องระหว่างการปิดเครื่อง มันอาจไม่รีสตาร์ทอย่างราบรื่น ลอง Start ด้วยตนเองจาก GPanel หากปัญหายังคงอยู่ ให้เปิดทิกเก็ตสนับสนุน
cron expression ไม่ถูกยอมรับ GPanel ต้องการ 5 ฟิลด์พอดีใน cron expression (minute, hour, day of month, month, day of week) อย่าใส่ฟิลด์วินาที ตรวจสอบให้แน่ใจว่าไม่มีช่องว่างหรืออักขระพิเศษเกินมา
คำสั่งเตือนถูกส่งออกไปแต่ผู้เล่นไม่เห็น บางเกมต้องการรูปแบบที่เฉพาะเจาะจง สำหรับ Project Zomboid ข้อความต้องอยู่ในเครื่องหมายคำพูด: servermsg "Your message here" สำหรับ Minecraft คำสั่ง say ไม่ใช้เครื่องหมายคำพูด ตรวจสอบส่วนเฉพาะของแต่ละเกมด้านบน

ต้องการความช่วยเหลือ?

หากคุณประสบปัญหาในการตั้งค่าการรีสตาร์ทตามกำหนดเวลา หรือกำหนดการของคุณไม่ทำงานตามที่คาดไว้ ให้เปิดทิกเก็ตสนับสนุน และระบุ:

  • ชื่อเซิร์ฟเวอร์ของคุณจาก GPanel
  • cron expression ที่คุณกำลังใช้
  • คำอธิบายว่าเกิดอะไรขึ้น (หรือไม่เกิดขึ้น)

ทีมสนับสนุนของเราจะช่วยคุณกำหนดค่ากำหนดการให้ถูกต้อง


Was this article helpful?

Ready to Get Started?

The servers are booted, select your plan and become our latest satisfied client.