Οι game servers επωφελούνται από τακτικές επανεκκινήσεις για να καθαρίζουν διαρροές μνήμης, να εφαρμόζουν αλλαγές διαμόρφωσης, και να διατηρούν σταθερή την απόδοση κατά τη διάρκεια μεγάλων συνεδριών παιχνιδιού. Αυτός ο οδηγός σας δείχνει πώς να ρυθμίσετε αυτόματες προγραμματισμένες επανεκκινήσεις χρησιμοποιώντας τη λειτουργία Schedules στο GPanel, ώστε ο server σας να παραμένει υγιής χωρίς χειροκίνητη παρέμβαση.
Γιατί να Προγραμματίσετε Επανεκκινήσεις;
Οι περισσότεροι game servers συσσωρεύουν χρήση μνήμης και προσωρινά δεδομένα με την πάροδο του χρόνου. Χωρίς περιοδικές επανεκκινήσεις, μπορεί να παρατηρήσετε:
- Αυξανόμενο lag και rubber-banding καθώς η χρήση RAM αυξάνεται με τις ώρες ή τις ημέρες
- Επιβραδύνσεις φόρτωσης entities και chunks σε παιχνίδια όπως το Minecraft και το Project Zomboid
- Διαρροές μνήμης σχετικές με mods που επαναφέρονται μόνο με μια πλήρη επανεκκίνηση του server
- Καθυστερημένη εφαρμογή αλλαγών διαμόρφωσης που απαιτούν επανεκκίνηση για να τεθούν σε ισχύ
Μια προγραμματισμένη επανεκκίνηση κάθε 6 έως 12 ώρες είναι η πιο συνηθισμένη ρύθμιση και αποτρέπει την πλειονότητα αυτών των προβλημάτων.
Προαπαιτούμενα
- Έναν ενεργό game server με τη Legion Hosting
- Πρόσβαση στο GPanel με τα διαπιστευτήρια του λογαριασμού σας
- Ο server σας θα πρέπει να είναι σε κατάσταση Running (τα schedules ενεργοποιούνται μόνο όταν ο server είναι online, εκτός αν διαμορφωθεί διαφορετικά)
Βήμα 1: Ανοίξτε την Καρτέλα Schedules
- Συνδεθείτε στο GPanel και επιλέξτε τον server σας από τη λίστα servers.
- Στην αριστερή πλαϊνή μπάρα, κάντε κλικ στην καρτέλα Schedules.
- Θα δείτε μια λίστα με τυχόν υπάρχοντα schedules. Αν αυτός είναι ένας νέος server, η λίστα θα είναι κενή.
Βήμα 2: Δημιουργήστε ένα Νέο Schedule
- Κάντε κλικ στο κουμπί Create Schedule.
- Εισαγάγετε ένα Name για το schedule — κάτι περιγραφικό όπως
Auto Restart Every 6 Hours. - Ορίστε το Cron Expression για να ελέγξετε πότε εκτελείται το schedule. Δείτε την παρακάτω ενότητα για συνηθισμένα παραδείγματα.
- Βεβαιωθείτε ότι το Enabled είναι ενεργοποιημένο.
- Κάντε κλικ στο Save για να δημιουργήσετε το schedule.
Βήμα 3: Προσθέστε μια Εργασία Επανεκκίνησης στο Schedule
- Αφού αποθηκεύσετε το schedule, κάντε κλικ στο όνομά του για να το ανοίξετε.
- Κάτω από την ενότητα Tasks, κάντε κλικ στο New Task.
- Ορίστε το Action σε Send power action.
- Ορίστε το Payload σε Restart.
- Ορίστε το Time Offset σε
0δευτερόλεπτα (αυτό σημαίνει ότι η εργασία εκτελείται αμέσως όταν ενεργοποιείται το schedule). - Κάντε κλικ στο Save.
Η προγραμματισμένη επανεκκίνησή σας είναι τώρα ενεργή. Ο server θα επανεκκινείται αυτόματα σύμφωνα με το cron expression που διαμορφώσατε.
Κατανόηση των Cron Expressions
Το GPanel χρησιμοποιεί cron expressions για να ορίσει πότε εκτελείται ένα schedule. Ένα cron expression έχει πέντε πεδία διαχωρισμένα με κενά:
Minute Hour Day-of-Month Month Day-of-Week
* * * * *
| Πεδίο | Επιτρεπόμενες Τιμές | Περιγραφή |
|---|---|---|
| Minute | 0–59 | Το λεπτό της ώρας που εκτελείται η εργασία |
| 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)
Συνηθισμένα Schedules Επανεκκίνησης
Εδώ είναι τα πιο δημοφιλή διαστήματα επανεκκίνησης και τα cron expressions για χρήση στο GPanel:
| Συχνότητα Επανεκκίνησης | Cron Expression | Επανεκκίνηση Στις (Ώρα Server) |
|---|---|---|
| Κάθε 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 |
Προειδοποίηση των Παικτών Πριν από μια Επανεκκίνηση
Η επανεκκίνηση χωρίς προειδοποίηση μπορεί να διακόψει τους παίκτες στη μέση μιας ενέργειας, προκαλώντας απογοήτευση ή απώλεια προόδου. Μπορείτε να χρησιμοποιήσετε την εργασία Send Command του GPanel για να μεταδώσετε ένα προειδοποιητικό μήνυμα στους παίκτες πριν συμβεί η επανεκκίνηση.
Πώς Λειτουργεί
Αντί για μία μόνο εργασία επανεκκίνησης, δημιουργείτε πολλαπλές εργασίες μέσα στο ίδιο schedule, κατανεμημένες με χρονικές μετατοπίσεις:
- Μια εργασία Send Command στο offset
0που μεταδίδει ένα προειδοποιητικό μήνυμα (π.χ., "Ο server επανεκκινείται σε 5 λεπτά") - Μια εργασία Send Command στο offset
240(4 λεπτά αργότερα) με μια τελική προειδοποίηση (π.χ., "Ο server επανεκκινείται σε 1 λεπτό") - Μια εργασία Send power action → Restart στο offset
300(5 λεπτά μετά την πρώτη προειδοποίηση)
0 για αμέσως, 60 για 1 λεπτό, 300 για 5 λεπτά, κ.λπ.
Παράδειγμα: Πλήρες Schedule με Προειδοποιήσεις
Εδώ είναι πώς φαίνεται ένα πλήρες schedule με μια προειδοποίηση 5 λεπτών, μια προειδοποίηση 1 λεπτού, και την επανεκκίνηση:
| Εργασία # | 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 για να μεταδώσετε ένα μήνυμα chat σε όλους τους παίκτες:
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!
Βέλτιστες Πρακτικές
- Επανεκκινήστε κατά τις ώρες εκτός αιχμής. Αν ο server σας έχει ένα προβλέψιμο πρόγραμμα παικτών, χρονομετρήστε τις επανεκκινήσεις για όταν είναι online οι λιγότεροι παίκτες. Μια ημερήσια επανεκκίνηση στις 4:00 AM ή 6:00 AM λειτουργεί καλά για τις περισσότερες κοινότητες.
- Συμπεριλαμβάνετε πάντα μια προειδοποίηση. Ακόμα και μια προειδοποίηση 1 λεπτού δίνει στους παίκτες χρόνο να φτάσουν σε ένα ασφαλές σημείο ή να ολοκληρώσουν μια συναλλαγή. Μια προειδοποίηση 5 λεπτών είναι ιδανική.
- Χρησιμοποιήστε αντίγραφα ασφαλείας μαζί με τις επανεκκινήσεις. Αν το παιχνίδι σας ή το GPanel υποστηρίζει αυτόματα αντίγραφα ασφαλείας, προγραμματίστε ένα αντίγραφο ασφαλείας πριν από την επανεκκίνηση. Αυτό διασφαλίζει ότι έχετε πάντα μια πρόσφατη αποθήκευση σε περίπτωση που κάτι πάει στραβά.
- Μην επανεκκινείτε πολύ συχνά. Η επανεκκίνηση κάθε ώρα είναι περιττή για τους περισσότερους servers και θα απογοητεύσει τους παίκτες. Κάθε 6 έως 12 ώρες είναι το ιδανικό σημείο, εκτός αν εκτελείτε έναν server με πολλά mods με γνωστά προβλήματα διαρροής μνήμης.
- Δοκιμάστε το schedule σας. Αφού δημιουργήσετε ένα schedule, επιστρέψτε μετά την πρώτη αναμενόμενη ώρα ενεργοποίησης για να επιβεβαιώσετε ότι η επανεκκίνηση συνέβη. Δείτε το αρχείο καταγραφής της Κονσόλας του GPanel για το συμβάν επανεκκίνησης.
- Ονομάστε τα schedules σας με σαφήνεια. Χρησιμοποιήστε περιγραφικά ονόματα όπως "6h Auto Restart with Warning" ώστε να μπορείτε να αναγνωρίζετε γρήγορα τι κάνει το καθένα.
Διαχείριση Υπαρχόντων Schedules
Μπορείτε να τροποποιήσετε ή να απενεργοποιήσετε schedules οποιαδήποτε στιγμή από την καρτέλα Schedules στο GPanel:
- Για να επεξεργαστείτε ένα schedule: κάντε κλικ στο όνομα του schedule, αλλάξτε το cron expression ή τις εργασίες, και κάντε κλικ στο Save.
- Για να απενεργοποιήσετε προσωρινά ένα schedule: ανοίξτε το schedule και απενεργοποιήστε το Enabled. Το schedule θα παραμείνει αποθηκευμένο αλλά δεν θα ενεργοποιηθεί μέχρι να το ενεργοποιήσετε ξανά.
- Για να διαγράψετε ένα schedule: κάντε κλικ στο εικονίδιο διαγραφής δίπλα στο schedule. Αυτό το αφαιρεί μόνιμα.
Αντιμετώπιση Προβλημάτων
| Πρόβλημα | Τι να Ελέγξετε |
|---|---|
| Το schedule δεν ενεργοποιείται | Ανοίξτε το schedule και επιβεβαιώστε ότι το Enabled είναι ενεργοποιημένο. Ελέγξτε ξανά το cron expression — ένα συνηθισμένο λάθος είναι η χρήση εσφαλμένης σειράς πεδίων. Βεβαιωθείτε ότι ο server είναι online όταν υποτίθεται ότι θα ενεργοποιηθεί το schedule. |
| Η επανεκκίνηση συμβαίνει αλλά το προειδοποιητικό μήνυμα δεν εμφανίζεται | Βεβαιωθείτε ότι η εργασία Send Command χρησιμοποιεί τη σωστή εντολή για το παιχνίδι σας. Επαληθεύστε ότι η χρονική μετατόπιση είναι μικρότερη από τη μετατόπιση της εργασίας επανεκκίνησης (π.χ., προειδοποίηση στα 0 δευτερόλεπτα, επανεκκίνηση στα 300 δευτερόλεπτα). |
| Ο server δεν επανέρχεται online μετά την επανεκκίνηση | Ελέγξτε την Κονσόλα του GPanel για σφάλματα εκκίνησης. Αν ο server κατέρρευσε κατά τον τερματισμό, μπορεί να μην επανεκκινηθεί καθαρά. Δοκιμάστε ένα χειροκίνητο Start από το GPanel. Αν το πρόβλημα επιμένει, ανοίξτε ένα ticket υποστήριξης. |
| Το cron expression δεν γίνεται αποδεκτό | Το GPanel απαιτεί ακριβώς 5 πεδία στο cron expression (λεπτό, ώρα, ημέρα μήνα, μήνας, ημέρα εβδομάδας). Μην συμπεριλάβετε πεδίο δευτερολέπτων. Βεβαιωθείτε ότι δεν υπάρχουν επιπλέον κενά ή ειδικοί χαρακτήρες. |
| Η προειδοποιητική εντολή στέλνεται αλλά οι παίκτες δεν τη βλέπουν | Ορισμένα παιχνίδια απαιτούν συγκεκριμένη μορφοποίηση. Για το Project Zomboid, το μήνυμα πρέπει να είναι σε εισαγωγικά: servermsg "Your message here". Για το Minecraft, το say δεν χρησιμοποιεί εισαγωγικά. Ελέγξτε την ενότητα ειδική για το παιχνίδι παραπάνω. |
Χρειάζεστε Βοήθεια;
Αν αντιμετωπίζετε προβλήματα στη ρύθμιση προγραμματισμένων επανεκκινήσεων ή το schedule σας δεν λειτουργεί όπως αναμενόταν, ανοίξτε ένα ticket υποστήριξης και συμπεριλάβετε:
- Το όνομα του server σας από το GPanel
- Το cron expression που χρησιμοποιείτε
- Μια περιγραφή του τι συμβαίνει (ή δεν συμβαίνει)
Η ομάδα υποστήριξής μας θα σας βοηθήσει να διαμορφώσετε το schedule σωστά.