Exemplo n.º 1
0
 def scoreDatagram(self):
     # Send the player's score
     myPyDatagram = PyDatagram()
     myPyDatagram.addUint8(END_MESSAGE)
     myPyDatagram.addString(self.playername)
     myPyDatagram.addInt32(self.carData.carlist[self.carData.index].deaths)
     return myPyDatagram
Exemplo n.º 2
0
    def process_modules(self):
        '''
        This method is called when it's time to write the output.

        For nuggets.nri, we use an encrypted datagram.
        The datagram is read by core.cxx, which populates Python frozen array.

        Datagram format:

        uint32 numModules
        for each module:
            string name
            int32 size *
            data(abs(size))

        * Negative size means the file was an __init__
        '''

        dg = PyDatagram()
        dg.addUint32(len(self.modules))

        for moduleName in self.modules:
            data, size = self.modules[moduleName]

            dg.addString(moduleName)
            dg.addInt32(size)
            dg.appendData(data)

        data = dg.getMessage()

        iv = '\0' * 16
        key = 'AmazingNuggetKey'
        return aes.encrypt(data, key, iv)
Exemplo n.º 3
0
 def scoreDatagram(self):
     # Send a test message
     myPyDatagram = PyDatagram()
     myPyDatagram.addUint8(END_MESSAGE)
     myPyDatagram.addInt32(len(self.playerscores))
     for pair in self.playerscores:
         myPyDatagram.addString(pair[0])
         myPyDatagram.addInt32(pair[1])
     return myPyDatagram
Exemplo n.º 4
0
 def getCarPosDatagram(self, num, data):
     newDatagram = PyDatagram()
     newDatagram.addUint8(CAR_MESSAGE)
     newDatagram.addUint8(num)
     for j in range(5):
         newDatagram.addFloat32(float(data[j]))
     for j in range(5):
         newDatagram.addBool(data[5][j])
     newDatagram.addInt32(data[6])
     return newDatagram
Exemplo n.º 5
0
    def send(self, gameId=None):

        try:
            print gameId
            pkg = PyDatagram()
            pkg.addUint16(Constants.CMSG_RANKINGS)
            pkg.addInt32(gameId)
            self.cWriter.send(pkg, self.connection)
        except:
            self.log("Bad [" + str(Constants.CMSG_RANKINGS) + "] Request")
            print_exc()
Exemplo n.º 6
0
    def send(self, gameId = None):

        try:
            print gameId
            pkg = PyDatagram()
            pkg.addUint16(Constants.CMSG_RESULTS)
            pkg.addInt32(gameId)
            self.cWriter.send(pkg, self.connection)
        except:
            self.log('Bad [' + str(Constants.CMSG_RESULTS) + '] Request')
            print_exc()
Exemplo n.º 7
0
    def send(self, health):

        try:
            pkg = PyDatagram()
            pkg.addUint16(Constants.CMSG_HEALTH)
            pkg.addInt32(health)  # Health Change

            self.cWriter.send(pkg, self.connection)

        except:
            self.log('Bad [' + str(Constants.CMSG_HEALTH) + '] Health Request')
Exemplo n.º 8
0
    def send(self, powerId):

        try:
            pkg = PyDatagram()
            pkg.addUint16(Constants.CMSG_POWER_UP)
            pkg.addInt32(powerId)
            print "Request Power Pickup : ",powerId
            self.cWriter.send(pkg, self.connection)

        except:
            self.log('Bad [' + str(Constants.CMSG_POWER_UP) + '] Power Up Request')
 def sendLoginMsg(self):
     cr = self.cr
     datagram = PyDatagram()
     datagram.addUint16(CLIENT_LOGIN_3)
     datagram.addString(self.DISLToken)
     datagram.addString(cr.serverVersion)
     datagram.addUint32(cr.hashVal)
     datagram.addInt32(CLIENT_LOGIN_3_DISL_TOKEN)
     datagram.addString(cr.validateDownload)
     datagram.addString(cr.wantMagicWords)
     cr.send(datagram)
Exemplo n.º 10
0
    def send(self, health):

        try:
            pkg = PyDatagram()
            pkg.addUint16(Constants.CMSG_HEALTH)
            pkg.addInt32(Health)  # Health Change

            self.cWriter.send(pkg, self.connection)

        except:
            self.log("Bad [" + str(Constants.CMSG_HEALTH) + "] Health Request")
