NFSU:Мониторинг через PHP

Материал из WikiServia
Перейти к: навигация, поиск

Алгоритм прост. При соединении с сервером NFSU на порт 10980 выдается строка вида:

usercount|roomcount|timeonlineinseconds|platform|version|servername~~~A.LAN|0|[]B.LAN|0|[]C.LAN|0|[]D.LAN|0|[HarpyWar|]E.LAN|1|[|]F.LAN|0|[]G.LAN|0|[]H.LAN|0|[]


Где A.LAN|0|[]B.LAN|0| ... - названия комнат, и кол-ва народу в каждой, а в скобках [] ники игроков, разделяемые символом |

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

Простейший пример вывода исходных данных на PHP:

<?php 

$address = '87.228.3.174';
$port = 10980; 

echo get_nfsu_data($address, $port);


function get_nfsu_data($address, $port)
{
	$output = ;

	if ( ($socket = socket_create(AF_INET, SOCK_STREAM, 0)) && socket_connect($socket, $address, $port) )
	{
		while ($tmp = socket_read($socket, 4024))
			$output .= $tmp; 

		socket_close ($socket); 
	}
	return $output;
}


Скачать готовый скрипт на PHP #1

Скачать готовый скрипт на PHP #2