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 -*-
|
||||
import socket, thread, time, random, traceback
|
||||
import socket, thread, time, random, traceback, requests, json
|
||||
from os.path import exists
|
||||
|
||||
from PyQt4 import QtGui, QtCore
|
||||
@ -194,18 +194,15 @@ class lobby(QtGui.QWidget):
|
||||
self.actual_serverlist = []
|
||||
del servers[0]
|
||||
del servers[-1]
|
||||
for svcontent in servers:
|
||||
server = svcontent.split('&')
|
||||
|
||||
name = server[0].decode('utf-8')
|
||||
desc = server[1].decode('utf-8')
|
||||
ip = server[2]
|
||||
port = int(server[3])
|
||||
webAO_bucket = server[4]
|
||||
for server in servers:
|
||||
name = server["name"]
|
||||
desc = server["description"]
|
||||
ip = server["ip"]
|
||||
port = server["port"]
|
||||
|
||||
serveritem = QtGui.QListWidgetItem(name)
|
||||
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):
|
||||
tcp, charlist, musiclist, background, evidence, areas, features, joinooc, hplist, webAO_bucket = stuff
|
||||
@ -319,11 +316,9 @@ class lobby(QtGui.QWidget):
|
||||
if self.tab == 0:
|
||||
self.serverinfo.setText(self.actual_serverlist[i][3])
|
||||
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])
|
||||
elif self.tab == 1:
|
||||
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])
|
||||
|
||||
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)
|
||||
|
||||
def lobby_sendchat(self):
|
||||
text = self.lobbychatinput.text().toUtf8()
|
||||
self.masterserver.ms_tcp.send('CT#' +self.oocname+ '#' + text + '#%')
|
||||
#text = self.lobbychatinput.text().toUtf8()
|
||||
#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()
|
||||
|
||||
def setoocname(self):
|
||||
@ -343,13 +339,13 @@ class lobby(QtGui.QWidget):
|
||||
def lobbychatlog_update(self):
|
||||
if self.lobbychatlog.verticalScrollBar().value() == self.lobbychatlog.verticalScrollBar().maximum(): self.lobbychatlog.verticalScrollBar().setValue(self.lobbychatlog.verticalScrollBar().maximum())
|
||||
|
||||
def newOOCMessage(self, name, text):
|
||||
self.lobbychatlog.append('%s: %s' % (name, text))
|
||||
def newOOCMessage(self, text):
|
||||
self.lobbychatlog.append(text)
|
||||
|
||||
|
||||
class MasterServer(QtCore.QThread):
|
||||
gotServers = QtCore.pyqtSignal(list)
|
||||
gotOOCMsg = QtCore.pyqtSignal(str, str)
|
||||
gotOOCMsg = QtCore.pyqtSignal(str)
|
||||
msgbox_signal = QtCore.pyqtSignal(int, str, str)
|
||||
|
||||
def __init__(self):
|
||||
@ -357,7 +353,13 @@ class MasterServer(QtCore.QThread):
|
||||
|
||||
def run(self):
|
||||
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:
|
||||
self.ms_tcp.connect(('master.aceattorneyonline.com', 27016))
|
||||
except:
|
||||
@ -399,6 +401,7 @@ class MasterServer(QtCore.QThread):
|
||||
name = decode_ao_str(network[1].decode("utf-8"))
|
||||
chatmsg = decode_ao_str(network[2].decode("utf-8"))
|
||||
self.gotOOCMsg.emit(name, chatmsg)
|
||||
"""
|
||||
|
||||
class AOServerInfo(QtCore.QThread):
|
||||
moveToGameSignal = QtCore.pyqtSignal(list)
|
||||
@ -502,11 +505,16 @@ class AOServerInfo(QtCore.QThread):
|
||||
maxplayers = int(network[2])
|
||||
self.canConnect.emit()
|
||||
self.setOnlinePlayers.emit('%d/%d players online' % (players, maxplayers))
|
||||
self.tcp.send("ASS#%") # get webAO bucket
|
||||
got_stuff = True
|
||||
|
||||
elif header == "decryptor":
|
||||
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":
|
||||
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