Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Class Servers {
- public static function getServersInfo() {
- // Соединение с БД
- $db = Db::getConnection();
- // Запрос к БД
- $result = $db->query('SELECT * FROM `servers` ORDER BY `id` ASC');
- // Получение и возврат результатов
- $serverInfo = array();
- $i = 0;
- while ($row = $result->fetch()) {
- $serverInfo[$i]['id'] = $row['id'];
- $serverInfo[$i]['name'] = $row['name'];
- $serverInfo[$i]['ip'] = $row['ip'];
- $serverInfo[$i]['port'] = $row['port'];
- $serverInfo[$i]['Map'] = $row['Map'];
- $serverInfo[$i]['Players'] = $row['Players'];
- $serverInfo[$i]['MaxPlayers'] = $row['MaxPlayers'];
- $serverInfo[$i]['Secure'] = $row['Secure'];
- $serverInfo[$i]['game_id'] = $row['game_id'];
- $serverInfo[$i]['status'] = $row['status'];
- $i++;
- }
- return $serverInfo;
- }
- }
- foreach (getServerInfo($db) as $a) {
- $server_id = $a['id'];
- $ip = $a['ip'];
- $port = $a['port'];
- try {
- $q->connect($ip, $port, 1, SourceQuery::SOURCE);
- $arr = $q->getInfo();
- extract($arr);
- //Для игроков
- $gameuser = $q->getPlayers();
- //$gameuser = $gameuser['0'];
- //Дропаем таблицу players для обновления онлайна
- DropPlayers($db, $server_id);
- $NumberTab = 1;
- //Добавляем игроков по каждому серверу
- foreach ($gameuser as $b) {
- $Id = $NumberTab++;
- $Name = $b['Name'];
- if (empty($Name) || $Name == '') $Name = 'Игрок подключается...';
- $Frags = $b['Frags'];
- $TimeF = $b['TimeF'];
- AddPlayers($db, $Id, $Name, $Frags, $TimeF, $server_id);
- }
- LogCron($server_id);// Запустим запись логов в файл
- ServerOFF($db, $server_id, 1);// Поставим статус 1 , что сервер онлайн и ответил на запросы
- //Если успешно обновилась инфа о сервере
- if ( UpdateServerInfo($db, $HostName, $Map, $ModDesc, $Players, $MaxPlayers, $server_id) ) {
- echo "Yes update server id: $server_id <br />";
- }else{
- echo "Error update server id: $server_id";
- }
- } catch (Exception $e) {
- $error = "Error: " . $e->getMessage();
- ErrorLogCron($server_id, $error);
- ServerOFF($db, $server_id, 0);
- echo "Error update server id: $server_id -> See cron error log! <br />";
- } finally {
- $q->disconnect();
- }
- }
Add Comment
Please, Sign In to add comment