Created
September 14, 2010 20:30
-
-
Save TkTech/579716 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class Auth(object): | |
"""Provides an interface to services provided by minecraft.net""" | |
def __init__(self, username, password): | |
self.username = username | |
self.password = password | |
self.launcher_ver = 999999999 | |
def _get_version(self): | |
from urllib import urlopen | |
page = urlopen("http://www.minecraft.net/game/getversion.jsp?user={0}&password={1}&version={2}".format(self.username, self.password, self.launcher_ver)) | |
return page.read().split(":") | |
def get_latest_version(self): | |
"""Returns the latest available client version""" | |
return self._get_version()[0] | |
def get_download_ticket(self): | |
"""Returns a download ticket used for getting updated copies of minecraft.jar""" | |
return self._get_version()[1] | |
def get_case_correct_username(self): | |
"""Returns a case-corrected username of a valid Alpha account""" | |
return self._get_version()[2] | |
def get_session_id(self): | |
"""Returns a session ID used for authenticating with Alpha servers""" | |
return self._get_version()[3] | |
def get_minecraft_jar(self): | |
"""Gets the latest minecraft.jar game file and returns a temporary filename where it's stored""" | |
from urllib import urlretrieve | |
fname, headers = urlretrieve("http://minecraft.net/game/minecraft.jar?user={0}&ticket={1}".format(self.username, self.get_download_ticket())) | |
return fname | |
def do_join_server(server_hash): | |
from urllib import urlopen | |
page = urlopen("http://www.minecraft.net/game/joinserver.jsp?user={0}&sessionId={1}&serverId={2}".format(self.username, self.get_session_id(), server_hash)) | |
if page.read().strip() == "ok": | |
return True | |
return False | |
def do_name_check(username, server_hash): | |
from urllib import urlopen | |
page = urlopen("http://www.minecraft.net/game/checkserver.jsp?user={0}&serverId={1}".format(username, server_hash)) | |
if page.read().strip() == "YES": | |
return True | |
return False | |
def do_skin_change(skin_url): | |
from urllib import urlopen |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment