Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
  • Нужна помощь?

    Создайте тему в соответствующем разделе
    Не нужно писать всё в чат!
  • Продаёте или покупаете?

    Пользуйтесь услугами гаранта
    Мы сделаем вашу сделку безопасной
  • Не хотите БАН?

    Пожалуйста, ознакомьтесь с нашими правилами
    Не нарушайте порядок
  • Загляните на рынок

    Там вы можете продать или купить
    Всё что касается игровых серверов
  • 0
DayaBubi

Мониторинг сервера

Вопрос

Рекомендованные сообщения

  • 0
Цитата

 


<?php 
// **************************** 
$ip = '0.0.0.0'; // Ip адрес Пример: 1.1.128.777 (:D);
$port = '2302';
$queryport   = '27016'; // Query Порт адрес Пример: 27015; Устанавливается в конфиге сервера параметр steamQueryPort = 27016;
// **************************** 

$socket = @fsockopen("udp://".$ip, $queryport , $errno, $errstr, 1);

stream_set_timeout($socket, 1);
stream_set_blocking($socket, TRUE);
fwrite($socket, "\xFF\xFF\xFF\xFF\x54Source Engine Query\x00");
$response = fread($socket, 4096);
@fclose($socket);

$packet = explode("\x00", substr($response, 6), 5);
$server = array();

$server['name'] = $packet[0];
$server['map'] = $packet[1];
$server['game'] = $packet[2];
$server['description'] = $packet[3];
$inner = $packet[4];
$server['players'] = ord(substr($inner, 2, 1));
$server['playersmax'] = ord(substr($inner, 3, 1));
$server['password'] = ord(substr($inner, 7, 1));
$server['vac'] = ord(substr($inner, 8, 1));

$server['version'] = substr($inner, 9, 11);
//var_dump( $server );
if ($server) { 
echo '<br>
<b>Название:</b> '.$server['name'].'
<br>
<b>IP:</b><a href=steam://connect/'.$ip.':'.$queryport.'>'.$ip.':'.$port.'</a>
<br>
<b>Карта:</b> '.$server['map'].' 
<br> 
<b>Игроков онлайн:</b> '.$server['players'].' / '.$server['playersmax'].'
<br> 
<b>Статус:</b> On-line
<br>
<b>Версия:</b> '.$server['version'].'
'; 
} else { 
echo 'Статус: Off-line'; 
}
?>

 

 

Изменено пользователем Equadro (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Забронировать это рекламное место


  • 0

только если через steam api пытаться соединяться, подробнее не скажу

Изменено пользователем 123new (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

Для получения версии

$server['version'] = substr($inner, 9, 11);

<b>Версия:</b> '.$server['version'].'

Куда вставить думаю разберетесь. Верхний мой пост обновлен.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

DayaBubi зачем все эти заморочки через php когда сервер можно добавить в любой мониторинг серверов и наблюдать онлайн сервера. Или вообще через дарт просматривать или вовсе через BEC накройняк)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0
1 час назад, saikodelic сказал:

DayaBubi зачем все эти заморочки через php когда сервер можно добавить в любой мониторинг серверов и наблюдать онлайн сервера. Или вообще через дарт просматривать или вовсе через BEC накройняк)

для добавления выводов на свой сайт в нужном стиле и оформлении, а также чтобы не зависеть от чужих ресурсов

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить на вопрос...

×   Вставлено в виде отформатированного текста.   Восстановить форматирование

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Загрузка...

×
×
  • Создать...