def __init__(self, name): """ Create a factory and world. ``name`` is the string used to look up factory-specific settings from the configuration. :param str name: internal name of this factory """ log.msg("Initializing factory for world '%s'..." % name) self.name = name self.config_name = "world %s" % name self.port = configuration.getint(self.config_name, "port") self.interface = configuration.getdefault(self.config_name, "host", "") self.world = World(name) self.world.factory = self if configuration.has_option(self.config_name, "perm_cache"): cache_level = configuration.getint(self.config_name, "perm_cache") self.world.enable_cache(cache_level) self.protocols = dict() self.eid = 1 self.time = self.world.time self.time_loop = LoopingCall(self.update_time) self.time_loop.start(2) authenticator = configuration.get(self.config_name, "authenticator") selected = retrieve_named_plugins(IAuthenticator, [authenticator])[0] log.msg("Using authenticator %s" % selected.name) self.handshake_hook = selected.handshake self.login_hook = selected.login generators = configuration.getlist(self.config_name, "generators") generators = retrieve_sorted_plugins(ITerrainGenerator, generators) log.msg("Using generators %s" % ", ".join(i.name for i in generators)) self.world.pipeline = generators self.chat_consumers = set() log.msg("Factory successfully initialized for world '%s'!" % name)
def startFactory(self): log.msg("Initializing factory for world '%s'..." % self.name) authenticator = configuration.get(self.config_name, "authenticator") selected = retrieve_named_plugins(IAuthenticator, [authenticator])[0] log.msg("Using authenticator %s" % selected.name) self.handshake_hook = selected.handshake self.login_hook = selected.login # Get our plugins set up. self.register_plugins() log.msg("Starting world...") self.world.start() if configuration.has_option(self.config_name, "perm_cache"): cache_level = configuration.getint(self.config_name, "perm_cache") self.world.enable_cache(cache_level) log.msg("Starting timekeeping...") self.timestamp = reactor.seconds() self.time = self.world.time self.update_season() self.time_loop = LoopingCall(self.update_time) self.time_loop.start(2) # Start automatons. for automaton in self.automatons: automaton.start() self.chat_consumers = set() log.msg("Factory successfully initialized for world '%s'!" % self.name)
def __init__(self, name): self.name = name self.port = configuration.getint("infininode %s" % name, "port") self.gateway = configuration.get("infininode %s" % name, "gateway") if configuration.has_option("infininode %s" % name, "private_key"): self.private_key = configuration.get("infininode %s" % name, "private_key") self.broadcast_loop = LoopingCall(self.broadcast) self.broadcast_loop.start(220)
def __init__(self, name): """ Create a factory and world. ``name`` is the string used to look up factory-specific settings from the configuration. :param str name: internal name of this factory """ self.name = name self.config_name = "world %s" % name self.port = configuration.getint(self.config_name, "port") self.interface = configuration.getdefault(self.config_name, "host", "")
def configure_services(self, configuration): read_configuration() for section in configuration.sections(): if section.startswith("world "): factory = BravoFactory(section[6:]) server = TCPServer(factory.port, factory, interface=factory.interface) server.setName(factory.name) self.addService(server) self.factorylist.append(factory) elif section == "web": try: from bravo.web import bravo_site except ImportError: log.msg("Couldn't import web stuff!") else: factory = bravo_site(self.namedServices) port = configuration.getint("web", "port") server = TCPServer(port, factory) server.setName("web") self.addService(server) elif section.startswith("irc "): try: from bravo.irc import BravoIRC except ImportError: log.msg("Couldn't import IRC stuff!") else: self.irc = True self.ircbots.append(section) elif section.startswith("infiniproxy "): factory = BetaProxyFactory(section[12:]) server = TCPServer(factory.port, factory) server.setName(factory.name) self.addService(server) elif section.startswith("infininode "): factory = InfiniNodeFactory(section[11:]) server = TCPServer(factory.port, factory) server.setName(factory.name) self.addService(server) if self.irc: for section in self.ircbots: factory = BravoIRC(self.factorylist, section[4:]) client = TCPClient(factory.host, factory.port, factory) client.setName(factory.config) self.addService(client)
def __init__(self, name): """ Create a factory and world. ``name`` is the string used to look up factory-specific settings from the configuration. :param str name: internal name of this factory """ log.msg("Initializing factory for world '%s'..." % name) self.name = name self.port = configuration.getint("world %s" % name, "port") world_folder = configuration.get("world %s" % name, "path") self.world = World(world_folder) self.world.factory = self self.protocols = dict() self.eid = 1 self.entities = set() self.time_loop = LoopingCall(self.update_time) self.time_loop.start(2) authenticator = configuration.get("world %s" % name, "authenticator") selected = retrieve_named_plugins(IAuthenticator, [authenticator])[0] log.msg("Using authenticator %s" % selected.name) self.handshake_hook = selected.handshake self.login_hook = selected.login generators = configuration.get("bravo", "generators").split(",") generators = retrieve_named_plugins(ITerrainGenerator, generators) log.msg("Using generators %s" % ", ".join(i.name for i in generators)) self.world.pipeline = generators self.chat_consumers = set() log.msg("Factory successfully initialized for world '%s'!" % name)
def configure_services(self, configuration): read_configuration() for section in configuration.sections(): if section.startswith("world "): factory = BravoFactory(section[6:]) server = TCPServer(factory.port, factory, interface=factory.interface) server.setName(factory.name) self.addService(server) elif section == "web": try: from bravo.web import bravo_site except ImportError: log.msg("Couldn't import web stuff!") else: factory = bravo_site(self.namedServices) port = configuration.getint("web", "port") server = TCPServer(port, factory) server.setName("web") self.addService(server) elif section.startswith("irc "): try: from bravo.irc import BravoIRC except ImportError: log.msg("Couldn't import IRC stuff!") else: factory = BravoIRC(self.namedServices, section[4:]) client = TCPClient(factory.host, factory.port, factory) client.setName(factory.name) self.addService() elif section.startswith("infiniproxy "): factory = BetaProxyFactory(section[12:]) server = TCPServer(factory.port, factory) server.setName(factory.name) self.addService(server) elif section.startswith("infininode "): factory = InfiniNodeFactory(section[11:]) server = TCPServer(factory.port, factory) server.setName(factory.name) self.addService(server)
def startFactory(self): log.msg("Initializing factory for world '%s'..." % self.name) self.world = World(self.name) self.world.factory = self if configuration.has_option(self.config_name, "perm_cache"): cache_level = configuration.getint(self.config_name, "perm_cache") self.world.enable_cache(cache_level) self.protocols = dict() log.msg("Starting timekeeping...") self.timestamp = time() self.time = self.world.time self.update_season() self.time_loop = LoopingCall(self.update_time) self.time_loop.start(2) authenticator = configuration.get(self.config_name, "authenticator") selected = retrieve_named_plugins(IAuthenticator, [authenticator])[0] log.msg("Using authenticator %s" % selected.name) self.handshake_hook = selected.handshake self.login_hook = selected.login generators = configuration.getlist(self.config_name, "generators") generators = retrieve_sorted_plugins(ITerrainGenerator, generators) log.msg("Using generators %s" % ", ".join(i.name for i in generators)) self.world.pipeline = generators automatons = configuration.getlist(self.config_name, "automatons") automatons = retrieve_named_plugins(IAutomaton, automatons) log.msg("Using automatons %s" % ", ".join(i.name for i in automatons)) self.automatons = automatons self.chat_consumers = set() log.msg("Factory successfully initialized for world '%s'!" % self.name)
def __init__(self, factories, config): self.factories = factories self.config = config self.host = configuration.get("irc %s" % config, "server") self.port = configuration.getint("irc %s" % config, "port")
def __init__(self, worlds, config): self.worlds = worlds self.config = config self.host = configuration.get("irc %s" % config, "server") self.port = configuration.getint("irc %s" % config, "port")
def __init__(self, name): self.name = name self.port = configuration.getint("infiniproxy %s" % name, "port")