Esta es la contestación más exacta que encomtrarás compartir, sin embargo mírala detenidamente y valora si es compatible a tu proyecto.
Solución:
Instrucciones completas
Recientemente descompilé el iniciador por esta misma razón, para administrar las actualizaciones automáticas para mi contenedor de servidor con su nueva convención de nomenclatura.
Encontré el archivo que usan para averiguar cuál es la versión actual y la URL:
https://launchermeta.mojang.com/mc/game/version_manifest.json
Este archivo incluye lo siguiente (a partir de esta respuesta):
"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"
,
...
]
Ese archivo también tiene “versiones” array. Recorra esto para encontrar la versión que está buscando en el id
campo. También suele ser la primera entrada en este arraypara que puedas abordarlo versions[0]
. Toma el url
value y obtenga ese archivo que contiene lo siguiente útil key:
"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"
,
Por lo tanto, la URL que necesita está contenida en downloads.server.url
.
Resumen
GET
https://launchermeta.mojang.com/mc/game/version_manifest.jsonGET
versions[0].url
GET
downloads.server.url
Instrucciones desactualizadas – solo para la posteridad
Que luego puede usar para extrapolar la última versión para el lanzamiento y las instantáneas usando este esquema:
https://s3.amazonaws.com/Minecraft.Download/versions/" + Ver + "/minecraft_server." + Ver + ".jar
Con este método, no necesita descargar el archivo jar/exe cada vez, solo el archivo json y luego, si se modifica, puede tomar el archivo jar apropiado.
Puedes usar jsawk
para obtener el último número de versión de jar de la versión JSON de Minecraft:
#!/bin/bash
VER=`curl -s https://launchermeta.mojang.com/mc/game/version_manifest.json | jsawk -n 'out(this.latest.release)'`
wget https://s3.amazonaws.com/Minecraft.Download/versions/$VER/minecraft_server.$VER.jar
Requiere:
- jsawk
- Mono araña
¡Hasta arrojaré mi sombrero al ring! Muy similar al de arriba, con algunos extras.
#!/bin/bash
tmpfile=/tmp/minecrafttempfile.tmp
downloadurl="https://minecraft.net/download"
serverurl=""
loc=$([[ -n $1 ]] && echo $1 || echo "/tmp/minecraft_server.jar")
if [[ -a $loc ]]; then
echo "$loc exists -- moving to $loc.old"
mv $loc $loc.old
fi
echo "Grabbing minecraft download page..."
curl $downloadurl > $tmpfile
echo "Getting download URL for minecraft server..."
serverurl=`egrep -io 'https.*versions/(.*)/minecraft_server.1.jar' $tmpfile`
echo "URL = "$serverurl
echo "Downloading server jar..."
wget -q -O $loc $serverurl
https://github.com/cptskyhawk/LinuxMinecraftTools
Te mostramos comentarios y calificaciones
Si tienes algún titubeo y disposición de aumentar nuestro post puedes ejecutar una nota y con placer lo observaremos.