def __init__(self):
        self.threads = []

        self.socket = socket(AF_INET, SOCK_STREAM)
        self.socket.bind((HOST, PORT))
        self.socket.listen(1)

        self.login_client = LoginClient()
        self.login_client.start()

        super(StartServer, self).__init__()
class StartServer(object):
    def __init__(self):
        self.threads = []

        self.socket = socket(AF_INET, SOCK_STREAM)
        self.socket.bind((HOST, PORT))
        self.socket.listen(1)

        self.login_client = LoginClient()
        self.login_client.start()

        super(StartServer, self).__init__()

    def run(self):
        while 1:
            con, client = self.socket.accept()
            mapserver = MapServer(con, client)
            mapserver.start()
            self.threads.append(mapserver)

    def __del__(self):
        for thread in self.threads:
            thread.stop()