Exemplo n.º 11
0
    def send(self, powerId = None):

        try:
            print powerId
            pkg = PyDatagram()
            pkg.addUint16(Constants.CMSG_POWER_PICKUP)
            pkg.addInt32(powerId)
            self.cWriter.send(pkg, self.connection)
        except:
            self.log('Bad [' + str(Constants.CMSG_POWER_PICKUP) + '] Request')
            print_exc()
    def send(self, gameId):

        try:
            pkg = PyDatagram()
            pkg.addUint16(Constants.CMSG_RESULTS)
            pkg.addInt32(gameId) # GameId

            self.cWriter.send(pkg, self.connection)

        except:
            self.log('Bad [' + str(Constants.CMSG_RESULTS) + '] Results Request')
Exemplo n.º 13
0
 def sendLoginMsg(self):
     cr = self.cr
     datagram = PyDatagram()
     datagram.addUint16(CLIENT_LOGIN_3)
     datagram.addString(self.DISLToken)
     datagram.addString(cr.serverVersion)
     datagram.addUint32(cr.hashVal)
     datagram.addInt32(CLIENT_LOGIN_3_DISL_TOKEN)
     datagram.addString(cr.validateDownload)
     datagram.addString(cr.wantMagicWords)
     cr.send(datagram)
Exemplo n.º 14
0
    def send(self, rank):

        try:
            pkg = PyDatagram()
            pkg.addUint16(Constants.CMSG_SET_RANK)
            pkg.addInt32(rank)

            self.cWriter.send(pkg, self.connection)

        except:
            self.log('Bad [' + str(Constants.CMSG_SET_RANK) + '] Set Rank Request')
Exemplo n.º 15
0
    def send(self, dead = None):

        try:
            print dead
            pkg = PyDatagram()
            pkg.addUint16(Constants.CMSG_DEAD)
            pkg.addInt32(dead)
            self.cWriter.send(pkg, self.connection)
        except:
            self.log('Bad [' + str(Constants.CMSG_DEAD) + '] Request')
            print_exc()
Exemplo n.º 16
0
    def send(self, ready = None):

        try:
            print ready
            pkg = PyDatagram()
            pkg.addUint16(Constants.CMSG_READY)
            pkg.addInt32(ready)
            self.cWriter.send(pkg, self.connection)
        except:
            self.log('Bad [' + str(Constants.CMSG_READY) + '] Request')
            print_exc()
Exemplo n.º 17
0
    def send(self, kwargs):
        try:
            pkg = PyDatagram()
            pkg.addUint16(Constants.CMSG_DEAD)
            pkg.addInt32(kwargs['gameId'])

            self.cWriter.send(pkg, self.connection)

            self.log('Sent [' + str(Constants.CMSG_DEAD) + '] RequestDead')
        except:
            self.log('Bad [' + str(Constants.CMSG_DEAD) + '] RequestDead')
            print_exc()
Exemplo n.º 18
0
    def send(self, powerId):

        try:
            pkg = PyDatagram()
            pkg.addUint16(Constants.CMSG_POWER_UP)
            pkg.addInt32(powerId)

            self.cWriter.send(pkg, self.connection)

        except:
            self.log('Bad [' + str(Constants.CMSG_POWER_UP) +
                     '] Power Up Request')
    def send(self, kwargs):
        try:
            pkg = PyDatagram()
            pkg.addUint16(Constants.CMSG_POWER_PICKUP)
            pkg.addInt32(kwargs['powerId'])

            self.cWriter.send(pkg, self.connection)

            self.log('Sent [' + str(Constants.CMSG_POWER_PICKUP) + '] RequestPowerUpPickUp')
        except:
            self.log('Bad [' + str(Constants.CMSG_POWER_PICKUP) + '] RequestPowerUpPickUp')
            print_exc()
    def send(self, kwargs):
        try:
            pkg = PyDatagram()
            pkg.addUint16(Constants.C_SELECT_CHARACTER)
            pkg.addInt32(kwargs['character'])

            self.cWriter.send(pkg, self.connection)

            self.log('Sent [' + str(Constants.C_SELECT_CHARACTER) + '] RequestSelectCharacter')
        except:
            self.log('Bad [' + str(Constants.C_SELECT_CHARACTER) + '] RequestSelectCharacter')
            print_exc()
    def send(self, args = []):

        try:
            pkg = PyDatagram()
            pkg.addUint16(Constants.CMSG_COLLISION)
            pkg.addString(args[0]) # Username
            pkg.addInt32(args[1]) # Damage Dealt

            self.cWriter.send(pkg, self.connection)

        except:
            self.log('Bad [' + str(Constants.CMSG_COLLISION) + '] Collision Request')
