Spigot è un software server Minecraft modificato basato su CraftBukkit. Fornisce ulteriori ottimizzazioni delle prestazioni, opzioni di configurazione e funzionalità mantenendo la compatibilità con tutti i plug-in e le mod esistenti.
In questo tutorial imparerai come costruire e installare Spigot Server su un server basato su Ubuntu 20.04 e installare i plugin.
Prerequisiti
-
Un server che esegue Ubuntu 20.04 con un minimo di 4 GB di RAM e 2 core CPU.
-
Un utente non root con privilegi sudo.
-
Tutto è aggiornato.
$ sudo apt update && sudo apt upgrade
-
Installa i pacchetti richiesti.
$ sudo apt install wget apt-transport-https gnupg nano screen
Passaggio 1:configurazione del firewall
Il primo passo è configurare il firewall. Ubuntu viene fornito con ufw (Uncomplicated Firewall) per impostazione predefinita.
Controlla se il firewall è in esecuzione.
$ sudo ufw status
Dovresti ottenere il seguente output.
Status: inactive
Consenti alla porta SSH di impedire al firewall di interrompere la connessione corrente dopo averlo abilitato.
$ sudo ufw allow OpenSSH
Consenti la porta 25565 affinché il server Spigot accetti le connessioni.
$ sudo ufw allow 25565
Abilita il Firewall
$ sudo ufw enable Command may disrupt existing ssh connections. Proceed with operation (y|n)? y Firewall is active and enabled on system startup
Ricontrolla lo stato del firewall.
$ sudo ufw status
Dovresti vedere un output simile.
Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere 25565 ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) 25565 (v6) ALLOW Anywhere (v6)
Passaggio 2:installa Java e Git
Il programma di installazione di Spigot ha bisogno di Java e Git per funzionare. Ubuntu 20.04 viene fornito con OpenJDK 17 come l'ultima versione disponibile di Java. Esegui il comando seguente per installarlo.
$ sudo apt install openjdk-17-jre-headless
Conferma il rilascio.
$ java --version openjdk 17.0.1 2021-10-19 OpenJDK Runtime Environment (build 17.0.1+12-Ubuntu-120.04) OpenJDK 64-Bit Server VM (build 17.0.1+12-Ubuntu-120.04, mixed mode, sharing)
Installa Git.
$ sudo apt install git
Fase 3:crea un utente Minecraft
Il passaggio successivo consiste nel creare un utente dedicato per l'esecuzione del server.
$ sudo adduser minecraft
Passa all'utente appena creato.
$ sudo su - minecraft
Fase 4 - Scarica e installa Spigot
Creeremo Spigot usando l'applicazione BuildTools.jar. Il primo passo è passare alla home directory.
minecraft:$ cd ~
Crea una nuova directory per BuildTools e passa ad essa.
minecraft:$ mkdir buildtools && cd buildtools
Prendi il BuildTools.jar
file.
minecraft:$ wget -O BuildTools.jar https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar
Crea l'ultima versione stabile di Spigot.
minecraft:$ java -jar BuildTools.jar --rev latest
A seconda delle risorse del server disponibili, il completamento di questo processo potrebbe richiedere del tempo.
Controlla il nome del file jar Spigot creato.
minecraft:$ ls apache-maven-3.6.0 BuildData BuildTools.jar BuildTools.log.txt Bukkit CraftBukkit Spigot spigot-1.18.1.jar work
Nel nostro caso, il nome è.
Crea un'altra directory per il tuo Spigot Server e passa ad essa.
minecraft:$ cd ~ && mkdir server && cd server
Sposta il tuo file jar Spigot nella directory del server appena creata.
minecraft:$ mv ~/buildtools/spigot-1.18.1.jar ~/server/spigot.jar
Passaggio 5:avvia Spigot Server
Per avviare il server Spigot, dobbiamo creare uno script di avvio che ci consenta di passare vari parametri Java per ottimizzare il server.
Crea e apri lo script di avvio per Spigot.
minecraft:$ sudo nano spigotstart.sh
Incolla il codice seguente nel file.
#!/bin/sh java -Xms3G -Xmx3G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true -jar spigot.jar nogui
Il parametro -Xms3G -Xmx3G
configurato lo spazio di heap Java per 4 GB di RAM. Abbiamo lasciato 1 GB libero nel nostro caso per il sistema operativo e qualsiasi altra cosa per cui ha bisogno della ram. Modificalo con la quantità di RAM che desideri allocare al server Spigot. Se il tuo server ha 16 GB di RAM, dovresti impostare il parametro per occupare 14 o 15 GB di RAM.
Una volta terminato, salva il file premendo Ctrl + X e inserendo Y quando richiesto.
Rendi eseguibile lo script di avvio.
minecraft:$ chmod +x spigotstart.sh
Avvia il tuo server Spigot per la prima volta.
minecraft:$ ./spigotstart.sh
Il server non si avvierà e invece terminerà, dando il seguente messaggio.
[14:14:21] [ServerMain/INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.
Apri eula.txt
per la modifica.
minecraft:$ nano eula.txt
Imposta il valore della variabile eula
su true
.
#By changing the setting below to TRUE you are indicating your agreement to our EULA (https://account.mojang.com/documents/minecraft_eula). #Sun Dec 26 13:29:15 UTC 2021 eula=true
Una volta terminato, salva il file premendo Ctrl + X e inserendo Y quando richiesto.
Prima di avviare il server, configuriamolo per eseguirlo come servizio in background.
Passaggio 6:configura Spigot come servizio
Il server ha bisogno che la shell sia sempre in esecuzione per funzionare, il che non è l'ideale. Dobbiamo creare un servizio in modo che il server possa avviarsi automaticamente all'avvio ed essere eseguito in background.
Esci da minecraft
utente.
minecraft:$ exit
Crea un file del servizio Spigot e aprilo per la modifica.
$ sudo nano /etc/systemd/system/spigot.service
Incolla il seguente codice.
[Unit] Description=SpigotMC After=network.target [Service] Type=forking User=minecraft Group=minecraft ExecStart=/usr/bin/screen -d -m -S minecraft /home/minecraft/server/spigotstart.sh ExecStop=/usr/bin/screen -S minecraft -p 0 -X stuff "stop$(printf \\r)" WorkingDirectory=/home/minecraft/server [Install] WantedBy=multi-user.target
Una volta terminato, salva il file premendo Ctrl + X e inserendo Y quando richiesto.
Ricarica il demone del servizio.
$ sudo systemctl daemon-reload
Abilita il servizio.
$ sudo systemctl enable spigot
Avvia il servizio Spigot.
$ sudo systemctl start spigot
Controlla lo stato del servizio.
$ sudo systemctl status spigot ? spigot.service - SpigotMC Loaded: loaded (/etc/systemd/system/spigot.service; disabled; vendor preset: enabled) Active: active (running) since Mon 2021-12-27 09:15:25 UTC; 6s ago Process: 32011 ExecStart=/usr/bin/screen -d -m -S minecraft /home/minecraft/server/spigotstart.sh (code=exited, sta> Main PID: 32012 (screen) Tasks: 25 (limit: 4691) Memory: 3.2G CGroup: /system.slice/spigot.service ??32012 /usr/bin/SCREEN -d -m -S minecraft /home/minecraft/server/spigotstart.sh ??32013 /bin/sh /home/minecraft/server/spigotstart.sh ??32014 java -Xms3G -Xmx3G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockEx> Dec 27 09:15:25 spigot systemd[1]: Starting SpigotMC... Dec 27 09:15:25 spigot systemd[1]: Started SpigotMC.
Fase 7:connettiti a Minecraft
Ora che il nostro server è attivo e funzionante, è ora di connettersi a Minecraft. Avvia il tuo gioco Minecraft.
Fai clic su Multigiocatore e ignora l'avviso per il futuro selezionando la casella, Non mostrare più questa schermata .
Fai clic su Aggiungi server pulsante nella pagina successiva.
Inserisci l'indirizzo IP pubblico e il nome del tuo server. Fai clic su Fine al termine.
Il tuo server apparirà ora nell'elenco.
Fai clic sul nome del tuo server e premi Unisciti al server pulsante per avviare il server. Il tuo gioco inizierà presto.
Puoi chiedere ai tuoi amici di unirsi al tuo server e giocare con loro.
Passaggio 8:personalizzazione delle proprietà del server
Puoi personalizzare il tuo server modificando /home/minecraft/server/server.properties
file. Esamineremo alcune delle proprietà di seguito.
-
Abilita blocchi comandi: I valori disponibili sono
true
efalse
.enable-command-block=false
-
Modalità di gioco :I valori disponibili sono sopravvivenza, creatività, avventura e spettatore. Possono anche essere definiti da numeri interi a partire da 0 per sopravvivenza, 1 per creatività, 2 per avventura e 3 per spettatore.
gamemode=survival
-
Difficoltà :I valori disponibili sono pacifico, facile, normale e difficile. Possono anche essere definiti da numeri interi che iniziano da 0 per pacifico, 1 per facile, 2 per normale e 3 per difficile.
difficulty=easy
-
MOTD :Sta per Messaggio del giorno. È il messaggio visualizzato nella pagina dell'elenco Server. Accetta un valore stringa. Supporta colore, caratteri speciali e codici di formattazione. Non dovrebbe essere più lungo di 59 caratteri.
motd=A Minecraft Server
-
PVP :Abilita la modalità Giocatore contro Giocatore. I valori disponibili sono
true
efalse
.pvp=true
-
Porta del server :definisce la porta su cui è in ascolto il server Minecraft. Il valore predefinito è 25565.
server-port=25565
Se modifichi il valore della porta in qualcos'altro, dovrai abilitarlo nel firewall; in caso contrario, i giocatori non potranno connettersi.
-
Consulta la wiki di Minecraft per ulteriori proprietà.
Dovrai riavviare il tuo server Spigot dopo aver apportato modifiche a queste proprietà affinché abbiano effetto.
$ sudo systemctl restart spigot
Passaggio 9:installazione dei plug-in
Puoi scaricare plug-in dalle pagine Spigot Resources o Bukkit Plugin.
Se scarichi il plug-in da Spigot, il seguente metodo non funzionerà poiché è stato bloccato. Dovrai scaricare manualmente il file Jar e spostarlo sul server. Ma se stai scaricando da Bukkit, usa il seguente metodo per scaricare direttamente sul tuo server.
Scarica il .jar
file del plugin dalle pagine precedenti al /home/minecraft/server/plugins
directory.
$ sudo wget -P /home/minecraft/server/plugins/ --content-disposition <plugin url>
Il flag --content-disposition
assicura che il file venga scaricato con il nome file corretto utilizzando Content-Disposition
intestazioni.
Ad esempio, se stai scaricando il plug-in WorldEdit, ecco come lo scaricherai.
$ sudo wget -P /home/minecraft/server/plugins --content-disposition https://dev.bukkit.org/projects/world edit/files/latest
Per ricaricare il plugin, riavvia il tuo server Spigot.
$ sudo systemctl restart spigot
Passaggio 10 - Aggiorna Spigot
L'aggiornamento di Spigot richiederà di ripetere il passaggio 4 di questa guida per acquisire l'ultima versione di BuildTools.jar
e quindi crea un nuovo spigot.jar
file. Assicurati di eseguire il backup dei vecchi file jar e di arrestare il server prima di farlo.
Conclusione
Questo conclude il nostro tutorial sull'installazione e la configurazione del server Spigot Minecraft su un sistema basato su Ubuntu 20.04. Se hai domande, pubblicale nei commenti qui sotto.