allow connection to offline mode servers without a password

This commit is contained in:
sose 2021-04-26 20:31:00 -07:00
parent 666435ddae
commit af9cc4b546
1 changed files with 20 additions and 12 deletions

View File

@ -3,14 +3,15 @@ if __name__ == '__main__':
exit(1)
import os
import sys
import time
import importlib
from math import floor, ceil
from copy import copy
USERNAME = os.environ['USERNAME']
PASSWORD = os.environ['PASSWORD']
SERVER = os.environ['SERVER']
USERNAME = os.getenv('USERNAME')
PASSWORD = os.getenv('PASSWORD')
SERVER = os.getenv('SERVER')
PORT = int(os.environ.get('PORT', 25565))
from . import monkey_patch # must be before any possible pyCraft imports
@ -249,15 +250,22 @@ def bot(global_state):
if not g.mcdata:
g.mcdata = DataManager('./minecraft_data')
if not g.connection:
auth_token = authentication.AuthenticationToken()
try:
auth_token.authenticate(USERNAME, PASSWORD)
except YggdrasilError as e:
print(e)
sys.exit()
print("Logged in as %s..." % auth_token.username)
g.connection = Connection(SERVER, PORT, auth_token=auth_token)
if not SERVER:
print('You must specify a server to connect to.')
sys.exit()
elif not g.connection:
if USERNAME and PASSWORD:
auth_token = authentication.AuthenticationToken()
try:
auth_token.authenticate(USERNAME, PASSWORD)
except YggdrasilError as e:
print(e)
sys.exit()
print("Logged in as %s..." % auth_token.username)
g.connection = Connection(SERVER, PORT, auth_token=auth_token)
elif USERNAME:
print('No password provided, attempting to connect in offline mode...')
g.connection = Connection(SERVER, PORT, username=USERNAME)
g.chunks = ChunksManager(g.mcdata)