Exemplo n.º 22
0
    def send(self, gameId):

        try:
            pkg = PyDatagram()
            pkg.addUint16(Constants.CMSG_RESULTS)
            pkg.addInt32(gameId)  # GameId

            self.cWriter.send(pkg, self.connection)

        except:
            self.log('Bad [' + str(Constants.CMSG_RESULTS) +
                     '] Results Request')
    def send(self, kwargs):
        try:
            pkg = PyDatagram()
            pkg.addUint16(Constants.CMSG_RESULTS)
            pkg.addInt32(kwargs['gameId'])

            self.cWriter.send(pkg, self.connection)

            self.log('Sent [' + str(Constants.CMSG_RESULTS) + '] RequestResults')
        except:
            self.log('Bad [' + str(Constants.CMSG_RESULTS) + '] RequestResults')
            print_exc()
    def send(self, kwargs):
        try:
            pkg = PyDatagram()
            pkg.addUint16(Constants.CMSG_HEALTH)
            pkg.addString(kwargs['username'])
            pkg.addInt32(kwargs['healthChange'])

            self.cWriter.send(pkg, self.connection)

            self.log('Sent [' + str(Constants.CMSG_HEALTH) + '] RequestChangeHealth')
        except:
            self.log('Bad [' + str(Constants.CMSG_HEALTH) + '] RequestChangeHealth')
            print_exc()
Exemplo n.º 25
0
    def send(self, args=None):

        try:
            pkg = PyDatagram()
            pkg.addUint16(Constants.RAND_INT)
            pkg.addInt32(args)

            self.cWriter.send(pkg, self.connection)

            #self.log('Sent [' + str(Constants.RAND_INT) + '] Int Request')
        except:
            self.log('Bad [' + str(Constants.RAND_INT) + '] Int Request')
            print_exc()
    def send(self, kwargs):
        try:
            pkg = PyDatagram()
            pkg.addUint16(Constants.CMSG_COLLISION)
            pkg.addInt32(kwargs['playerId'])
            pkg.addInt32(kwargs['damage'])

            self.cWriter.send(pkg, self.connection)

            self.log('Sent [' + str(Constants.CMSG_COLLISION) + '] RequestCollision')
        except:
            self.log('Bad [' + str(Constants.CMSG_COLLISION) + '] RequestCollision')
            print_exc()
Exemplo n.º 27
0
    def send(self, args=[]):

        try:
            pkg = PyDatagram()
            pkg.addUint16(Constants.CMSG_COLLISION)
            pkg.addString(args[0])  # Username
            pkg.addInt32(args[1])  # Damage Dealt

            self.cWriter.send(pkg, self.connection)

        except:
            self.log('Bad [' + str(Constants.CMSG_COLLISION) +
                     '] Collision Request')
Exemplo n.º 28
0
    def send(self, args = None):

        try:
            pkg = PyDatagram()
            pkg.addUint16(Constants.RAND_INT)
            pkg.addInt32(args)

            self.cWriter.send(pkg, self.connection)

            #self.log('Sent [' + str(Constants.RAND_INT) + '] Int Request')
        except:
            self.log('Bad [' + str(Constants.RAND_INT) + '] Int Request')
            print_exc()
    def send(self, args = []):

        try:
            pkg = PyDatagram()
            pkg.addUint16(Constants.CMSG_CREATE_LOBBY)

            pkg.addString(args[0]) #game room name
            pkg.addInt32(int(args[1])) #gamemode
            pkg.addInt32(int(args[2])) #status

            self.cWriter.send(pkg, self.connection)

        except:
            self.log('Bad [' + str(Constants.CMSG_CREATE_LOBBY) + '] Create Lobby Request')
