public function boot_server() { if (!self::$booted) { self::$booted = true; ircd::init_server(self::$config->server->name, self::$config->conn->password, self::$config->server->desc, self::$config->server->numeric); // init the server foreach (self::$service_bots as $bot) { require BASEPATH . '/core/services/' . $bot . '.php'; $this->{$bot} = new $bot(); } // start our bots up. foreach (self::$config->core_modules as $id => $module) { modules::load_module('core_' . $module, $module . '.core.php'); } // we load core modules before the bots, incase there // is a module that changes an existing function w/e timer::init(); // setup the timer, socket_blocking to 0 is required. } }