Compilando plugins y softwares de servidores
🤔 Introducción 🤔
Sabemos que muchas personas tienen dificultades para compilar sus propios plugins, archivos JAR de software y similares. Esta guía está diseñada para explicar de manera integral cómo compilar el código fuente de plugins o softwares de servidor que encuentres en GitHub y otros lugares. ¡Vamos a empezar!
🧉 Entendiendo lo que necesitas para compilar el software/plugin 🧉
Si el plugin tiene un archivo pom.xml en su carpeta raíz, entonces debes compilar el plugin usando Maven. Si el plugin tiene un archivo build.gradle en su carpeta raíz, entonces debes compilar el plugin usando Gradle.
Si el plugin está diseñado para versiones antiguas de Minecraft, puede requerir una versión más antigua de Java para compilar. Consulta esta guía para aprender a cambiar la versión de Java que utiliza tu PC.
Si no existe una compilación del plugin y tampoco tiene una versión liberada, es muy probable que compilar el plugin desde el código fuente no funcione sin hacer ajustes.
Algunos proyectos requerirán ejecutar ./gradlew shadowJar, otros mvn build, y algunos pueden no tener un archivo pom.xml o build.gradle. Así que esta no es una solución única para todos, siempre debes leer cómo compilar el plugin en el archivo README del autor.
🐘 Compilando un plugin con Gradle 🐘
Los softwares de servidor generalmente se compilan con Gradle. Primero, encuentra el software/plugin que deseas compilar. En este caso, compilaremos un plugin de lista blanca: ScottyBotWhitelistSponge.
Abre el símbolo del sistema y navega a la carpeta con el comando cd. Por ejemplo, si la carpeta está en Descargas --> Plugin, usa cd Descargas/Plugin. Si te equivocas, usa cd .. para retroceder un directorio.
Asegúrate de que la carpeta en la que te encuentras contenga todos los archivos del proyecto (como la carpeta src, el README, etc.).
Una vez en la carpeta, ejecuta el comando gradlew build para construir las dependencias necesarias para compilar el plugin. (Esto generalmente se hace una vez, pero se recomienda hacerlo cada vez que compiles un nuevo JAR).
Una vez hecho esto, deberías ver BUILD SUCCESSFUL. Si encuentras algún error durante este proceso, lee el error y contacta a los autores para saber qué hacer. En la mayoría de los casos, el error será una versión inválida de Java.
Después de eso, simplemente haz doble clic en el archivo gradlew.bat en la carpeta para comenzar a compilar el JAR. Dependiendo de tu computadora, esto puede tomar un tiempo. El JAR resultante generalmente se encontrará en build --> libs, aunque el autor del plugin puede cambiar su ubicación.
Importante: el 99% de los plugins tendrán una guía sobre cómo compilarlos. Asegúrate de seguir los pasos y compilar de acuerdo a las instrucciones.
¡Felicidades! Ahora sabes cómo compilar un plugin con Gradle.
🍫 Usando Chocolatey para un plugin con Maven 🍫
La forma más sencilla y simple de compilar archivos JAR desde Maven es utilizando Chocolatey. Este es un software externo que actúa como un gestor de paquetes. Para empezar, descarga Chocolatey desde aquí. Asegúrate de seguir sus pasos según tus requisitos para asegurarte de que Chocolatey esté configurado correctamente.
En la mayoría de los casos, ejecutar el comando Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1')) en PowerShell funcionará. Confirma que Chocolatey está instalado simplemente escribiendo choco en PowerShell.
Ahora, necesitamos instalar Maven y Git para descargar plugins desde GitHub y compilarlos usando Maven. Esto se hace simplemente ejecutando choco install git y choco install maven.
Asegúrate de usar PowerShell como administrador para instalar Chocolatey, Maven y Git.
Una vez hecho esto, abre el símbolo del sistema y procede a clonar un repositorio de Git del plugin que deseas instalar. En nuestro caso, utilizaremos GeyserMC como nuestro plugin de prueba. Clona el repositorio con git clone <tu_url_del_repo>. En este caso, será git clone https://github.com/GeyserMC/Geyser.
Si no deseas descargar archivos mediante git clone o no están disponibles en GitHub, simplemente descarga el archivo zip y extrae los archivos en una carpeta.
Procede a entrar en el directorio creado para el plugin (en nuestro caso es Geyser) usando cd. Una vez dentro del directorio objetivo, ejecuta git submodule update --init --recursive para actualizar lo que sea necesario para que el plugin se compile correctamente. Luego, ejecuta mvn clean install. Dependiendo de tu computadora, esto puede tomar un tiempo.
Una vez compilado, encontrarás el archivo JAR en tu carpeta --> target, aunque el autor del plugin puede cambiar su ubicación.
¡Felicidades! Ahora sabes cómo compilar un plugin con Maven.
🐘 Compilando un plugin con Gradle 🐘
Sigue las mismas instrucciones mencionadas en la guía de Gradle para Windows para compilar un plugin en macOS, con algunas pequeñas diferencias. Cuando ejecutes gradlew build, agrega ./ al inicio del comando, por lo que será ./gradlew build.
Después de eso, simplemente ejecuta ./gradlew para compilar el JAR.
🦅 Compilando un plugin con Maven 🦅
En lugar de usar Chocolatey como se menciona en la guía para Windows, instalaremos los softwares necesarios usando Brew. Ejecuta el comando brew install maven y brew install git para instalar los programas necesarios. Luego, sigue la guía para Windows para compilar con Maven.
No deberías estar leyendo esta parte de la guía, ya que no se recomienda hacer todo esto en un móvil, pero para cubrir todas las bases, también explicaremos cómo compilar archivos JAR en un teléfono.
Android es el único sistema operativo para teléfonos que te permitirá hacer esto. Termux será la aplicación que usaremos.
🦅 Compilando un plugin con Maven 🦅
Queremos asegurarnos de poder acceder a los archivos que obtenemos en nuestros teléfonos. Ejecuta termux-storage-setup, acepta cualquier solicitud y entra al almacenamiento de tu teléfono en ~/storage. Encontrarás tus carpetas como descargas, imágenes, etc., que coinciden con las carpetas de archivos de tu teléfono.
Comienza instalando los paquetes necesarios de Git, Maven y Java con pkg install openjdk-default-jdk maven git.
Para solucionar cualquier problema de repositorio, intenta el comando termux-change-repo para elegir repositorios de otra fuente de espejo. Además, actualiza y mejora tus paquetes con apt update && apt upgrade -y.
Luego, sigue los pasos especificados en la guía para Windows con Maven para compilar un plugin. Es posible que encuentres errores insuperables aquí, por lo que generalmente se recomienda compilar un JAR en una PC.
Conclusión
¡Y así es como se compilan plugins y softwares de servidor! Esperamos que esta guía te ayude a compilar tus plugins favoritos.
Actualizado el: 30/05/2024
¡Gracias!