Exemplo n.º 30
0
    def send(self, kwargs):
        try:
            pkg = PyDatagram()
            pkg.addUint16(Constants.CMSG_POWER_PICKUP)
            pkg.addInt32(kwargs['powerId'])

            self.cWriter.send(pkg, self.connection)

            self.log('Sent [' + str(Constants.CMSG_POWER_PICKUP) +
                     '] RequestPowerUpPickUp')
        except:
            self.log('Bad [' + str(Constants.CMSG_POWER_PICKUP) +
                     '] RequestPowerUpPickUp')
            print_exc()
Exemplo n.º 31
0
    def send(self, args=None):

        try:
            pkg = PyDatagram()
            pkg.addUint16(Constants.CMSG_HEALTH)
            pkg.addString(args[0])  #targeted player
            pkg.addInt32(args[1])  #damage amount

            self.cWriter.send(pkg, self.connection)

            #self.log('Sent [' + str(Constants.RAND_INT) + '] Int Request')
        except:
            self.log('Bad [' + str(Constants.RAND_INT) + '] Int Request')
            print_exc()
Exemplo n.º 32
0
 def _crDatagram(self, msg):
     # create Datagram from message
     myPyDatagram = PyDatagram()
     myPyDatagram.addInt32(msg[SEQN])
     myPyDatagram.addInt32(msg[AKN])
     myPyDatagram.addInt16(msg[MSG_TYPE])
     myPyDatagram.addInt8(msg[OOL])
     if not msg[ENCODED]:
         myPyDatagram.addString(self.encode(msg[OAKN]))
         myPyDatagram.addString(self.encode(msg[DATA]))
     else:
         myPyDatagram.addString(msg[OAKN])
         myPyDatagram.addString(msg[DATA])
     return myPyDatagram
Exemplo n.º 33
0
 def getNewCarPosDatagram(self, num):
     newDatagram = PyDatagram()
     newDatagram.addUint8(PLAYER_ASSIGNMENT_MESSAGE)
     newDatagram.addUint8(num)
     newDatagram.addFloat32(self.carData.carlist[num].model.getX())
     newDatagram.addFloat32(self.carData.carlist[num].model.getY())
     vel = self.carData.carlist[num].vel.getXY()
     newDatagram.addFloat32(vel[0])
     newDatagram.addFloat32(vel[1])
     newDatagram.addFloat32(self.carData.carlist[num].model.getH())
     for j in range(5):
         newDatagram.addBool(self.carData.carlist[num].input[j])
     newDatagram.addInt32(self.carData.carlist[num].hp)
     return newDatagram
Exemplo n.º 34
0
    def send(self, args = None):

        try:
            pkg = PyDatagram()
            pkg.addUint16(Constants.CMSG_HEALTH)
            pkg.addString(args[0])#targeted player
            pkg.addInt32(args[1])#damage amount

            self.cWriter.send(pkg, self.connection)

            #self.log('Sent [' + str(Constants.RAND_INT) + '] Int Request')
        except:
            self.log('Bad [' + str(Constants.RAND_INT) + '] Int Request')
            print_exc()
Exemplo n.º 35
0
    def send(self, args = None):

        try:
            pkg = PyDatagram()
            pkg.addUint16(Constants.RAND_STRING)
            pkg.addString(args['user_id'])
            pkg.addInt32(args['factionId'])#factionid
            pkg.addString(args['password'])

            self.cWriter.send(pkg, self.connection)

            #self.log('Sent [' + str(Constants.RAND_STRING) + '] Int Request')
        except:
            self.log('Bad [' + str(Constants.RAND_STRING) + '] String Request')
            print_exc()
Exemplo n.º 36
0
    def send(self, kwargs):
        try:
            pkg = PyDatagram()
            pkg.addUint16(Constants.CMSG_HEALTH)
            pkg.addString(kwargs['username'])
            pkg.addInt32(kwargs['healthChange'])

            self.cWriter.send(pkg, self.connection)

            self.log('Sent [' + str(Constants.CMSG_HEALTH) +
                     '] RequestChangeHealth')
        except:
            self.log('Bad [' + str(Constants.CMSG_HEALTH) +
                     '] RequestChangeHealth')
            print_exc()
