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