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()
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