Exemplo n.º 37
0
    def send(self, kwargs):
        try:
            pkg = PyDatagram()
            pkg.addUint16(Constants.CMSG_COLLISION)
            pkg.addInt32(kwargs['playerId'])
            pkg.addInt32(kwargs['damage'])

            self.cWriter.send(pkg, self.connection)

            self.log('Sent [' + str(Constants.CMSG_COLLISION) +
                     '] RequestCollision')
        except:
            self.log('Bad [' + str(Constants.CMSG_COLLISION) +
                     '] RequestCollision')
            print_exc()
Exemplo n.º 38
0
    def send(self, args=None):

        try:
            pkg = PyDatagram()
            pkg.addUint16(Constants.RAND_STRING)
            pkg.addString(args['user_id'])
            pkg.addInt32(args['factionId'])  #factionid
            pkg.addString(args['password'])

            self.cWriter.send(pkg, self.connection)

            #self.log('Sent [' + str(Constants.RAND_STRING) + '] Int Request')
        except:
            self.log('Bad [' + str(Constants.RAND_STRING) + '] String Request')
            print_exc()
Exemplo n.º 39
0
    def handle_client_login(self, connection, di):
        ## Send the client OUR LOGIN response. (TODO)
        datagram = PyDatagram()
        #datagram.addUint16(0) #dummy

        datagram.addUint32(CLIENT_LOGIN_2_RESP)  #msgType

        datagram.addUint8(0)  #returnCode
        datagram.addString("")  #errorString
        datagram.addString("dev")  #username
        datagram.addUint8(1)  #secretChatAllowed
        datagram.addUint8(1)  # Client is always paid.
        datagram.addInt32(10000)  # minutesRemaining, TODO!

        self.cw.send(datagram, connection)
Exemplo n.º 40
0
    def send(self, args=None):

        try:
            pkg = PyDatagram()
            pkg.addUint16(Constants.CMSG_CONTROL_POINT_STATE)
            pkg.addInt32(args[0])  #cpId
            pkg.addInt32(args[1])  #timer
            pkg.addInt32(args[2])  #factionId

            self.cWriter.send(pkg, self.connection)

        except:
            self.log('Bad [' + str(Constants.CMSG_CONTROL_POINT_STATE) +
                     '] CP Request')
            print_exc()
Exemplo n.º 41
0
    def send(self, args = None):
        
        
        try:
            pkg = PyDatagram()
            pkg.addUint16(Constants.CMSG_CONTROL_POINT_STATE)
            pkg.addInt32(args[0])#cpId
            pkg.addInt32(args[1])#timer
            pkg.addInt32(args[2])#factionId

            self.cWriter.send(pkg, self.connection)

        except:
            self.log('Bad [' + str(Constants.CMSG_CONTROL_POINT_STATE) + '] CP Request')
            print_exc()
Exemplo n.º 42
0
    def send(self, args=[]):

        try:
            pkg = PyDatagram()
            pkg.addUint16(Constants.CMSG_CREATE_LOBBY)

            pkg.addString(args[0])  #game room name
            pkg.addInt32(int(args[1]))  #gamemode
            pkg.addInt32(int(args[2]))  #status

            self.cWriter.send(pkg, self.connection)

        except:
            self.log('Bad [' + str(Constants.CMSG_CREATE_LOBBY) +
                     '] Create Lobby Request')
Exemplo n.º 43
0
    def send(self, data = None):

        try:
            user_data = data.split()
            username = user_data[0]
            healthchange = int(user_data[1])
            print username
            print healthchange
            pkg = PyDatagram()
            pkg.addUint16(Constants.CMSG_HEALTH)
            pkg.addString(username)
            pkg.addInt32(healthchange)
            self.cWriter.send(pkg, self.connection)
        except:
            self.log('Bad [' + str(Constants.CMSG_HEALTH) + '] Request')
            print_exc()
