spigot-compil-bg

Comment obtenir la dernière version de Spigot ?

Je ne vous présente plus spigot, que certains connaissent d'ors et déjà, cependant la question récurrente que je vois apparaître pour ses utilisateurs est une souvent une impasse, en effet bon nombres d'entres vous ne savent pas où trouver la dernière version de Spigot, et à juste titre puisque cette version n'est pas disponible en tant que telle, en effet depuis quelques années spigot n'est plus disponible au téléchargement direct, il faut le compiler soi-même afin d'obtenir le fichier .jar tant convoité.convoité.

Il faut utiliser les "BuildTools" proposé par spigot, afin d'obtenir la version de Spigot à jour, ou même toute autre version spécifiée. Ce tutoriel est comme à mon habitude proposé pour une utilisation sous Linux, cependant, il est facilement adaptable pour une utilisation sur d'autres plate formes, pour cela je vous renvois à la documentation officielle.

Pré-requis :

Afin d'utiliser les outils proposés par spigot, il vous faut java (que vous avez déjà normalement si vous comptiez compiler sur le même système que celui utilisé pour lancer minecraft), puis il vous faut télécharger l'utilitaire git en ligne de commande. Ainsi que tar, afin de gérer les fichiers archives proposés par Spigot.

Une bonne fois pour toute avant la mise en place du tutoriel mettez à jour vos paquets, apt-get update.

Pour l'installation de java je me limiterai à la version proposée par Spigot, apt-get install openjdk-7-jre-headless, puis il vous faut installer git et tar apt-get install git tar si ils ne sont pas déjà présent sur votre système.

Téléchargement des outils proposés par Spigot :

Si vous vous rendez sur le Jenkins de de Spigot vous vous rendrez compte que les seuls jar disponibles ne sont pas ceux de minecraft tant convoités. En effet vous en trouverez plusieurs dont le BuildTools qui nous intéresse.

Le mieux étant de compiler dans un dossier séparé de toute autre activité, ainsi je vous propose de créer un dossier dans le répertoire home de votre système : mkdir /home/buildtools/, les nombreux fichiers nécessaires à la compilation seront conteneurisés alors dans ce dernier.

Il vous faut maintenant vous rendre dans le dossier ainsi crée afin d'y télécharger les outils de compilation, cd /home/buildtools/ && wget "https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar" -O BuildTools.jar, le lien précédent étant celui de la dernière version et jour, il est conseillé de mettre à jour le plus souvent possible cet outil en utilisant la même commande.

Utilisation de l'outil de compilation :

Afin d'utiliser les outils de compilation que vous avez précédemment téléchargés il vous faut, si ce n'est déjà fait, vous rendre dans le dossier crée à cet effet cd /home/buildtools/, ensuite comme indiqué par spigot il vous faut configurer git dans l'optique de la compilation git config --global --unset core.autocrlf.Vous devez désormais tout simplement lancer le fichier .jar : java -jar BuildTools.jar &.

Si vous souhaitez compiler une certaine version de spigot et non la dernière version stable proposée par défaut utilisez l'argument --rev par exemple java -jar BuildTools.jar --rev 1.9 &.

Il est à noté que le téléchargement des fichiers nécessaires à la compilation et tout particulièrement lors de la première utilisation de l'outil peut s'avérer très long en fonction de votre connexion, de plus il est de même pour la compilation qui suivra le téléchargement en fonction de votre configuration matérielle, il vous suffit de patienter, prenez et un café et n'oubliez pas “La patience est une vertu qui s’acquiert avec de la patience.”.

Récupération des fichiers précédemment compilés :

Une fois le téléchargement et la compilation réalisée, il vous suffit simplement de copier le fichier .jar généré, par exemple pour la dernière version date, 1.X par exemple, il aura normalement été crée craftbukkit-1.X.jar et spigot-1.X.jar, si vous voulez copier Spigot utilisez tout simplement cp spigot*.jar /home/minecraft/server.jar par exemple, si votre serveur est dans /home/minecraft et que le jar que vous utilisiez avant était server.jar.

Automatisation de la mise à jour :

J'ai réalisé un script bash très succinct, permettant la mise à jour automatique de votre serveur :

#!/bin/bash

#Variables
dir="/home/buildtools"
buildtoolslink="https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar"
buildtoolsfile="BuildTools.jar"
mcfolder="/home/minecraft"
mcjar="server.jar"
mcversion="latest"
mcrestartcmd="/etc/init.d/minecraft restart"

#Update
mkdir $dir
cd $dir 
wget "$buildtoolslink" -O $buildtoolsfile
git config --global --unset core.autocrlf
java -jar $buildtoolsfile --rev $mcversion
cp spigot*.jar $mcfolder/$mcjar

#Redémarrage du serveur (option)
#$mcrestartcmd

Vous devez télécharger ce script sur votre système, cd /root && wget https://raw.githubusercontent.com/Chikoumi/Spigot-AutoBuild/master/spigot-update.bash, vous devez ensuite le rendre exécutable, chmod +x spigot-update.bash, ensuite ajouter le simplement à crontab, crontab -e, par exemple pour un lancement tout les mois ajoutez @monthly ~/spigot-update.bash.

Vous noterez que vous devez éditer la variable mcrestartcmd par la commande que vous utilisez pour relancer votre serveur, puis dé-commentez la dernière ligne #$mcrestartcmd, et enfin remplacez mcversion si besoin.

Poster un Commentaire

Me notifier des
avatar
300
Kervinou
Invité

Bonjour,
Merci pour tes explications claires et simples à suivre.
Depuis le changement chez Spigot, je faisais comme toi en utilisant un script qui génère la dernière version chaque nuit.
Il se trouve que depuis quelques temps, la compilation ne se termine pas lorsque le script est lancé via Cron

wpDiscuz