Instructions complètes
J'ai récemment décompilé le lanceur pour cette raison précise, afin de gérer les mises à jour automatiques de mon wrapper de serveur avec leur nouvelle convention de dénomination.
J'ai trouvé le fichier qu'ils utilisent pour savoir quelle est la version actuelle et l'URL de celle-ci :
https://launchermeta.mojang.com/mc/game/version_manifest.json
Ce fichier comprend les éléments suivants (à partir de cette réponse) :
"latest": {
"snapshot": "1.9-pre3",
"release": "1.8.9"
},
"versions": [
{
"id": "1.13.1",
"type": "release",
"url": "https://launchermeta.mojang.com/v1/packages/c0f1e6239a16681ffbfa68fc469038643304d5a9/1.13.1.json",
"time": "2018-08-30T09:49:34+00:00",
"releaseTime": "2018-08-22T14:03:42+00:00"
},
...
]
Ce fichier contient également un tableau "versions". Faites une boucle dans ce tableau pour trouver la version que vous recherchez dans le fichier id
champ. Il s'agit aussi généralement de la première entrée de ce tableau, de sorte que vous pouvez l'adresser de la manière suivante versions[0]
. Saisissez le url
et récupère ce fichier qui contient la clé utile suivante :
"downloads": {
"client": {
"sha1": "8de235e5ec3a7fce168056ea395d21cbdec18d7c",
"size": 16088559,
"url": "https://launcher.mojang.com/v1/objects/8de235e5ec3a7fce168056ea395d21cbdec18d7c/client.jar"
},
"server": {
"sha1": "fe123682e9cb30031eae351764f653500b7396c9",
"size": 33832589,
"url": "https://launcher.mojang.com/v1/objects/fe123682e9cb30031eae351764f653500b7396c9/server.jar"
}
},
Par conséquent, l'URL dont vous avez besoin est contenue dans downloads.server.url
.
Résumé
Instructions périmées - pour la postérité seulement
Vous pouvez ensuite l'utiliser pour extrapoler la dernière version pour la version et les instantanés en utilisant ce schéma :
https://s3.amazonaws.com/Minecraft.Download/versions/" + Ver + "/minecraft_server." + Ver + ".jar
En utilisant cette méthode, vous n'avez pas besoin de télécharger le fichier jar/exe à chaque fois, juste le fichier json et ensuite, s'il a été modifié, vous pouvez récupérer le jar approprié.