Exemplo n.º 44
0
    def send(self, args=[]):

        try:

            pkg = PyDatagram()
            pkg.addUint16(Constants.CMSG_CHAT_ALL)
            pkg.addInt32(args[0]) #sender id
            pkg.addString(args[1]) #msg

            self.cWriter.send(pkg, self.connection)
            # print "id:", self.world.mainCharRef.playerId

            #elf.log('Sent [' + str(Constants.CMSG_CHAT_ALL) + '] Chat Request')
        except:
            self.log('Bad [' + str(Constants.CMSG_CHAT_ALL) + '] Chat Request')
            print_exc()
Exemplo n.º 45
0
 def getCarPosDatagramFromCar(self, num):
     # creates a car_message datagram from the entry in carData (used to get new cars up to date)
     newDatagram = PyDatagram()
     newDatagram.addUint8(CAR_MESSAGE)
     newDatagram.addUint8(num)
     newDatagram.addFloat32(self.carData.carlist[num].model.getX())
     newDatagram.addFloat32(self.carData.carlist[num].model.getY())
     vel = self.carData.carlist[num].vel.getXY()
     newDatagram.addFloat32(vel[0])
     newDatagram.addFloat32(vel[1])
     newDatagram.addFloat32(self.carData.carlist[num].model.getH())
     for j in range(5):
         newDatagram.addBool(self.carData.carlist[num].input[j])
     newDatagram.addBool(self.carData.carlist[num].lightsOn)
     newDatagram.addInt32(self.carData.carlist[num].hp)
     return newDatagram
Exemplo n.º 46
0
 def getNewCarPosDatagram(self, num):
     # same as getCarPosDatagramFromCar, but is a player_assignment_message
     newDatagram = PyDatagram()
     newDatagram.addUint8(PLAYER_ASSIGNMENT_MESSAGE)
     newDatagram.addUint8(num)
     newDatagram.addFloat32(self.carData.carlist[num].model.getX())
     newDatagram.addFloat32(self.carData.carlist[num].model.getY())
     vel = self.carData.carlist[num].vel.getXY()
     newDatagram.addFloat32(vel[0])
     newDatagram.addFloat32(vel[1])
     newDatagram.addFloat32(self.carData.carlist[num].model.getH())
     for j in range(5):
         newDatagram.addBool(self.carData.carlist[num].input[j])
     newDatagram.addBool(self.carData.carlist[num].lightsOn)
     newDatagram.addInt32(self.carData.carlist[num].hp)
     return newDatagram
Exemplo n.º 47
0
    def send(self, args=None):

        try:
            pkg = PyDatagram()
            pkg.addUint16(Constants.CMSG_MOVE)
            pkg.addFloat32(args[0])  #x
            pkg.addFloat32(args[1])  #y
            pkg.addFloat32(args[2])  #z
            pkg.addFloat32(args[3])  #h
            pkg.addInt32(args[4])  #isMoving

            self.cWriter.send(pkg, self.connection)

            #self.log('Sent [' + str(Constants.RAND_FLOAT) + '] Float Request')
        except:
            self.log('Bad [' + str(Constants.CMSG_MOVE) + '] Move Request')
            print_exc()
Exemplo n.º 48
0
    def send(self, args=[]):

        try:
            # print "sender's id:", args[0]
            # print "receiver's id:", args[1]
            pkg = PyDatagram()
            pkg.addUint16(Constants.CMSG_CHAT_ONE)
            pkg.addInt32(args[0])  # sender's id
            pkg.addInt32(args[1])  # receiver's id
            pkg.addString(args[2])  # message

            self.cWriter.send(pkg, self.connection)

            # self.log('Sent [' + str(Constants.CMSG_CHAT_ONE) + '] Chat Request')
        except:
            self.log('Bad [' + str(Constants.CMSG_CHAT_ONE) + '] Chat Request')
            print_exc()
