34 lines
833 B
Python
34 lines
833 B
Python
from os import remove, symlink
|
|
|
|
from requests import get
|
|
|
|
|
|
manifest = get('https://launchermeta.mojang.com/mc/game/version_manifest.json')
|
|
versions = manifest.json()['versions']
|
|
for version in versions:
|
|
if version['type'] == 'release':
|
|
break
|
|
|
|
server_id = version['id']
|
|
print(f'Found version {server_id}')
|
|
|
|
latest_info_url = version['url']
|
|
latest_info = get(latest_info_url)
|
|
server_url = latest_info.json()['downloads']['server']['url']
|
|
|
|
server = get(server_url)
|
|
|
|
fname = f'minecraft_server.{server_id}.jar'
|
|
fullpath = f'/home/ubuntu/minecraft/{fname}'
|
|
print(f'Writing to {fullpath}')
|
|
with open(fname, 'wb') as f:
|
|
f.write(server.content)
|
|
|
|
linkname = '/home/ubuntu/minecraft/server.jar'
|
|
print(f'Symlinking {linkname} to {fullpath}')
|
|
try:
|
|
remove(linkname)
|
|
except FileNotFoundError:
|
|
pass
|
|
symlink(fname, linkname)
|