PHP server stats

Any discussions that are non-rtcw/et related go here.

Moderators: Forum moderators, developers

Post Reply
Xeon_vl
Posts: 33
Joined: Fri Feb 10, 2006 3:44 am

PHP server stats

Post by Xeon_vl »

i went programming a bit, and i coded the following:

Code: Select all

<?php
if &#40;!$server&#41; &#123;
$server_ip = "66.199.231.34";
$server_port = "27960";
&#125; else &#123;
$server = explode&#40;"&#58;", $server&#41;;
$server_ip = $server&#91;0&#93;;
$server_port = $server&#91;1&#93;;
&#125;

$server_ip = "udp&#58;//" . $server_ip;
$connect = fsockopen&#40;$server_ip, $server_port, $errno, $errstr, 30&#41;;
if&#40;!$connect&#41;&#123;
echo "ERROR".$errno.$errstr;
&#125;
socket_set_timeout &#40;$connect, 1, 000000&#41;;
$send = "ÿÿÿÿ" . chr &#40;0x02&#41; . "getstatus".chr &#40;0x00&#41;;
$lol = fputs&#40;$connect, $send&#41;;
if&#40;!$lol&#41;&#123;
echo "ERROR";
&#125;
fwrite &#40;$connect, $send&#41;;
$output = fread &#40;$connect, 1&#41;;
echo $output;
if &#40;! empty &#40;$output&#41;&#41; &#123;
do &#123;
$status_pre = socket_get_status &#40;$connect&#41;;
$output = $output . fread &#40;$connect, 1&#41;;
$status_post = socket_get_status &#40;$connect&#41;;
&#125; while &#40;$status_pre&#91;unread_bytes&#93; != $status_post&#91;unread_bytes&#93;&#41;;
&#125; else &#123;
echo "ERROR";
&#125;;
fclose&#40;$connect&#41;;
echo $output;
$output = explode &#40;"\\", $output&#41;;

$max_index = array_search &#40;"sv_maxclients", $output&#41;;
$max_clients = $output&#91;$max_index+1&#93;;

$max_index = array_search &#40;"mapname", $output&#41;;
$mapname = $output&#91;$max_index+1&#93;;

$max_index = array_search &#40;"sv_hostname", $output&#41;;
$hostname = $output&#91;$max_index+1&#93;;

$max_index = array_search &#40;"g_gametypestring", $output&#41;;
$gametype = $output&#91;$max_index+1&#93;;

$last_value = count&#40;$output&#41; - 1;
$players_string = $output&#91;$last_value&#93;;
$players_string = explode&#40;"\"", $players_string&#41;;

$get_first_ping = explode&#40;"\n", $players_string&#91;0&#93;&#41;;
$players_string&#91;0&#93; = $get_first_ping&#91;1&#93;;

$i = 1;
$players = 0;
while &#40;count&#40;$players_string&#41; != $i&#41; &#123;
$i++;
$i++;
$players++;
&#125;
if &#40;substr&#40;$mapname, 0, 3&#41; == "dm/"&#41; &#123;
$picture_src = str_replace&#40;"dm/", "", $mapname&#41;;
&#125; else &#123;
$picture_src = str_replace&#40;"obj/", "", $mapname&#41;;
&#125;
$picture_src = "images/" . $picture_src . ".jpg";
?>
<--!HTML OUTPUT NOT POSTED TO AVOID UBERPOST -->
when i run this script i get tripple error echo. All variables stay empty. The mistake must be somewhere in the first lines...... someone knows whats wrong?
Post Reply