Exemplo n.º 49
0
 def handleClientLoginToontown(self, di, conn):
     if(MAINTENANCE == True):
         dg = PyDatagram()
         dg.addUint16(CLIENT_GO_GET_LOST)
         dg.addUint16(151)
         dg.addString('The servers are currently closed for maintenance.')
         self.cw.send(dg, conn)
     else:
         token = di.getString()
         sv = di.getString()
         if (token != 'daXy321/4432125/DSaGSX=='):
             self.notify.warning('Client doesn\'t have temporary token, booting.')
             dg = PyDatagram()
             dg.addUint16(CLIENT_GO_GET_LOST)
             dg.addUint16(101)
             dg.addString('Login token: %s doesn\'t exist.' % token)
             self.cw.send(dg, conn)
         elif (sv != SERVER_VERSION):
             self.notify.warning('Booting client out.')
             dg = PyDatagram()
             dg.addUint16(CLIENT_GO_GET_LOST)
             dg.addUint16(124)
             dg.addString('Client and Server version do not match. Server is running ' + SERVER_VERSION + ', while client was running ' + sv + '.')
             self.cw.send(dg, conn)
         else:
             now = datetime.now
             dg = PyDatagram()
             dg.addUint16(CLIENT_LOGIN_TOONTOWN_RESP)
             dg.addUint8(0) #Return Code
             dg.addString('OK') #respString
             dg.addUint32(123456) #Account Number
             dg.addString('Infinity') #Account Name
             dg.addUint8(1) #accountNameApproved
             dg.addString('YES') #self.openChatEnabled
             dg.addString('YES') #self.createFriendsWithChat
             dg.addString('YES') #chatCodeCreationRule
             dg.addUint32(time.time()) #sec?
             dg.addUint32(time.clock()) #usec?
             dg.addString('FULL') #self.isPaid
             dg.addString('YES') #WhiteListReponse
             dg.addString(time.strftime('%Y-%m-%d'))#lastLoggedInStr
             dg.addInt32(0) #accountDays
             dg.addString('NO_PARENT_ACCOUNT')
             dg.addString('Infinity')
             self.cw.send(dg, conn)
Exemplo n.º 50
0
    def send(self, pos):

        try:
            pkg = PyDatagram()
            pkg.addUint16(Constants.CMSG_MOVE)
            posNew = pos.split(",")
            pkg.addFloat32(float(posNew[0]))
            pkg.addFloat32(float(posNew[1]))
            pkg.addFloat32(float(posNew[2]))
            pkg.addFloat32(float(posNew[3]))
            pkg.addInt32(int(posNew[4]))

            self.cWriter.send(pkg, self.connection)

            #self.log('Sent [' + str(Constants.RAND_STRING) + '] Int Request')
        except:
            self.log('Bad [' + str(Constants.CMSG_MOVE) + '] Int Request')
            print_exc()
Exemplo n.º 51
0
 def sendLoginMsg(self):
     """
     Send a message to the server with our loginName
     """
     cr = self.cr
     # Time to send a login message
     datagram = PyDatagram()
     # Add message type
     datagram.addUint16(CLIENT_LOGIN_3)
     # Add the token
     datagram.addString(self.DISLToken)
     # Add the Server Version ID
     datagram.addString(cr.serverVersion)
     # Add the dc file hash
     datagram.addUint32(cr.hashVal)
     # Token type
     datagram.addInt32(CLIENT_LOGIN_3_DISL_TOKEN)
     # Add the download verification string.
     datagram.addString(cr.validateDownload)
     # And the magic word enable string.
     datagram.addString(cr.wantMagicWords)
     # Send the message
     cr.send(datagram)
Exemplo n.º 52
0
 def client_messager(self,msg,args=[]):
     if msg == "chat_send":
         order = PyDatagram()
         order.addUint16(CLIENT_CHAT)
         order.addInt32(args[0][0])
         order.addInt32(args[0][1])
         order.addInt32(args[0][2])
         order.addString(args[1])
         self.send_package(order)
     elif msg == "ready_button":
         order = PyDatagram()
         order.addUint16(CLIENT_READY)
         order.addInt32(args[0])
         order.addInt32(args[1])
         self.send_package(order)
     elif msg == "client_loaded":
         order = PyDatagram()
         order.addUint16(CLIENT_LOADED)
         self.send_package(order)
     elif msg == "game_init_request":
         order = PyDatagram()
         order.addUint16(CLIENT_INIT_REQUEST)
         order.addString(args[0])
         order.addString(args[1])
         self.send_package(order)
     elif msg == "build_start_request":
         order = PyDatagram()
         order.addUint16(BUILD_START_REQUEST)
         order.addInt32(args[0])
         order.addInt32(args[1])
         order.addString(args[2])
         self.send_package(order)
     elif msg == "build_cancel_request":
         order = PyDatagram()
         order.addUint16(BUILD_CANCEL_REQUEST)
         order.addInt32(args[0])
         self.send_package(order)
Exemplo n.º 53
0
 def intRequest(self, msg):
     pkg = PyDatagram()
     pkg.addUint16(1)
     pkg.addInt32(msg)
     return pkg
Exemplo n.º 54
0
 def server_messager(self,msg,args=[]):
     if msg == "map_set":
         order = PyDatagram()
         order.addUint16(MAP_SET)
         order.addInt32(args[0])
         self.send_package(order)
     elif msg == "client_update":
         order = PyDatagram()
         order.addUint16(CLIENT_INIT_UPDATE)
         order.addString(args[0])
         order.addString(args[1])
         order.addInt32(args[2])
         order.addInt32(args[3])
         self.send_package(order)
     elif msg == "chat_send":
         r = args[0][0]
         g = args[0][1]
         b = args[0][2]
         order = PyDatagram()
         order.addUint16(SERVER_CHAT)
         order.addInt32(r)
         order.addInt32(g)
         order.addInt32(b)
         order.addString(args[1])
         self.send_package(order)
         base.menu_manager.menus["mp-game"].chat_add((r,g,b,1),args[1])
     elif msg == "ready_button":
         order = PyDatagram()
         order.addUint16(SERVER_READY)
         order.addInt32(args[0])
         order.addInt32(args[1])
         self.send_package(order)
         base.menu_manager.menus["mp-game"].obj_list[args[0]]["indicatorValue"]=args[1]
         base.menu_manager.menus["mp-game"].start_game_check()
     elif msg == "server_loaded":
         order = PyDatagram()
         order.addUint16(SERVER_LOADED)
         self.send_package(order)
     elif msg == "all_loaded":
         order = PyDatagram()
         order.addUint16(ALL_LOADED)
         self.send_package(order)
     elif msg == "game_start":
         order = PyDatagram()
         order.addUint16(GAME_START)
         self.send_package(order)
     elif msg == "army_kill":
         order = PyDatagram()
         order.addUint16(ARMY_KILL)
         order.addInt32(args[0])
         self.send_package(order)
     elif msg == "build_start":
         order = PyDatagram()
         order.addUint16(BUILD_START)
         order.addInt32(args[0])
         order.addInt8(args[1])
         order.addString(args[2])
         self.send_package(order)
     elif msg == "tower_capture":
         order = PyDatagram()
         order.addUint16(TOWER_CAPTURE)
         order.addInt32(args[0])
         order.addInt8(args[1])
         self.send_package(order)
     elif msg == "build_complete":
         order = PyDatagram()
         order.addUint16(BUILD_COMPLETE)
         order.addInt32(args[0])
         order.addInt8(args[1])
         order.addString(args[2])
         self.send_package(order)
     elif msg == "build_cancel":
         order = PyDatagram()
         order.addUint16(BUILD_CANCEL)
         order.addInt32(args[0])
         self.send_package(order)
     elif msg == "battle_start":
         order = PyDatagram()
         order.addUint16(BATTLE_START)
         order.addInt32(args[0])
         order.addFloat32(args[1])
         order.addFloat32(args[2])
         order.addInt32(args[3])
         order.addFloat32(args[4])
         order.addFloat32(args[5])
         order.addInt32(args[6])
         self.send_package(order)
     elif msg == "battle_clash":
         order = PyDatagram()
         order.addUint16(BATTLE_CLASH)
         order.addInt32(args[0])
         order.addInt32(args[1])
         order.addInt32(args[2])
         order.addString(args[3])
         order.addInt8(args[4])
         self.send_package(order)
     elif msg == "battle_turn":
         order = PyDatagram()
         order.addUint16(BATTLE_TURN)
         order.addInt32(args[0])
         order.addInt32(args[1])
         self.send_package(order)
     elif msg == "battle_end":
         order = PyDatagram()
         order.addUint16(BATTLE_END)
         order.addInt32(args[0])
         self.send_package(order)
     elif msg == "battle_armyadd":
         order = PyDatagram()
         order.addUint16(BATTLE_ARMYADD)
         order.addInt32(args[0])
         order.addInt32(args[1])
         order.addFloat32(args[2])
         order.addFloat32(args[3])
         self.send_package(order)