replace old masterserver with new http MS
This commit is contained in:
parent
53aa9064e0
commit
9230b1b785
46
mainmenu.py
46
mainmenu.py
@ -1,5 +1,5 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
import socket, thread, time, random, traceback
|
import socket, thread, time, random, traceback, requests, json
|
||||||
from os.path import exists
|
from os.path import exists
|
||||||
|
|
||||||
from PyQt4 import QtGui, QtCore
|
from PyQt4 import QtGui, QtCore
|
||||||
@ -194,18 +194,15 @@ class lobby(QtGui.QWidget):
|
|||||||
self.actual_serverlist = []
|
self.actual_serverlist = []
|
||||||
del servers[0]
|
del servers[0]
|
||||||
del servers[-1]
|
del servers[-1]
|
||||||
for svcontent in servers:
|
for server in servers:
|
||||||
server = svcontent.split('&')
|
name = server["name"]
|
||||||
|
desc = server["description"]
|
||||||
name = server[0].decode('utf-8')
|
ip = server["ip"]
|
||||||
desc = server[1].decode('utf-8')
|
port = server["port"]
|
||||||
ip = server[2]
|
|
||||||
port = int(server[3])
|
|
||||||
webAO_bucket = server[4]
|
|
||||||
|
|
||||||
serveritem = QtGui.QListWidgetItem(name)
|
serveritem = QtGui.QListWidgetItem(name)
|
||||||
if self.tab == 0: self.serverlist.addItem(serveritem)
|
if self.tab == 0: self.serverlist.addItem(serveritem)
|
||||||
self.actual_serverlist.append((ip, port, name, desc, webAO_bucket))
|
self.actual_serverlist.append((ip, port, name, desc))
|
||||||
|
|
||||||
def moveToGame(self, stuff):
|
def moveToGame(self, stuff):
|
||||||
tcp, charlist, musiclist, background, evidence, areas, features, joinooc, hplist, webAO_bucket = stuff
|
tcp, charlist, musiclist, background, evidence, areas, features, joinooc, hplist, webAO_bucket = stuff
|
||||||
@ -319,11 +316,9 @@ class lobby(QtGui.QWidget):
|
|||||||
if self.tab == 0:
|
if self.tab == 0:
|
||||||
self.serverinfo.setText(self.actual_serverlist[i][3])
|
self.serverinfo.setText(self.actual_serverlist[i][3])
|
||||||
self.aoserverinfo.setIP(text, *self.actual_serverlist[i][:2])
|
self.aoserverinfo.setIP(text, *self.actual_serverlist[i][:2])
|
||||||
self.aoserverinfo.webAO_bucket = self.actual_serverlist[i][-1]
|
|
||||||
print '[debug]', 'ind: ' + str(i) + ', ip: ' + self.actual_serverlist[i][0] + ', port: ' + str(self.actual_serverlist[i][1])
|
print '[debug]', 'ind: ' + str(i) + ', ip: ' + self.actual_serverlist[i][0] + ', port: ' + str(self.actual_serverlist[i][1])
|
||||||
elif self.tab == 1:
|
elif self.tab == 1:
|
||||||
self.aoserverinfo.setIP(text, *self.favoriteslist[i][:2])
|
self.aoserverinfo.setIP(text, *self.favoriteslist[i][:2])
|
||||||
self.aoserverinfo.webAO_bucket = ""
|
|
||||||
print '[debug]', 'ind: ' + str(i) + ', ip: ' + self.favoriteslist[i][0] + ', port: ' + str(self.favoriteslist[i][1])
|
print '[debug]', 'ind: ' + str(i) + ', ip: ' + self.favoriteslist[i][0] + ', port: ' + str(self.favoriteslist[i][1])
|
||||||
|
|
||||||
self.aoserverinfo.stop()
|
self.aoserverinfo.stop()
|
||||||
@ -333,8 +328,9 @@ class lobby(QtGui.QWidget):
|
|||||||
self.gamewindow.showGame(tcp, charlist, musiclist, background, evidence, areas, features, oocjoin, hplist, webAO_bucket)
|
self.gamewindow.showGame(tcp, charlist, musiclist, background, evidence, areas, features, oocjoin, hplist, webAO_bucket)
|
||||||
|
|
||||||
def lobby_sendchat(self):
|
def lobby_sendchat(self):
|
||||||
text = self.lobbychatinput.text().toUtf8()
|
#text = self.lobbychatinput.text().toUtf8()
|
||||||
self.masterserver.ms_tcp.send('CT#' +self.oocname+ '#' + text + '#%')
|
#self.masterserver.ms_tcp.send('CT#' +self.oocname+ '#' + text + '#%')
|
||||||
|
self.lobbychatlog.append("Lobby chat is not supported on the new HTTP-based masterserver.")
|
||||||
self.lobbychatinput.clear()
|
self.lobbychatinput.clear()
|
||||||
|
|
||||||
def setoocname(self):
|
def setoocname(self):
|
||||||
@ -343,13 +339,13 @@ class lobby(QtGui.QWidget):
|
|||||||
def lobbychatlog_update(self):
|
def lobbychatlog_update(self):
|
||||||
if self.lobbychatlog.verticalScrollBar().value() == self.lobbychatlog.verticalScrollBar().maximum(): self.lobbychatlog.verticalScrollBar().setValue(self.lobbychatlog.verticalScrollBar().maximum())
|
if self.lobbychatlog.verticalScrollBar().value() == self.lobbychatlog.verticalScrollBar().maximum(): self.lobbychatlog.verticalScrollBar().setValue(self.lobbychatlog.verticalScrollBar().maximum())
|
||||||
|
|
||||||
def newOOCMessage(self, name, text):
|
def newOOCMessage(self, text):
|
||||||
self.lobbychatlog.append('%s: %s' % (name, text))
|
self.lobbychatlog.append(text)
|
||||||
|
|
||||||
|
|
||||||
class MasterServer(QtCore.QThread):
|
class MasterServer(QtCore.QThread):
|
||||||
gotServers = QtCore.pyqtSignal(list)
|
gotServers = QtCore.pyqtSignal(list)
|
||||||
gotOOCMsg = QtCore.pyqtSignal(str, str)
|
gotOOCMsg = QtCore.pyqtSignal(str)
|
||||||
msgbox_signal = QtCore.pyqtSignal(int, str, str)
|
msgbox_signal = QtCore.pyqtSignal(int, str, str)
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
@ -357,7 +353,13 @@ class MasterServer(QtCore.QThread):
|
|||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
tempdata = ""
|
tempdata = ""
|
||||||
self.ms_tcp = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
self.ms_http = requests.get("http://servers.aceattorneyonline.com/servers")
|
||||||
|
self.ms_motd = requests.get("http://servers.aceattorneyonline.com/motd")
|
||||||
|
|
||||||
|
if self.ms_http.ok: self.gotServers.emit(json.loads(self.ms_http.content))
|
||||||
|
if self.ms_motd.ok: self.gotOOCMsg.emit(self.ms_motd.content)
|
||||||
|
|
||||||
|
"""
|
||||||
try:
|
try:
|
||||||
self.ms_tcp.connect(('master.aceattorneyonline.com', 27016))
|
self.ms_tcp.connect(('master.aceattorneyonline.com', 27016))
|
||||||
except:
|
except:
|
||||||
@ -399,6 +401,7 @@ class MasterServer(QtCore.QThread):
|
|||||||
name = decode_ao_str(network[1].decode("utf-8"))
|
name = decode_ao_str(network[1].decode("utf-8"))
|
||||||
chatmsg = decode_ao_str(network[2].decode("utf-8"))
|
chatmsg = decode_ao_str(network[2].decode("utf-8"))
|
||||||
self.gotOOCMsg.emit(name, chatmsg)
|
self.gotOOCMsg.emit(name, chatmsg)
|
||||||
|
"""
|
||||||
|
|
||||||
class AOServerInfo(QtCore.QThread):
|
class AOServerInfo(QtCore.QThread):
|
||||||
moveToGameSignal = QtCore.pyqtSignal(list)
|
moveToGameSignal = QtCore.pyqtSignal(list)
|
||||||
@ -502,11 +505,16 @@ class AOServerInfo(QtCore.QThread):
|
|||||||
maxplayers = int(network[2])
|
maxplayers = int(network[2])
|
||||||
self.canConnect.emit()
|
self.canConnect.emit()
|
||||||
self.setOnlinePlayers.emit('%d/%d players online' % (players, maxplayers))
|
self.setOnlinePlayers.emit('%d/%d players online' % (players, maxplayers))
|
||||||
|
self.tcp.send("ASS#%") # get webAO bucket
|
||||||
got_stuff = True
|
got_stuff = True
|
||||||
|
|
||||||
elif header == "decryptor":
|
elif header == "decryptor":
|
||||||
self.tcp.send("HI#AO2XP %s#%%" % hardware.get_hdid())
|
self.tcp.send("HI#AO2XP %s#%%" % hardware.get_hdid())
|
||||||
|
|
||||||
|
elif header == "ASS": # ha ha ha...
|
||||||
|
self.webAO_bucket = network[1]
|
||||||
|
print self.webAO_bucket
|
||||||
|
|
||||||
elif header == "ID":
|
elif header == "ID":
|
||||||
self.tcp.send("ID#AO2XP#%s#%%" % GAME_VERSION[1:]) # need to send this to tsuserver3 servers in order to get feature list (FL)
|
self.tcp.send("ID#AO2XP#%s#%%" % GAME_VERSION[1:]) # need to send this to tsuserver3 servers in order to get feature list (FL)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user