aHuMaToP 158 Опубликовано 15 августа, 2014 http://www.gamearmy.ru/monitor/modul133042.html (не реклама) как сделать вот так тока без копиратов веб модуль если не поняли Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
TpaMjkee 128 Опубликовано 15 августа, 2014 http://www.gamearmy....odul133042.html (не реклама) как сделать вот так тока без копиратов веб модуль если не поняли PHP, CRON Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
aHuMaToP 158 Опубликовано 15 августа, 2014 покажите пример Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
aHuMaToP 158 Опубликовано 15 августа, 2014 актуально Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
TpaMjkee 128 Опубликовано 15 августа, 2014 актуально Что значит покажите пример? Коннектитесь сокетом, получаете байты, расшифровывайте, и каждый раз обновялете этот скрипт (крон), вся документация на steampowered есть. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
aHuMaToP 158 Опубликовано 15 августа, 2014 (изменено) я имел ввиду как это реализовать может мануал есть а то из ваши слов понял только 1 что это можно сделать а как реализовать не указано Изменено 15 августа, 2014 пользователем fevesker Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
TpaMjkee 128 Опубликовано 15 августа, 2014 я имел ввиду как это реализовать может мануал есть а то из ваши слов понял только 1 что это можно сделать а как реализовать не указано Сейчас я вам покажу код CS 1.6, получение онлайна и т.д: Функция на получение: Class Checkserver { static function getString(&$packet){ $str = ""; $n = strlen($packet); for($i=0;($packet[$i]!=chr(0)) && ($i < $n);++$i) $str .= $packet[$i]; $packet = substr($packet, strlen($str)); return trim($str); } static function getChar(&$packet){ $char = $packet[0]; $packet = substr($packet, 1); return $char; } static function serverInfo($server) { list($ip,$port) = explode(":", $server); $fp = @fsockopen('udp://'.$ip, $port); if($fp) { stream_set_timeout($fp, 2); fwrite($fp,"\xFF\xFF\xFF\xFFTSource Engine Query\0\r"); $temp = fread($fp, 4); $status = socket_get_status($fp); if($status['unread_bytes']>0) { $temp = fread($fp, $status['unread_bytes']); $version = ord(self::getChar($temp)); $array = array(); $array['status'] = "1"; if($version == 109) { $array['ip'] = self::getString($temp); $temp = substr($temp, 1); $array['hostname'] = self::getString($temp); $temp = substr($temp, 1); $array['mapname'] = self::getString($temp); $temp = substr($temp, 1); self::getString($temp); $temp = substr($temp, 1); self::getString($temp); $temp = substr($temp, 1); $array['players'] = ord(self::getChar($temp)); $array['maxplayers'] = ord(self::getChar($temp)); } elseif($version == 73) { self::getChar($temp); $array['hostname'] = self::getString($temp); $temp = substr($temp, 1); $array['mapname'] = self::getString($temp); $temp = substr($temp, 1); self::getString($temp); $temp = substr($temp, 1); self::getString($temp); $temp = substr($temp, 3); $array['players'] = ord(self::getChar($temp)); $array['maxplayers'] = ord(self::getChar($temp)); } } else { $array['hostname'] = 'Ñåðâåð îòêëþ÷åí'; $array['mapname'] = '-'; $array['players'] = '0'; $array['maxplayers'] = '0'; $array['status'] = '0'; } } return $array; } } Далее можно вызывать эту функцию и заносить все в бд несколько раз в день: $newServer = Checkserver(); $date = $newServer->serverInfo("Адресс: IP:PORT"); // ..... Далее идет запрос на обновление или занос в базу Как-то так Это для CS 1.6 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты