Example #1
0
def main():
    OPTIONS, argv = getOptions('mmolite/config/servers.cfg', 'master server',
                               sys.argv)

    dbconn = MasterDBObject('master.db', 'mmolite/data')

    if OPTIONS.setup:
        print "Setting up Master Server..."

        dbconn.resetDB()
        user = PeersInfo(peername="Master",
                         password="******",
                         role=PeerType.Master)
        user = PeersInfo(peername="Character",
                         password="******",
                         role=PeerType.Character)
        user = PeersInfo(peername="World",
                         password="******",
                         role=PeerType.World)
        user = PeersInfo(peername="Cluster",
                         password="******",
                         role=PeerType.Cluster)
        user = PeersInfo(peername="Zone", password="******", role=PeerType.Zone)
        user = PeersInfo(peername="Client",
                         password="******",
                         role=PeerType.Client)
        user = Accounts(username="******",
                        password="******",
                        role=UserType.Admin)
        print "Successfully"
        return
    else:
        print "Initialize Master Server database..."
        dbconn.startDB()
        Peers.dropTable(ifExists=True)
        Peers.createTable()
        print "Master Server Listening to port: %d" % OPTIONS.master_port

        realm = MasterRealm()
        p = portal.Portal(realm)
        p.registerChecker(MasterPasswordChecker())
        reactor.listenTCP(OPTIONS.master_port, pb.PBServerFactory(p))

        keepAlive(realm)
        reactor.run()
Example #2
0
 def perspective_register(self, username, password, role):
     role = role & UserType.GameMaster #  no registration for admin
     if self.perspective_verifyUsername(username):
         newUser = Accounts(username = username, password = password, role = role)
         return True
     return False