Cómo instalar el servidor Spigot Minecraft en Ubuntu 20.04

juego de minecraft

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á cómo compilar e instalar Spigot Server en un servidor basado en Ubuntu 20.04 e instalar complementos.

Requisitos previos

  • 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) por defecto.

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 firewall rompa 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ías ver una salida similar.

Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
25565                      ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
25565 (v6)                 ALLOW       Anywhere (v6)

Paso 2: instala 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

Confirmar 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)

Instala 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: descarga e instala 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

Tome el archivo BuildTools.jar.

minecraft:$ wget -O BuildTools.jar  https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar

Cree 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 jar Spigot 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: inicie 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 Control + X y entrando 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 editarlo.

minecraft:$ nano eula.txt

Establezca el valor de la variable eula en verdadero.

#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 Control + X y entrando Y cuando se le solicite. Publicidad

Antes de iniciar el servidor, configurémoslo para ejecutarlo como un servicio en segundo plano.

Paso 6: configure Spigot como un 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.

Salga del usuario de Minecraft.

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 Control + X y entrando 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

Verifique 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̩ctate a Minecraft

Ahora que nuestro servidor está en funcionamiento, es hora de conectarse a Minecraft. Inicia tu juego de Minecraft.

juego de minecraft

Haga clic en el multijugador e ignore la advertencia para el futuro marcando la casilla, No volver a mostrar esta pantalla.

Advertencia multijugador de Minecraft

Haga clic en Agregar servidor botón en la página siguiente.

Agregar servidor de Minecraft

Ingrese la dirección IP pública y el nombre de su servidor. Hacer clic Hecho cuando esté terminado.

Su servidor ahora aparecerá en la lista.

Lista de servidores de Minecraft

Haga clic en el nombre de su servidor y presione el botón Unirse al servidor botón para iniciar el servidor. Su juego comenzará pronto.

Juego de servidor de Minecraft

Puedes pedirles a tus amigos que se unan a tu servidor y jueguen con ellos.

Paso 8: personalizar las propiedades del servidor

Puede personalizar su servidor editando el archivo /home/minecraft/server/server.properties. Revisaremos algunas de las propiedades a continuación.

  • Habilitar bloques de comando: Los valores disponibles son verdadero y falso.
    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 verdadero y falso.
    pvp=true
    
  • Puerto de servicio: 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.

  • Ver el Minecraft wiki para 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 de Recursos de Spigo o Complemento Bukkit.

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 archivo .jar del complemento desde las páginas anteriores al directorio /home/minecraft/server/plugins.

$ sudo wget -P /home/minecraft/server/plugins/ --content-disposition <plugin url>

La marca –content-disposition garantiza que el archivo se descargue con el nombre de archivo correcto haciendo uso de los encabezados Content-Disposition.

Por ejemplo, si está descargando el Complemento WorldEdit así es como lo descargarás.

$ 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 del archivo BuildTools.jar y luego crear un nuevo archivo spigot.jar. Asegúrese de hacer una copia de seguridad de los archivos jar antiguos y detener 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.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *