Spigot es un software de servidor de Minecraft modificado basado en CraftBukkit. Proporciona optimizaciones de rendimiento, opciones de configuración y funciones adicionales, al tiempo que mantiene la compatibilidad con todos los complementos y modificaciones existentes.
En este tutorial, aprenderá a compilar e instalar Spigot Server en un servidor basado en Ubuntu 20.04 e instalar complementos.
Requisitos
-
Un servidor con Ubuntu 20.04 con un mínimo de 4 GB de RAM y 2 núcleos de CPU.
-
Un usuario no root con privilegios sudo.
-
Todo está actualizado.
$ sudo apt update && sudo apt upgrade
-
Instale los paquetes necesarios.
$ sudo apt install wget apt-transport-https gnupg nano screen
Paso 1:configurar el cortafuegos
El primer paso es configurar el cortafuegos. Ubuntu viene con ufw (cortafuegos sin complicaciones) de forma predeterminada.
Compruebe si el cortafuegos se está ejecutando.
$ sudo ufw status
Deberías obtener el siguiente resultado.
Status: inactive
Permita el puerto SSH para evitar que el cortafuegos interrumpa la conexión actual al habilitarlo.
$ sudo ufw allow OpenSSH
Permita que el puerto 25565 para que el servidor Spigot acepte conexiones.
$ sudo ufw allow 25565
Habilitar el cortafuegos
$ sudo ufw enable Command may disrupt existing ssh connections. Proceed with operation (y|n)? y Firewall is active and enabled on system startup
Vuelva a comprobar el estado del cortafuegos.
$ sudo ufw status
Debería ver un resultado similar.
Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere 25565 ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) 25565 (v6) ALLOW Anywhere (v6)
Paso 2:instalar Java y Git
El instalador de Spigot necesita Java y Git para funcionar. Ubuntu 20.04 viene con OpenJDK 17 como la última versión disponible de Java. Ejecute el siguiente comando para instalarlo.
$ sudo apt install openjdk-17-jre-headless
Confirme el lanzamiento.
$ 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)
Instalar Git.
$ sudo apt install git
Paso 3:crea un usuario de Minecraft
El siguiente paso es crear un usuario dedicado para ejecutar el servidor.
$ sudo adduser minecraft
Cambie al usuario recién creado.
$ sudo su - minecraft
Paso 4:descargar e instalar Spigot
Construiremos Spigot utilizando la aplicación BuildTools.jar. El primer paso es cambiar al directorio de inicio.
minecraft:$ cd ~
Cree un nuevo directorio para BuildTools y cambie a él.
minecraft:$ mkdir buildtools && cd buildtools
Toma el BuildTools.jar
archivo.
minecraft:$ wget -O BuildTools.jar https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar
Compile la última versión estable de Spigot.
minecraft:$ java -jar BuildTools.jar --rev latest
Dependiendo de los recursos disponibles del servidor, este proceso puede tardar en completarse.
Compruebe el nombre del archivo Spigot jar creado.
minecraft:$ ls apache-maven-3.6.0 BuildData BuildTools.jar BuildTools.log.txt Bukkit CraftBukkit Spigot spigot-1.18.1.jar work
En nuestro caso, el nombre es.
Cree otro directorio para su Spigot Server y cambie a él.
minecraft:$ cd ~ && mkdir server && cd server
Mueva su archivo Spigot jar al directorio del servidor recién creado.
minecraft:$ mv ~/buildtools/spigot-1.18.1.jar ~/server/spigot.jar
Paso 5:iniciar el servidor Spigot
Para iniciar el servidor Spigot, necesitamos crear un script de inicio que nos permita pasar varios parámetros de Java para optimizar el servidor.
Cree y abra el script de inicio para Spigot.
minecraft:$ sudo nano spigotstart.sh
Pegue el siguiente código en el archivo.
#!/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
El parámetro -Xms3G -Xmx3G
configuró el espacio de almacenamiento dinámico de Java para 4 GB de RAM. Hemos dejado 1 GB libre en nuestro caso para el sistema operativo y cualquier otra cosa para la que necesite la RAM. Cambie esto a la cantidad de RAM que desea asignar al servidor Spigot. Si su servidor tiene 16 GB de RAM, debe configurar el parámetro para que ocupe 14 o 15 GB de RAM.
Una vez terminado, guarde el archivo presionando Ctrl + X e ingresando Y cuando se le solicite.
Haga que el script de inicio sea ejecutable.
minecraft:$ chmod +x spigotstart.sh
Inicie su servidor Spigot por primera vez.
minecraft:$ ./spigotstart.sh
El servidor no se iniciará y en su lugar terminará, dando el siguiente mensaje.
[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.
Abra eula.txt
para editar.
minecraft:$ nano eula.txt
Establecer el valor de la variable eula
a 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 vez terminado, guarde el archivo presionando Ctrl + X e ingresando Y cuando se le solicite.
Antes de iniciar el servidor, configurémoslo para ejecutarlo como un servicio en segundo plano.
Paso 6:configure Spigot como servicio
El servidor necesita que el shell esté ejecutándose todo el tiempo para que funcione, lo cual no es lo ideal. Necesitamos crear un servicio para que el servidor pueda iniciarse automáticamente al arrancar y ejecutarse en segundo plano.
Sal de minecraft
usuario.
minecraft:$ exit
Cree un archivo de Spigot Service y ábralo para editarlo.
$ sudo nano /etc/systemd/system/spigot.service
Pegue el siguiente código.
[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 vez terminado, guarde el archivo presionando Ctrl + X e ingresando Y cuando se le solicite.
Vuelva a cargar el demonio de servicio.
$ sudo systemctl daemon-reload
Habilite el servicio.
$ sudo systemctl enable spigot
Inicie el servicio Spigot.
$ sudo systemctl start spigot
Consulta el estado del servicio.
$ 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.
Paso 7:Conéctese a Minecraft
Ahora que nuestro servidor está en funcionamiento, es hora de conectarse a Minecraft. Inicia tu juego de Minecraft.
Haz clic en Multijugador e ignore la advertencia para el futuro marcando la casilla No volver a mostrar esta pantalla .
Haga clic en Agregar servidor botón en la página siguiente.
Ingrese la dirección IP pública y el nombre de su servidor. Haz clic en Listo cuando haya terminado.
Su Servidor ahora aparecerá en la lista.
Haga clic en el nombre de su servidor y presione Unirse al servidor botón para iniciar el servidor. Tu juego comenzará pronto.
Puedes pedirles a tus amigos que se unan a tu servidor y jugar con ellos.
Paso 8:personalizar las propiedades del servidor
Puede personalizar su servidor editando /home/minecraft/server/server.properties
expediente. Revisaremos algunas de las propiedades a continuación.
-
Habilitar bloques de comandos: Los valores disponibles son
true
yfalse
.enable-command-block=false
-
Modo de juego :Los valores disponibles son supervivencia, creatividad, aventura y espectador. También se pueden definir mediante números enteros a partir de 0 para supervivencia, 1 para creatividad, 2 para aventura y 3 para espectador.
gamemode=survival
-
Dificultad :Los valores disponibles son pacífico, fácil, normal y difícil. También se pueden definir con números enteros a partir de 0 para pacífico, 1 para fácil, 2 para normal y 3 para difícil.
difficulty=easy
-
MOTD :Significa Mensaje del día. Es el mensaje que se muestra en la página de la lista de servidores. Acepta un valor de cadena. Soporta color, caracteres especiales y códigos de formato. No debe tener más de 59 caracteres.
motd=A Minecraft Server
-
JcJ :Habilita el modo Jugador contra Jugador. Los valores disponibles son
true
yfalse
.pvp=true
-
Puerto del servidor :Define el puerto en el que escucha el servidor de Minecraft. El valor predeterminado es 25565.
server-port=25565
Si cambia el valor del puerto a otra cosa, deberá habilitarlo en el firewall; de lo contrario, los jugadores no podrán conectarse.
-
Consulte la wiki de Minecraft para obtener más propiedades.
Deberá reiniciar su servidor Spigot después de realizar cambios en estas propiedades para que surtan efecto.
$ sudo systemctl restart spigot
Paso 9 - Instalar complementos
Puede descargar complementos desde las páginas de Spigot Resources o Bukkit Plugin.
Si descarga el complemento de Spigot, el siguiente método no funcionará porque ha sido bloqueado. Deberá descargar manualmente el archivo Jar y moverlo al servidor. Pero si está descargando desde Bukkit, use el siguiente método para descargar directamente a su servidor.
Descarga el .jar
archivo del complemento de las páginas anteriores al /home/minecraft/server/plugins
directorio.
$ sudo wget -P /home/minecraft/server/plugins/ --content-disposition <plugin url>
La bandera --content-disposition
garantiza que el archivo se descargue con el nombre de archivo correcto haciendo uso de Content-Disposition
encabezados.
Por ejemplo, si está descargando el complemento WorldEdit, así es como lo descargará.
$ sudo wget -P /home/minecraft/server/plugins --content-disposition https://dev.bukkit.org/projects/world edit/files/latest
Para recargar el complemento, reinicie su servidor Spigot.
$ sudo systemctl restart spigot
Paso 10 - Actualizar Spigot
Actualizar Spigot requerirá que repita el paso 4 de esta guía para obtener la última versión de BuildTools.jar
y luego cree un nuevo spigot.jar
expediente. Asegúrese de hacer una copia de seguridad de los archivos jar antiguos y detenga el servidor antes de hacerlo.
Conclusión
Esto concluye nuestro tutorial sobre la instalación y configuración del servidor Spigot Minecraft en un sistema basado en Ubuntu 20.04. Si tiene alguna pregunta, publíquela en los comentarios a continuación.