Τι θα χρειαστείτε
Βήμα 1: Εγκατάσταση του BungeeCord
Βήμα 2: Διαμόρφωση του BungeeCord
Βήμα 3: Εκκίνηση του διακομιστή και σταθεροποίηση του
Προσθήκη επιπλέον διακομιστή
Μέτρα ασφαλείας
συμπέρασμα
Τι θα χρειαστείτε
- Ένα Vultr VPS με τουλάχιστον 1 GB μνήμης RAM.
- Πρόσβαση SSH (με
root/ administrativeπρονόμια).
Βήμα 1: Εγκατάσταση του BungeeCord
Το πρώτο πράγμα είναι πρώτα, πρέπει να εγκαταστήσουμε την Java για να λειτουργήσει. Ανάλογα με το αν χρησιμοποιείτε λειτουργικό σύστημα που βασίζεται στο Debian ή CentOS, οι εντολές θα είναι ελαφρώς διαφορετικές για κάθε λειτουργικό σύστημα. Κάθε εντολή θα σημειώσει το λειτουργικό σύστημα που πρέπει να τη χρησιμοποιήσει. Εάν όλα τα CentOS 7, Debian 8 και Debian 9 το υποστηρίζουν, δεν θα εμφανιστεί ειδική σήμανση.
Λειτουργικό σύστημα: CentOS 7
yum install java-1.7.0-openjdk-devel screen -y
Λειτουργικό σύστημα: Debian 8 και Debian 9
apt-get update
apt-get install openjdk-7-jdk screen -y
Αυτό που θα θέλετε να κάνετε στη συνέχεια είναι να δημιουργήσετε έναν ξεχωριστό χρήστη για την εκτέλεση του διακομιστή. Αν και αυτό είναι προαιρετικό, συνιστάται ανεπιφύλακτα να μην φιλοξενείτε ποτέ κανένα δημόσιο σύστημα ως rootχρήστης. Αυτό ανοίγει το VPS σας σε εκμετάλλευση και αυτό μπορεί να έχει ως αποτέλεσμα τον τερματισμό του διακομιστή σας εδώ στο Vultr εάν χρησιμοποιηθεί για παράνομους σκοπούς, ακόμα κι αν δεν προκαλείται από εσάς.
CURRENT_USER='bungeemc'
useradd $CURRENT_USER -m -d /home/bungee
Μη διστάσετε να αλλάξετε το όνομα χρήστη από bungeemc, αν και θα είναι ο χρήστης που χρησιμοποιείται σε όλο το άρθρο.
Στη συνέχεια, συνδεθείτε ως χρήστης.
su $CURRENT_USER
Τώρα, δημιουργήστε έναν φάκελο για τον διακομιστή BungeeCord.
mkdir ~/bungeeServer
cd ~/bungeeServer
Κατεβάστε το εκτελέσιμο αρχείο του διακομιστή.
wget http://ci.md-5.net/job/BungeeCord/lastSuccessfulBuild/artifact/bootstrap/target/BungeeCord.jar
Ας το τρέξουμε για πρώτη φορά.
java -Xms256M -Xmx512M -jar BungeeCord.jar
Γενικά, για την εντολή που εμφανίζεται παραπάνω, θα θέλετε να αφήσετε ελεύθερα τουλάχιστον 128 MB μνήμης RAM για να επιτρέψετε στο σύστημα να λειτουργεί ομαλά. Διαφορετικά, ενδέχεται να αντιμετωπίσετε προβλήματα αργότερα, καθώς η εφαρμογή εφαρμογής χαμηλής μνήμης του λειτουργικού συστήματος θα σκοτώσει τον διακομιστή σας όταν η μνήμη εξαντληθεί.
Σε αυτό το σημείο, θα πρέπει να πατήσετε CTRL+Cγια έξοδο από την προτροπή διακομιστή. Όλα τα απαιτούμενα αρχεία έχουν δημιουργηθεί, οπότε μπορούμε να προχωρήσουμε στη διαμόρφωση.
Βήμα 2: Διαμόρφωση του BungeeCord
Για αυτό το άρθρο, θα προσθέσουμε μόνο έναν διακομιστή Minecraft για το λόμπι πίσω από τον διακομιστή μεσολάβησης του BungeeCord. Αργότερα στο άρθρο, θα δοθούν πρόσθετες πληροφορίες σχετικά με την προσθήκη επιπλέον διακομιστών είτε σε επιπλέον διακομιστές Vultr VPS είτε στο τρέχον σύστημα.
Χρησιμοποιώντας το αγαπημένο σας πρόγραμμα επεξεργασίας κειμένου, ανοίξτε το αρχείο με το όνομα config.yml.
Προσοχή: Η σύνταξη ενός αρχείου YAML είναι πολύ σημαντική. Η Java είναι πολύ επιλεκτική όσον αφορά την απόσταση .
Προσθέστε τον εαυτό σας ως διαχειριστή. Αλλάξτε md_5το όνομα χρήστη σας στο Minecraft. Η προσθήκη επιπλέον διαχειριστών απαιτεί πρώτα να βάλετε δύο κενά, να γράψετε ένα όνομα χρήστη, να προσθέσετε άνω και κάτω τελεία, να μεταβείτε στην επόμενη γραμμή, να προσθέσετε άλλα δύο κενά και τη - adminσημαία.
Στο τέλος, θα πρέπει να μοιάζει με αυτό.
groups:
myMCUsername:
- admin
extraAdmin:
- admin
Στη συνέχεια, αλλάξτε ip_forward: falseσε ip_forward: true. Αυτό θα επιτρέψει σε όλους τους διακομιστές-στόχους να δουν την IP του πελάτη, κάτι που επιτρέπει την έκδοση αποκλεισμών βάσει IP.
Μεταβείτε στη γραμμή με player_limit. Αλλάξτε την προεπιλογή από 1την ποσότητα των κουλοχέρηδων. Εάν αυτή η τιμή έχει οριστεί σε -1, ένας απεριόριστος αριθμός παικτών μπορούν να συμμετάσχουν.
Δείτε πώς listenersπρέπει να μοιάζει το τμήμα σας .
listeners:
- max_players: 1000
priorities:
- lobby
proxy_protocol: false
host: 0.0.0.0:25565
tab_size: 60
force_default_server: false
bind_local_address: true
ping_passthrough: false
tab_list: GLOBAL_PING
motd: '&lMy first BungeeCord server'
query_enabled: false
query_port: 25577
Αλλάξτε τα περιεχόμενα των μεμονωμένων εισαγωγικών μετά motd:για να ορίσετε την περιγραφή του διακομιστή σας (τι θα δει ένας παίκτης όταν κοιτάζει για πρώτη φορά τον διακομιστή στον υπολογιστή-πελάτη.) Βεβαιωθείτε ότι η γραμμή εντός του listenersμπλοκ που αρχίζει με host: 0.0.0.0περιέχει τη θύρα 25565 για να επιτρέπεται στους χρήστες να συνδέονται χωρίς προσδιορίζοντας μια θύρα.
Το τελευταίο πράγμα που πρέπει να κάνουμε για το BungeeCord είναι να τοποθετήσουμε μια καταχώρηση για το λόμπι μας (συμμετέχουν οι παίκτες προεπιλεγμένου διακομιστή.) Θα χρησιμοποιήσουμε την προεπιλεγμένη καταχώρηση προς το παρόν, καθώς ταιριάζει στις ανάγκες μας. Αλλάξτε το mod στην επιθυμητή περιγραφή διακομιστή και στο τέλος, θα πρέπει τώρα να μοιάζει με αυτό.
servers:
lobby:
address: localhost:25567
restricted: false
motd: 'My lobby server'
Αποθηκεύστε και κλείστε το αρχείο.
Τώρα, ας δημιουργήσουμε τον διακομιστή λόμπι. Υπάρχουν πολλά άρθρα διακομιστή Minecraft στο Vultr, αλλά συνιστάται να επιλέξετε ένα που περιλαμβάνει είτε το Spigot είτε το CraftBukkit. Ακολουθήστε το τμήμα "Λήψη και χρήση του BuiltTools" στο άρθρο " Ρύθμιση του Spigot στο Ubuntu ". Σταματήστε όταν φτάσετε στην ενότητα "Προαιρετικό: Εκτέλεση στο παρασκήνιο". Θυμηθείτε να ορίσετε σωστά τα όρια μνήμης για τον διακομιστή SpigotMC και να αποδεχτείτε την Άδεια Χρήσης.
Υπάρχει μία αλλαγή που πρέπει να κάνετε: ενεργοποίηση της λειτουργίας εκτός σύνδεσης για τον διακομιστή προορισμού. Αυτό γίνεται ανοίγοντας server.propertiesκαι αλλάζοντας online-mode=trueσε false. Θα το συζητήσουμε στην ενότητα Μέτρα Ασφαλείας .
Σε αυτό το σημείο, θα πρέπει να έχετε ένα jarfile SpigotMC.
Βήμα 3: Εκκίνηση του διακομιστή και σταθεροποίηση του
Το πρώτο πράγμα που θα κάνουμε είναι να δημιουργήσουμε ένα σενάριο που θα εκκινεί και τους δύο διακομιστές.
Αντιγράψτε το σενάριο που δημιουργήσατε στο άρθρο "Ρύθμιση του Spigot" σε ένα νέο αρχείο.
cp ~/server/start.sh ~/bungeeServer/start.sh
Επεξεργασία ~/bungeeServer/start.shκαι αλλαγή spigot.jarσε BungeeCord.jar. Αφού αλλάξετε τις τιμές της μνήμης στο επιθυμητό σύνολο, αποθηκεύστε και τερματίστε.
Φροντίστε να επιτρέψετε την εκτέλεση του σεναρίου.
chmod +x ~/bungeeServer/start.sh
Υπάρχουν δύο ακόμη σενάρια για δημιουργία και το επόμενο θα είναι στο ~/startAll.sh. Αυτό θα μας επιτρέψει να ξεκινήσουμε κάθε διακομιστή και να τον εκτελούμε στο παρασκήνιο.
Τα περιεχόμενα του ~/startAll.sh.
#!/bin/bash
for line in $(find ~ -name "start*"); do
echo "Starting $line..."
serverID=$(($serverID + 1))
screen -dmS "server-$serverID" bash $line
done
Αυτό θα εκτελέσει αυτόματα τα σενάρια έναρξης στον κατάλογο /home/bungeeServer/.
Το τελευταίο σενάριο για δημιουργία θα είναι στο ~/stopAll.sh, και το περιεχόμενο θα πρέπει να είναι αυτό.
#!/bin/bash
cd /var/run/screen/S-$USER/
for f in *; do
screen -S $f -X kill
done
Λάβετε υπόψη ότι αυτό δεν σώζει τους κόσμους στον διακομιστή σας, κάντε το εκ των προτέρων.
Προσθήκη επιπλέον διακομιστή
Κάθε φορά που θέλετε να προσθέσετε έναν νέο διακομιστή στη διαμόρφωση του Bungee, θα πρέπει να ανοίγετε config.ymlκαι να προσθέτετε την ακόλουθη καταχώριση.
serverName:
address: address.of.minecraft.server:portNumber
restricted: false
motd: 'New server description'
Αλλάξτε περιορισμένο σε trueεάν θέλετε να περιορίσετε τον διακομιστή σε διαχειριστή. Μόλις τελειώσετε, αποθηκεύστε και επανεκκινήστε τον διακομιστή BungeeCord.
Μέτρα ασφαλείας
Με την τρέχουσα διαμόρφωση, εκτός σύνδεσης (γνωστοί και ως σπασμένοι χρήστες) μπορούν να συνδεθούν απευθείας στους διακομιστές-στόχους σας. Υπάρχουν πολλές προσθήκες για τον αποκλεισμό όλων των παικτών που δεν συμμετέχουν από το διακομιστή μεσολάβησης, ένα από τα οποία είναι το OnlyProxyJoin .
Λόγω του τρόπου ρύθμισης, μπορούμε απλά να ανοίξουμε τον διακομιστή του λόμπι server.propertiesκαι να αλλάξουμε τη διεύθυνση IP ακρόασης σε 127.0.0.1. Αυτό θα εμποδίσει τους χρήστες να συνδεθούν απευθείας, αναγκάζοντας έτσι όλους τους χρήστες να επαληθευτούν από τον διακομιστή μεσολάβησης.
συμπέρασμα
Σε αυτό το άρθρο, ρυθμίζουμε ένα μικρό δίκτυο Bungee. Είναι επεκτάσιμο και επιτρέπει στους ιδιοκτήτες διακομιστών να δημιουργήσουν μια πληθώρα διασυνδεδεμένων διακομιστών και τρόπων παιχνιδιού.
Περισσότερες πληροφορίες είναι διαθέσιμες στην BungeeCord της τεκμηρίωσης .