/** * Смена rcon пароля * */ function change_rcon($rcon_password = '') { $this->CI->load->helper('ds'); $this->CI->load->helper('string'); $server_data =& $this->CI->servers->server_data; $dir = get_ds_file_path($server_data); $file = $dir . 'server.properties'; // Конфиг файл $file_contents = read_ds_file($file, $server_data); /* Ошибка чтения, либо файл не найден */ if (!$file_contents) { return false; } $file_contents = change_value_on_file($file_contents, 'rcon.password', $rcon_password); $write_result = write_ds_file($file, $file_contents, $server_data); return $write_result; }
/** * Смена rcon пароля * */ function change_rcon($rcon_password = '') { $this->CI->load->helper('ds'); $this->CI->load->helper('string'); $server_data =& $this->CI->servers->server_data; $dir = get_ds_file_path($server_data); $file = $dir . $this->CI->servers->server_data['start_code'] . '/cfg/server.cfg'; // Конфиг файл $file_contents = read_ds_file($file, $server_data); /* Ошибка чтения, либо файл не найден */ if (!$file_contents) { return false; } $file_contents = change_value_on_file($file_contents, 'rcon_password', $rcon_password); $write_result = write_ds_file($file, $file_contents, $server_data); /* Отправляем новый rcon пароль в консоль сервера*/ if ($write_result && $this->CI->servers->server_status($this->CI->servers->server_data['server_ip'], $this->CI->servers->server_data['server_port'])) { $rcon_connect = $this->connect(); $this->command('rcon_password ' . $rcon_password); } return $write_result; }
/** * Читает содержимое файла с удаленного сервера * * @param str * @return str * */ function read_remote_file($file, $server_data = array()) { $server_data = empty($server_data) ? $this->server_data : $server_data; $this->load->helper('ds'); return read_ds_file($file, $server_data); }
/** * Правка конфигурационных файлов */ public function change_config() { $CI =& get_instance(); $file = 'server.properties'; $dir = get_ds_file_path($this->server_data); $file_contents = read_ds_file($dir . $file, $this->server_data); // Костыль. Меняет права файла на 666 if (strtolower($this->_os) != 'windows') { send_command('chmod 666 {dir}/server.properties', $this->server_data); } // Установка портов $file_contents = change_value_on_file($file_contents, 'server-port', $this->server_data['server_port']); $file_contents = change_value_on_file($file_contents, 'query.port', $this->server_data['query_port']); $file_contents = change_value_on_file($file_contents, 'rcon.port', $this->server_data['rcon_port']); // Включение query и rcon $file_contents = change_value_on_file($file_contents, 'enable-query', 'true'); $file_contents = change_value_on_file($file_contents, 'enable-rcon', 'true'); $write_result = write_ds_file($dir . $file, $file_contents, $this->server_data); return true; }
/** * Правка конфигурационных файлов */ public function change_config() { $CI =& get_instance(); $file = 'server.cfg'; $dir = get_ds_file_path($this->server_data); $file_contents = read_ds_file($dir . $file, $this->server_data); // Костыль. Меняет права файла на 666 if (strtolower($this->_os) != 'windows') { send_command('chmod 666 {dir}/server.cfg', $this->server_data); } // Установка портов $file_contents = change_value_on_file($file_contents, 'port', $this->server_data['server_port']); $file_contents = change_value_on_file($file_contents, 'rcon_password', random_string('alnum', 8)); $write_result = write_ds_file($dir . $file, $file_contents, $this->server_data); return true; }
/** * Правка конфигурационных файлов */ public function change_config() { $CI =& get_instance(); $server_data = $this->server_data; $file = 'mods/deathmatch/mtaserver.conf'; $dir = get_ds_file_path($server_data); $file_contents = read_ds_file($dir . $file, $server_data); $file_contents = change_value_on_file($file_contents, 'serverip', $server_data['server_ip']); // Установка портов $file_contents = change_value_on_file($file_contents, 'serverport', $server_data['server_port']); $file_contents = change_value_on_file($file_contents, 'httpport', $server_data['server_port']); $write_result = write_ds_file($dir . $file, $file_contents, $server_data); // Обновление Query порта //~ $sql_data['query_port'] = $server_data['server_port'] + 123; //~ $CI->servers->edit_game_server($server_data['id'], $sql_data); return true; }