Ejemplo n.º 1
0
    def make_server(self, name):
        address = self.settings.setting(name, "address")
        username = self.settings.setting(name, "username")
        password = self.settings.setting(name, "password")
        game_password = self.settings.setting(name, "game_password")
        url_extras = self.settings.setting(name, "url_extras")
        refresh_rate = float(self.settings.setting(name, "refresh_rate"))

        web_interface = WebInterface(address, username, password, name)
        chat = Chat(web_interface)
        chat.start()

        web_admin = WebAdmin(web_interface, chat)
        database = ServerDatabase(name)
        game = Game(GameMap(), GAME_TYPE_UNKNOWN)

        server = Server(web_admin, database, game, name)

        if game_password:
            server.game_password = game_password
        if url_extras:
            server.url_extras = url_extras

        tracker = GameTracker(server, refresh_rate)
        tracker.start()

        self.stop_list.append(server)
        self.stop_list.append(chat)
        self.stop_list.append(tracker)

        return server
Ejemplo n.º 2
0
    def run(self):
        for server_name in settings.sections():

            server = Server(server_name,
                            settings.setting(server_name, "address"),
                            settings.setting(server_name, "username"),
                            settings.setting(server_name, "password"))

            server.game_password = \
                settings.setting(server_name, "game_password")
            server.url_extras = \
                settings.setting(server_name, "url_extras")

            dosh_threshold = int(
                settings.setting(server_name, "dosh_threshold"))
            if dosh_threshold > 0:
                server.dosh_threshold = dosh_threshold

            has_motd_scoreboard = str_to_bool(
                settings.setting(server_name, "motd_scoreboard"))

            if has_motd_scoreboard:
                scoreboard_type = settings.setting(server_name,
                                                   "scoreboard_type")
                MotdUpdater(server, scoreboard_type).start()

            self.servers.append(server)

            Chatbot(
                server,
                str_to_bool(settings.setting(server_name, "enable_greeter")),
                settings.setting(server_name, "username"))

        info("Initialisation complete!\n")

        while True:
            command = input()
            for server in self.servers:
                server.web_admin.chat.submit_message(command)