Αυτός είναι ο πρακτικός συνοδός της σελίδας μας VPS για game server. Εκείνη αφορά ποιο πακέτο ταιριάζει· αυτή αφορά το να στήσετε πραγματικά τον server — Paper, ένα σωστό systemd service, τη config που σας εξοικονομεί RAM, το firewall, και τα backups. Στο τέλος θα έχετε έναν Minecraft server που επιβιώνει ενός crash, επιβιώνει μιας επανεκκίνησης, και δεν τρώει σιωπηλά όλο σας το box.
Μια έντιμη σημείωση πριν ξεκινήσουμε: τα όρια CPU και RAM από τη σελίδα use-case εξακολουθούν να ισχύουν. Το Paper σε ένα πακέτο Small ή Medium είναι εξαιρετικό για μια παρέα φίλων. Ένα pack 150-mods για μια μεγάλη κοινότητα δεν είναι αυτό για το οποίο υπάρχουν αυτά τα πακέτα, και καμία ποσότητα config δεν το διορθώνει. Με αυτό ξεκάθαρο, ας χτίσουμε.
1. Εγκαταστήστε Java
Το Paper τρέχει σε Java. Εγκαταστήστε ένα headless JDK — για μια τρέχουσα έκδοση Minecraft αυτό είναι Java 21:
sudo apt update
sudo apt install -y openjdk-21-jre-headless
java -version
Αν η έκδοση Minecraft σας είναι παλαιότερη, εγκαταστήστε τη Java που ζητά (17 για την εποχή 1.18-1.20). Τα logs του server θα παραπονεθούν δυνατά αν η έκδοση είναι λάθος.
2. Στήστε τον κατάλογο server και το Paper
Τρέξτε τον server ως δικό του χρήστη, όχι root — αν κάτι πάει ποτέ στραβά, θέλετε την ακτίνα έκρηξης μικρή.
sudo adduser --system --group --home /opt/minecraft minecraft
sudo -u minecraft mkdir -p /opt/minecraft/server
cd /opt/minecraft/server
Κατεβάστε το jar του Paper για την έκδοση Minecraft σας (πάρτε το URL από τη σελίδα downloads τους) και αποθηκεύστε το ως server.jar:
sudo -u minecraft wget -O server.jar "PASTE_PAPER_DOWNLOAD_URL_HERE"
Τρέξτε το μία φορά για να δημιουργήσετε τα αρχεία config, μετά αποδεχτείτε το EULA:
sudo -u minecraft java -Xms1G -Xmx3G -jar server.jar --nogui
# it stops immediately asking you to accept the EULA
sudo -u minecraft sed -i 's/eula=false/eula=true/' eula.txt
Το -Xmx3G είναι το ανώτατο όριο heap του JVM. Σε ένα πακέτο Small 4 GB, ~3 GB για το JVM αφήνει στο OS χώρο να αναπνεύσει. Μην το ορίζετε στην πλήρη σας RAM — το JVM έχει overhead πέρα από το heap, και ο OOM killer δεν διαπραγματεύεται.
3. Ρυθμίστε το server.properties για εξοικονόμηση RAM
Εδώ αγοράζετε απόδοση δωρεάν. Ανοίξτε το server.properties και ορίστε:
view-distance=8
simulation-distance=6
max-players=10
view-distance— chunks που κρατιούνται φορτωμένα γύρω από κάθε παίκτη. Η προεπιλογή 10 είναι γενναιόδωρη· το 8 (ή και 6) κόβει RAM και CPU αισθητά και σχεδόν κανείς δεν παρατηρεί τη διαφορά.simulation-distance— πόσο μακριά κάνουν πραγματικά tick τα entities, το redstone, και η ανάπτυξη σοδειάς. Χαμηλότερο είναι φθηνότερο. Το 6 είναι ένα λογικό σημείο εκκίνησης.max-players— ορίστε το σε αυτό που πραγματικά περιμένετε, ώστε ένα ξαφνικό πλήθος να μην τινάξει τον προϋπολογισμό RAM σας.
Θυμηθείτε την πραγματικότητα του single-thread: το tick του Minecraft στηρίζεται σε έναν πυρήνα. Αν το TPS πέσει, περισσότερη RAM δεν θα βοηθήσει — χαμηλώστε το simulation-distance και τα όρια mob.
4. Τρέξτε τον ως systemd service
Αυτό είναι το μέρος που μετατρέπει «ένα jar που έτρεξα μία φορά» σε «έναν server». Δημιουργήστε το /etc/systemd/system/minecraft.service:
[Unit]
Description=Minecraft Paper Server
After=network.target
[Service]
User=minecraft
Group=minecraft
WorkingDirectory=/opt/minecraft/server
ExecStart=/usr/bin/java -Xms1G -Xmx3G -jar server.jar --nogui
Restart=on-failure
RestartSec=10
SuccessExitStatus=0 143
[Install]
WantedBy=multi-user.target
Το Restart=on-failure είναι η γραμμή που μετρά — αν το JVM κρασάρει, το systemd το φέρνει πίσω σε δέκα δευτερόλεπτα. Το SuccessExitStatus=... 143 σταματά το systemd από το να αντιμετωπίζει μια κανονική SIGTERM τερματισμού ως αποτυχία. Ενεργοποιήστε και ξεκινήστε το:
sudo systemctl daemon-reload
sudo systemctl enable --now minecraft
sudo systemctl status minecraft
sudo journalctl -u minecraft -f # live logs
Τώρα ξεκινά στο boot, επανεκκινεί σε crash, και τα logs πάνε στο journald.
5. Ανοίξτε το port του firewall
Το Minecraft ακούει στο TCP 25565 εξ ορισμού. Ανοίξτε μόνο αυτό:
sudo ufw allow 25565/tcp
sudo ufw enable
Δώστε στους φίλους σας το IP του server (και :25565 αν αλλάξατε το port). Μην ανοίγετε τίποτα που δεν χρειάζεστε — όλο το νόημα του να τρέχετε το δικό σας box είναι ότι εσείς αποφασίζετε τι είναι προσβάσιμο.
6. Κάντε backup τον κόσμο
Αυτό που οι άνθρωποι παραλείπουν μέχρι τη μέρα που θα ήθελαν να μην το είχαν κάνει. Ένα απλό script:
#!/bin/bash
cd /opt/minecraft/server
TS=$(date +%Y%m%d-%H%M)
tar czf /opt/minecraft/backups/world-$TS.tar.gz world world_nether world_the_end
Τρέξτε το από cron, και — αυτό είναι το σημαντικό μισό — αντιγράψτε το αρχείο εκτός του server, σε object storage ή άλλη μηχανή. Ένα backup στον ίδιο δίσκο με τον κόσμο πεθαίνει μαζί με τον δίσκο. Αν ο κόσμος σας μετρά, τρέξτε save-off και save-all στην κονσόλα του server πριν το tar ώστε να μη φωτογραφίσετε ποτέ στη μέση μιας εγγραφής.
Αυτό είναι όλο το πράγμα
Java, Paper, ρυθμισμένη config, ένα systemd service που κάνει auto-restart, ένα port firewall, και backups που ζουν κάπου αλλού. Αυτό είναι ένας Minecraft server που συμπεριφέρεται σαν ένας.
Αν δεν έχετε ακόμη box: επιλέξτε πακέτο — Small ($8) για μια μικρή ομάδα, Medium ($12) αν σπρώχνετε δέκα παίκτες — πληρώστε σε USDC ή USDT (χωρίς KYC, χωρίς έγγραφα), και θα έχετε root σε περίπου 60 δευτερόλεπτα. Μετά δουλέψτε προς τα κάτω αυτή τη σελίδα. Και η έντιμη υπενθύμιση μια τελευταία φορά: αυτή είναι η σωστή εγκατάσταση για vanilla ή Paper με φίλους. Ένα βαρύ modpack για μια μεγάλη κοινότητα χρειάζεται διαφορετικό hardware, και προτιμάμε να το ακούσετε από εμάς πρώτα.
Σχόλια
Δεν υπάρχουν ακόμη σχόλια. Γίνετε ο πρώτος.