Di cosa avrai bisogno
- Un VPS Vultr con almeno 1 GB di RAM.
- Accesso SSH (con
root
/ administrative
privilegi).
Passaggio 1: installazione di BungeeCord
Per prima cosa, dobbiamo far installare Java affinché funzioni. A seconda che tu stia usando un sistema operativo basato su Debian o CentOS, i comandi saranno leggermente diversi per ciascun sistema operativo. Ogni comando noterà il sistema operativo che dovrebbe usarlo. Se tutti i CentOS 7, Debian 8 e Debian 9 lo supportano, non verrà mostrato alcun segno speciale.
Sistema operativo: CentOS 7
yum install java-1.7.0-openjdk-devel screen -y
Sistema operativo: Debian 8 e Debian 9
apt-get update
apt-get install openjdk-7-jdk screen -y
Quello che vorrai fare dopo è creare un utente separato per eseguire il server. Sebbene sia facoltativo, si consiglia vivamente di non ospitare mai alcun sistema pubblico come root
utente. Questo apre il tuo VPS allo sfruttamento, e ciò può comportare la chiusura del tuo server qui su Vultr se dovesse essere usato per scopi illegali, anche se non è causato da te.
CURRENT_USER='bungeemc'
useradd $CURRENT_USER -m -d /home/bungee
Sentiti libero di cambiare il nome utente da bungeemc
, anche se sarà l'utente utilizzato in tutto l'articolo.
Quindi, accedi come utente.
su $CURRENT_USER
Ora, crea una cartella per il server BungeeCord.
mkdir ~/bungeeServer
cd ~/bungeeServer
Scarica l'eseguibile del server.
wget http://ci.md-5.net/job/BungeeCord/lastSuccessfulBuild/artifact/bootstrap/target/BungeeCord.jar
Eseguiamolo per la prima volta.
java -Xms256M -Xmx512M -jar BungeeCord.jar
In generale, per il comando mostrato sopra, ti consigliamo di lasciare almeno 128 MB di RAM liberi per consentire al sistema di funzionare senza problemi. Altrimenti, potresti riscontrare problemi in un secondo momento poiché il killer dell'applicazione di memoria insufficiente del sistema operativo ucciderà il tuo server quando la memoria si esaurisce.
A questo punto, dovresti premere CTRL+C
per uscire dal prompt del server. Tutti i file richiesti sono stati generati, quindi possiamo procedere con la configurazione.
Passaggio 2: configurazione di BungeeCord
Per questo articolo, aggiungeremo un solo server Minecraft per la lobby dietro il proxy di BungeeCord. Più avanti nell'articolo, verranno fornite ulteriori informazioni sull'aggiunta di server aggiuntivi su server Vultr VPS aggiuntivi o sul sistema corrente.
Utilizzando il tuo editor di testo preferito, apri il file denominato config.yml
.
Attenzione: la sintassi di un file YAML è molto importante. Java è molto esigente riguardo alla spaziatura .
Aggiungi te stesso come amministratore. Cambia il md_5
tuo nome utente Minecraft. L'aggiunta di ulteriori amministratori richiede prima di inserire due spazi, scrivere un nome utente, aggiungere due punti, andare alla riga successiva, aggiungere altri due spazi e il - admin
flag.
Alla fine, dovrebbe apparire così.
groups:
myMCUsername:
- admin
extraAdmin:
- admin
Quindi, cambia ip_forward: false
in ip_forward: true
. Ciò consentirà a qualsiasi server di destinazione di visualizzare l'IP del client, il che consente di emettere ban basati su IP.
Passa alla riga con player_limit
. Cambia il valore predefinito da 1
alla quantità di slot. Se questo valore è impostato su -1
, un numero illimitato di giocatori può unirsi.
Ecco come listeners
dovrebbe apparire la tua sezione.
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
Cambia il contenuto delle virgolette singole dopo motd:
per impostare la descrizione del tuo server (cosa vedrà un giocatore quando guarderà per la prima volta il server nel client.) Assicurati che la linea all'interno del listeners
blocco che inizia con host: 0.0.0.0
contenga la porta 25565 per consentire agli utenti di connettersi senza specificando una porta.
L'ultima cosa che dobbiamo fare per BungeeCord è in realtà una voce per la nostra lobby (giocatori di server predefiniti si uniscono). Per ora useremo la voce predefinita, in base alle nostre esigenze. Cambia motd nella descrizione del tuo server desiderata e, alla fine, ora dovrebbe apparire così.
servers:
lobby:
address: localhost:25567
restricted: false
motd: 'My lobby server'
Salva e chiudi il file.
Ora creiamo il server della lobby. Ci sono molti articoli del server Minecraft su Vultr, ma è consigliabile sceglierne uno che includa Spigot o CraftBukkit. Segui la parte "Scarica e usa BuiltTools" nell'articolo " Configurare Spigot su Ubuntu ". Interrompi quando raggiungi la sezione "Opzionale: esegui in background". Ricordare di impostare correttamente i limiti di memoria per il server SpigotMC e di accettare l'EULA.
È necessario apportare una modifica: abilitare la modalità offline per il server di destinazione. Questo viene fatto aprendo server.properties
e cambiando online-mode=true
in false
. Ne discuteremo nella sezione Misure di sicurezza .
A questo punto, dovresti avere un jarfile SpigotMC.
Passaggio 3: avviare il server e renderlo persistente
La prima cosa che faremo è creare uno script che avvierà entrambi i server.
Copia lo script creato nell'articolo "Installazione di Spigot" in un nuovo file.
cp ~/server/start.sh ~/bungeeServer/start.sh
Modifica ~/bungeeServer/start.sh
e cambia spigot.jar
in BungeeCord.jar
. Dopo aver modificato i valori di memoria sul set desiderato, salvare ed uscire.
Assicurati di consentire l'esecuzione dello script.
chmod +x ~/bungeeServer/start.sh
Ci sono altri due script da creare e il prossimo sarà disponibile ~/startAll.sh
. Questo ci consentirà di avviare ogni server ed eseguirlo in background.
Il contenuto di ~/startAll.sh
.
#!/bin/bash
for line in $(find ~ -name "start*"); do
echo "Starting $line..."
serverID=$(($serverID + 1))
screen -dmS "server-$serverID" bash $line
done
Ciò eseguirà automaticamente gli script di avvio nella directory /home/bungeeServer/
.
L'ultimo script da creare sarà disponibile ~/stopAll.sh
e il contenuto dovrebbe essere questo.
#!/bin/bash
cd /var/run/screen/S-$USER/
for f in *; do
screen -S $f -X kill
done
Tieni presente che questo non salva i mondi nel tuo server, ti preghiamo di farlo in anticipo.
Aggiunta di un server aggiuntivo
Ogni volta che vuoi aggiungere un nuovo server alla configurazione di Bungee, dovrai aprire config.yml
e aggiungere la seguente voce.
serverName:
address: address.of.minecraft.server:portNumber
restricted: false
motd: 'New server description'
Modifica limitato a true
se desideri limitare il server a un amministratore. Al termine, salva e riavvia il server BungeeCord.
Misure di sicurezza
Con la configurazione corrente, offline (noto anche come utenti con cracking ) può unire direttamente i server di destinazione. Esistono numerosi plugin per bloccare tutti i giocatori che non si uniscono al proxy, uno dei quali è OnlyProxyJoin .
A causa del modo in cui è configurato, possiamo semplicemente aprire il server della lobby server.properties
e cambiare l'indirizzo IP di ascolto in 127.0.0.1. Ciò impedirà a tutti gli utenti di connettersi direttamente, costringendo così tutti gli utenti a essere verificati dal proxy.
Conclusione
In questo articolo, configuriamo una piccola rete Bungee. È espandibile e consente ai proprietari di server di creare una pletora di server e gamemode interconnessi.
Ulteriori informazioni sono disponibili nella documentazione di BungeeCord .