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

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

    Там вы можете купить
    всё что касается игровых серверов
  • Не хотите бан?

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

    Пользуйтесь услугами гаранта
    Мы сделаем вашу сделку безопасной
  • 0
DayaBubi

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

Здравствуйте. Как можно получить текущий онлайн сервера с помощью php?

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


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

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

  • 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 накройняк)

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

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


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

123new ну если только для этого а так то вообще смысла нет ...

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


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

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

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

Важная информация

Используя этот сайт, вы автоматически обязуетесь соблюдать наши Правила и Политика конфиденциальности.
Чтобы сделать этот веб-сайт лучше, мы разместили cookies на вашем устройстве. Вы можете изменить свои настройки cookies, в противном случае мы будем считать, что вы согласны с этим.