Игралните сервери имаат корист од редовни рестартирања за да ги исчистат протекувањата на меморија, да применат промени во конфигурацијата и да ги одржат перформансите стабилни во текот на долги сесии на играње. Овој водич ви покажува како да поставите автоматски закажани рестартирања користејќи ја функцијата Schedules во GPanel, за вашиот сервер да остане здрав без рачна интервенција.
Зошто да закажувате рестартирања?
Повеќето игрални сервери акумулираат искористување на меморија и привремени податоци со текот на времето. Без периодични рестартирања, можеби ќе забележите:
- Зголемено доцнење и rubber-banding како што искористувањето на RAM расте со часови или денови
- Забавувања при вчитување на ентитети и chunk-ови во игри како Minecraft и Project Zomboid
- Протекувања на меморија поврзани со модови што се ресетираат само при целосно рестартирање на серверот
- Одложена примена на промени во конфигурацијата што бараат рестартирање за да стапат на сила
Закажано рестартирање на секои 6 до 12 часа е најчестото поставување и спречува мнозинството од овие проблеми.
Предуслови
- Активен игрален сервер со Legion Hosting
- Пристап до GPanel со вашите акредитиви за сметка
- Вашиот сервер треба да биде во состојба Running (закажувањата се активираат само кога серверот е онлајн, освен ако не е поинаку конфигурирано)
Чекор 1: Отворете го табот Schedules
- Најавете се на GPanel и изберете го вашиот сервер од листата на сервери.
- Во левата странична лента, кликнете на табот Schedules.
- Ќе видите листа на било какви постоечки закажувања. Ако ова е нов сервер, листата ќе биде празна.
Чекор 2: Создадете ново закажување
- Кликнете на копчето Create Schedule.
- Внесете Name за закажувањето — нешто описно како
Auto Restart Every 6 Hours. - Поставете го Cron Expression за да контролирате кога се извршува закажувањето. Погледнете го делот подолу за чести примери.
- Осигурајте се дека Enabled е вклучено.
- Кликнете Save за да го создадете закажувањето.
Чекор 3: Додадете task за рестартирање на закажувањето
- По зачувувањето на закажувањето, кликнете на неговото име за да го отворите.
- Под делот Tasks, кликнете New Task.
- Поставете го Action на Send power action.
- Поставете го Payload на Restart.
- Поставете го Time Offset на
0секунди (ова значи дека task-от се извршува веднаш кога ќе се активира закажувањето). - Кликнете Save.
Вашето закажано рестартирање сега е активно. Серверот автоматски ќе се рестартира според cron изразот што го конфигуриравте.
Разбирање на cron изрази
GPanel користи cron изрази за да дефинира кога се извршува закажувањето. Cron израз има пет полиња одделени со празни места:
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 = Недела) | Денот од неделата |
Специјални знаци:
*— се совпаѓа со секоја вредност (џокер)*/N— се совпаѓа на секои N интервали (на пр.,*/6во полето Hour значи на секои 6 часа),— одделува повеќе вредности (на пр.,0,12значи во 0 и 12)
Чести закажувања за рестартирање
Еве ги најпопуларните интервали на рестартирање и cron изразите за користење во GPanel:
| Фреквенција на рестартирање | Cron израз | Рестартира во (Време на серверот) |
|---|---|---|
| На секои 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 |
Предупредување на играчите пред рестартирање
Рестартирање без предупредување може да ги прекине играчите среде акција, предизвикувајќи фрустрација или изгубен напредок. Можете да го користите task-от Send Command на GPanel за да емитувате порака за предупредување до играчите пред да се случи рестартирањето.
Како функционира
Наместо еден task за рестартирање, создавате повеќе task-ови во рамките на истото закажување, распоредени со временски поместувања:
- Task Send Command на поместување
0што емитува порака за предупредување (на пр., „Server restarting in 5 minutes") - Task Send Command на поместување
240(4 минути подоцна) со последно предупредување (на пр., „Server restarting in 1 minute") - Task Send power action → Restart на поместување
300(5 минути по првото предупредување)
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!
Најдобри практики
- Рестартирајте за време на часови надвор од врвот. Ако вашиот сервер има предвидлив распоред на играчи, времете ги рестартирањата за кога најмалку играчи се онлајн. Дневно рестартирање во 4:00 AM или 6:00 AM добро функционира за повеќето заедници.
- Секогаш вклучете предупредување. Дури и предупредување од 1 минута им дава на играчите време да стигнат до безбедна локација или да завршат трговија. Предупредување од 5 минути е идеално.
- Користете резервни копии заедно со рестартирањата. Ако вашата игра или GPanel поддржува автоматски резервни копии, закажете резервна копија пред рестартирањето. Ова осигурува дека секогаш имате неодамнешно зачувување во случај нешто да тргне наопаку.
- Не рестартирајте премногу често. Рестартирање на секој час е непотребно за повеќето сервери и ќе ги фрустрира играчите. На секои 6 до 12 часа е најдоброто место освен ако не работите со силно модиран сервер со познати проблеми со протекување на меморија.
- Тестирајте го вашето закажување. По создавањето на закажување, проверете повторно по првото очекувано време на активирање за да потврдите дека рестартирањето се случило. Погледнете го логот на GPanel конзолата за настанот на рестартирање.
- Именувајте ги вашите закажувања јасно. Користете описни имиња како „6h Auto Restart with Warning" за да можете брзо да идентификувате што прави секое закажување.
Управување со постоечки закажувања
Можете да менувате или оневозможувате закажувања во било кое време од табот Schedules во GPanel:
- За да уредите закажување: кликнете на името на закажувањето, сменете го cron изразот или task-овите и кликнете Save.
- За привремено да оневозможите закажување: отворете го закажувањето и исклучете го Enabled. Закажувањето ќе остане зачувано но нема да се активира додека не го овозможите повторно.
- За да избришете закажување: кликнете на иконата за бришење до закажувањето. Ова го отстранува трајно.
Решавање проблеми
| Проблем | Што да проверите |
|---|---|
| Закажувањето не се активира | Отворете го закажувањето и потврдете дека Enabled е вклучено. Проверете двапати го cron изразот — честа грешка е користење на неправилен редослед на полиња. Осигурајте се дека серверот е онлајн кога закажувањето треба да се активира. |
| Рестартирањето се случува но пораката за предупредување не се појавува | Осигурајте се дека task-от Send Command ја користи правилната команда за вашата игра. Потврдете дека временското поместување е помало од поместувањето на task-от за рестартирање (на пр., предупредување на 0 секунди, рестартирање на 300 секунди). |
| Серверот не се враќа онлајн по рестартирање | Проверете ја GPanel конзолата за грешки при стартување. Ако серверот паднал при гасење, можеби нема да се рестартира чисто. Обидете се со рачно Start од GPanel. Ако проблемот продолжи, отворете тикет за поддршка. |
| Cron изразот не е прифатен | GPanel бара точно 5 полиња во cron изразот (минута, час, ден од месец, месец, ден од недела). Не вклучувајте поле за секунди. Осигурајте се дека нема дополнителни празни места или специјални знаци. |
| Командата за предупредување се испраќа но играчите не ја гледаат | Некои игри бараат специфично форматирање. За Project Zomboid, пораката мора да биде во наводници: servermsg "Your message here". За Minecraft, say не користи наводници. Проверете го делот специфичен за играта погоре. |
Ви треба помош?
Ако имате проблеми со поставувањето на закажани рестартирања или вашето закажување не работи како што се очекуваше, отворете тикет за поддршка и вклучете:
- Името на вашиот сервер од GPanel
- Cron изразот што го користите
- Опис на тоа што се случува (или не се случува)
Нашиот тим за поддршка ќе ви помогне да го конфигурирате закажувањето правилно.