Προαπαιτούμενα
Βήμα 1: Προσθήκη του αποθετηρίου Minetest Stable και εγκατάσταση του λογισμικού διακομιστή
Βήμα 2: Δημιουργία χρήστη, άνοιγμα θυρών και δοκιμή του διακομιστή
Βήμα 3: Διαμόρφωση του διακομιστή Minetest
Βήμα 4: Εκτέλεση του διακομιστή κατά την εκκίνηση
συμπέρασμα
Το Minetest είναι μια δωρεάν και ανοιχτού κώδικα εναλλακτική λύση στο δημοφιλές παιχνίδι Minecraft. Ο διακομιστής είναι εξαιρετικά εύκολος στη ρύθμιση και λειτουργία του.
Προαπαιτούμενα
- Ένα 1 GB+ VPS ή ένα αποκλειστικό παράδειγμα που τρέχει το Ubuntu 17.04.
- wget (εγκατεστημένο με
apt install wget).
- Ένας επεξεργαστής κειμένου.
Βήμα 1: Προσθήκη του αποθετηρίου Minetest Stable και εγκατάσταση του λογισμικού διακομιστή
Καθώς το Ubuntu τείνει να υστερεί με τα πακέτα για το Minetest, θα χρησιμοποιείτε το σταθερό PPA. Αυτό μπορεί να προστεθεί με τις ακόλουθες εντολές.
# add-apt-repository ppa:minetestdevs/stable
# apt update
Μετά από αυτό μπορείτε να εγκαταστήσετε τον διακομιστή.
# apt install minetest
Βήμα 2: Δημιουργία χρήστη, άνοιγμα θυρών και δοκιμή του διακομιστή
Για λόγους ασφαλείας, είναι πάντα καλή ιδέα να εκτελούνται υπηρεσίες εντός του δικού τους χρήστη, όπως φαίνεται.
# useradd -mU minetest
Αυτό θα δημιουργήσει τον minetestχρήστη σας με τη δική του ομάδα και με έναν αρχικό κατάλογο στον οποίο θα εκτελείται ο διακομιστής.
Πριν από τη δοκιμή, πρέπει να ανοίξετε τη θύρα 30000στο προεπιλεγμένο τείχος προστασίας του Ubuntu, διαφορετικά δεν θα μπορείτε να συνδεθείτε.
# ufw allow 30000
Τώρα θα ήταν μια καλή στιγμή να δοκιμάσετε τον διακομιστή και να δείτε αν εκτελείται.
# su minetest
$ minetest --server
Εάν όλα πήγαν καλά, θα σας υποδεχτεί το ακόλουθο αποτέλεσμα:
WARNING[Main]: BanManager: creating /home/minetest/.minetest/worlds/world/ipban.txt
WARNING[Main]: NodeDefManager: Ignoring CONTENT_IGNORE redefinition
WARNING[Main]: /!\ You are using old player file backend. This backend is deprecated and will be removed in next release /!\
WARNING[Main]: Switching to SQLite3 or PostgreSQL is advised, please read http://wiki.minetest.net/Database_backends.
ACTION[Main]: .__ __ __
ACTION[Main]: _____ |__| ____ _____/ |_ ____ _______/ |_
ACTION[Main]: / \| |/ \_/ __ \ __\/ __ \ / ___/\ __\
ACTION[Main]: | Y Y \ | | \ ___/| | \ ___/ \___ \ | |
ACTION[Main]: |__|_| /__|___| /\___ >__| \___ >____ > |__|
ACTION[Main]: \/ \/ \/ \/ \/
ACTION[Main]: World at [/home/minetest/.minetest/worlds/world]
ACTION[Main]: Server for gameid="minetest" listening on 0.0.0.0:30000.
Εάν λάβετε την παραπάνω προειδοποίηση σχετικά με το backend του προγράμματος αναπαραγωγής, μην ανησυχείτε πολύ, καθώς αυτό θα διορθωθεί στο επόμενο βήμα.
Συνδεθείτε στον διακομιστή σας με τον πελάτη σας για να δείτε αν όλα λειτουργούν. Μπορείτε να σταματήσετε τον διακομιστή ανά πάσα στιγμή πατώντας Ctrl+Cτο πληκτρολόγιό σας μέσα στο κέλυφος.
Βήμα 3: Διαμόρφωση του διακομιστή Minetest
Αρχικά, θα θέλετε να κάνετε λήψη του παραδείγματος minetest.confαρχείου διαμόρφωσης.
$ cd ~/.minetest
$ wget https://raw.githubusercontent.com/minetest/minetest/master/minetest.conf.example
$ mv minetest.conf.example minetest.conf
Αυτό το αρχείο έχει μια εκτενή λίστα πιθανών ρυθμίσεων που μπορείτε να τροποποιήσετε και να ενεργοποιήσετε (χωρίς σχολιασμό γραμμών), ωστόσο προς το παρόν υπάρχουν μερικές σημαντικές που πρέπει να ορίσετε.
Το όνομα και η περιγραφή του διακομιστή σας (για παράδειγμα):
server_name = Minetest server
server_description = Welcome to my Minetest Server
Η διεύθυνση IP και η επιθυμητή θύρα του διακομιστή σας (για παράδειγμα):
bind_address = 203.0.113.1
port = 30000
Εάν ορίσετε διαφορετική θύρα από την προεπιλεγμένη, 30000φροντίστε να ενημερώσετε τους κανόνες του τείχους προστασίας.
#ufw delete allow 30000
#ufw allow <port>
Μια άλλη σημαντική επιλογή είναι name. Όποιος συνδεθεί στον διακομιστή Minetest με την καθορισμένη τιμή θα λάβει δικαιώματα διαχειριστή. Ορίστε αυτό το όνομα χρήστη που θέλετε και ορίστε έναν κωδικό πρόσβασης για τον λογαριασμό σας αργότερα.
Πιθανότατα θα θυμάστε την προειδοποίηση σχετικά με το backend του προγράμματος αναπαραγωγής νωρίτερα, επομένως η μετάβαση στο SQLite3 είναι απαραίτητη καθώς το παλιό backend έχει καταργηθεί και θα καταργηθεί σε μεταγενέστερη έκδοση, εάν δεν έχει ήδη γίνει. Εάν δεν λάβατε αυτό το μήνυμα όταν δοκιμάσατε τον διακομιστή στο βήμα 2, τότε μπορείτε να μεταβείτε κατευθείαν στο βήμα 4.
$ minetest --server --migrate-players sqlite3 --world ~/.minetest/worlds/world
Στη συνέχεια, θα πρέπει να δείτε κάτι σαν το ακόλουθο μήνυμα.
ACTION[Main]: Successfully migrated 1 players
ACTION[Main]: world.mt updated
Βήμα 4: Εκτέλεση του διακομιστή κατά την εκκίνηση
Για να εκτελεστεί ο διακομιστής κατά την εκκίνηση απαιτείται ένα αρχείο υπηρεσίας systemd. Ευτυχώς, αυτά είναι αρκετά απλά στη δημιουργία.
Βγείτε ξανά στο ριζικό σας κέλυφος και προσθέστε τα παρακάτω /etc/systemd/system/minetest.service
[Unit]
Description=Minetest Server
After=network.target
[Service]
Type=simple
User=minetest
Group=minetest
WorkingDirectory=/home/minetest
ExecStart=/usr/bin/minetest --server
Restart=on-abort
[Install]
WantedBy=multi-user.target
Από τώρα και στο εξής, ο διακομιστής Minetest μπορεί να ξεκινήσει με systemctl(και θα το κάνει αυτόματα μετά την επανεκκίνηση ή εάν ο διακομιστής Minetest διακοπεί)
# systemctl enable minetest.service
# systemctl start minetest.service
Ομοίως, μπορείτε να ελέγξετε την κατάσταση ή να σταματήσετε/επανεκκινήσετε τον διακομιστή Minetest αντικαθιστώντας το "start" στην παραπάνω εντολή.
συμπέρασμα
Ο διακομιστής Minetest θα πρέπει να είναι ενεργός και να μπορεί να χρησιμοποιηθεί. Εάν αντιμετωπίζετε προβλήματα με τη σύνδεση, βεβαιωθείτε ότι η θύρα σας είναι ανοιχτή και ότι η διεύθυνση IP έχει καθοριστεί σωστά στο minetest.conf. Πληροφορίες σχετικά με τη διαχείριση των δικαιωμάτων του προγράμματος αναπαραγωγής και τις διάφορες εντολές διακομιστή μπορείτε να βρείτε στο wiki του Minetest .