Bonjour à tous et à toutes.
J'ai des scripts qui mettent à jour mes docker Minecraft. Seulement, lorsque les dockers sont mis à jour, les plugins eux ne le sont pas et le serveur ne fonctionne plus.
J'utilise deux plugins : floodgate et Geyser. Pour eux, c'est facile :
$backup_source est une variable qui contient le chemin vers les fichiers du docker.
Jusque là, c'est facile !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 # Update floodgate-api.jar if [ -e "${backup_source}/plugins/floodgate-api.jar" ] then wget -N "https://ci.opencollab.dev/job/GeyserMC/job/Floodgate/job/master/lastSuccessfulBuild/artifact/api/target/floodgate-api.jar" -O "${backup_source}/plugins/floodgate-api.jar" fi # Update Geyser-Spigot.jar if [ -e "${backup_source}/plugins/Geyser-Spigot.jar" ] then wget -N "https://ci.opencollab.dev//job/GeyserMC/job/Geyser/job/master/lastSuccessfulBuild/artifact/bootstrap/spigot/target/Geyser-Spigot.jar" -O "${backup_source}/plugins/Geyser-Spigot.jar" fi
Mais...
J'ai aussi besoin de mettre à jour WorldEdit et là, ça se corse, l'URL est la suivante : https://dev.bukkit.org/projects/worldedit/files/latest
Mais cette URL pose deux problèmes :
- Avec wget, le fichier téléchargé s'appelle latest, or si on le fait dans un navigateur, le fichier est un fichier du genre "worldedit-bukkit-7.2.10.jar" dont le nom change à chaque version.
- dans mon répertoire plugin, le nom s'appelle worldedit-bukkit-7.1.5.jar par exemple => il faut donc le supprimer, mieux, ne le mettre à jour que si besoin
- Une solution rapide serait de supprimer systématiquement worldedit-bukkit-*.jar et de télécharger la dernière version, mais
Je ne sais pas comment télécharger le fichier dans le bon nom, il me télécharge et me le nomme latest !- La meilleur solution est de chercher la version du fichier -bukkitxxxxx dans le répertoire plugin, de demander à wget le nom du fichier qui se trouve derrière l'URL, de comparer les versions et de finalement ne télécharger le fichier (et supprimer l'ancien) que s'il y a une nouvelle version.
Et là, il y a beaucoup de choses que je ne sais pas faire
Une idée, un coup de main ? Merci à tous et portez vous bien.
Partager