Volgens mij had de COD server daar een appart protocol/poort voor, maar weet het niet zeker meer. Misschien dat
deze zoekresultaten iets opleveren.
Link gekopieerd
Tzal jelmer weer eens niet zijn die een oplossing weet :P
Ik heb de squery.com geprobeert maar als ik een server van game-monitor.com selecteer (die het doet) krijg ik een error...
Link gekopieerd
Wat zijn jullie dom zeg
zoek even in de scriptdatabase. Uiteraard weet Phphulp hier voor een degelijke antwoord!
Link gekopieerd
Ik had doe va COD al wat aangepast, maar ik was niet niet helemaal tevreden (vandaar dat ie hier niet tussen de scripts staat), maar hier heb je 'm:
<?php
$ip = "83.98.179.152"; //ip van de server
$port = 28960; //De poort van de server standaard is: 28960
function color($text){
$text = eregi_replace('\^0', '<font color="gray">',$text);
$text = eregi_replace('\^1', '<font color="red">',$text);
$text = eregi_replace('\^2', '<font color="green">',$text);
$text = eregi_replace('\^3', '<font color="yellow">',$text);
$text = eregi_replace('\^4', '<font color="blue">',$text);
$text = eregi_replace('\^5', '<font color="lightblue">',$text);
$text = eregi_replace('\^6', '<font color="pink">',$text);
$text = eregi_replace('\^7', '<font color="black">',$text);
$text = eregi_replace('\^8', '<font color="darkblue">',$text);
$text = eregi_replace('\^9', '<font color="darkred">',$text);
return $text;
}
function tel($text){
$texta = explode("^", $text);
$aantal = count($texta);
return $aantal-1;
}
function view($find, $in, $type = ''){
$position = array_search ($find, $in);
if($type == ''){
return htmlentities($in[$position+1]);
}elseif($type == 'l'){
return strtolower($in[$position+1]);
}elseif($type == 'b'){
if($in[$position+1] == '0'){
return 'On';
}else{
return 'Off';
}
}else{
if($in[$position+1] == '0'){
return 'No';
}else{
return 'Yes';
}
}
}
$con = fsockopen("udp://".$ip, $port);
fwrite($con, "ÿÿÿÿ". chr (0x02). "getstatus". chr (0x00));
fread($con, 4);
$status = socket_get_status($con);
# Als geen verbinding:
if($status["unread_bytes"] == 0){
exit("De server is down...");
}
# Als wel verbinding:
$empfangen = "";
while($status["unread_bytes"] != 0){
$empfangen .= fread($con, 1);
$status = socket_get_status($con);
}
fclose($con);
$daten = explode("\n", $empfangen);
$rules = explode("\\",$daten[1]);
$hostname = view('sv_hostname', $rules);
$aantal = tel($hostname);
$hostname = color($hostname);
$playercount = count ($daten);
$playercount = $playercount-3;
echo "<div align='center'>\n";
echo "<table width='400'>\n";
echo "<tr><td colspan='2' align='center'><h1>CoD2 Server Status:</h1></td></tr>\n";
echo "<tr><th>Servername:</th><td>" . $hostname;
for ($i=0; $i<$aantal; $i++){
echo "</font>";
}
echo "</td></tr>\n";
echo "<tr><th>Server-IP:</th><td>" . $ip . ":" . $port . "</td></tr>\n";
echo "<tr><th>Gametype:</th><td>" . view('g_gametype', $rules) . "</font></td></tr>\n";
echo "<tr><th>Friendly fire:</th><td>" . view('scr_friendlyfire', $rules, 'b') . "</td></tr>\n";
echo "<tr><th>Killcam:</th><td>" . view('scr_killcam', $rules, 'b') . "</td></tr>\n";
echo "<tr><th>Voice:</th><td>" . view('sv_voice', $rules, 'b') . "</td></tr>\n";
echo "<tr><th>Version:</th><td>" . view('shortversion', $rules) . "</td></tr>\n";
echo "<tr><th>Password:</th><td>" . view('pswrd', $rules, 'c') . "</td></tr>\n";
echo "<tr><th>Players:</th><td>" . $playercount . "/" . view('sv_maxclients', $rules) . "</td></tr>\n";
echo "<tr><th>Current map:</th><td>" . view('mapname', $rules, 'l') . "</td></tr>\n";
echo "<tr><td colspan='2' align='center'>";
if (file_exists("image/" . view('mapname', $rules, 'l') . ".jpg")){
echo "<img alt='" . view('mapname', $rules, 'l') . "' width='300' src='image/" . view('mapname', $rules, 'l') . ".jpg' /><br />" . view('mapname', $rules, 'l');
}else{
echo "<img width='300' alt='" . view('mapname', $rules, 'l') . "' src='image/custom.jpg' /><br />" . view('mapname', $rules, 'l');
}
echo "</td></tr>\n";
echo "</table>";
# Playerinfo
$score = '';
foreach($daten as $k => $v){
if($k > 1 && !empty($v)){
$playerinfo = explode('"',$v);
$aantal = tel($playerinfo[1]);
$end = '';
for ($i=0; $i<$aantal; $i++){
$end .= "</font>";
}
$playerinfo[1] = color($playerinfo[1]) . $end;
$playerinfo[0] = explode(" ",$playerinfo[0]);
$ping[$k] = $playerinfo[0][1];
$score[$k] = $playerinfo[0][0];
$nick[$k] = $playerinfo[1];
}
}
if(isset($_GET['orderby'])){
$orderby = $_GET['orderby'];
}else{
$orderby = 'score';
}
switch($orderby){
case 'ping':
$order = $ping;
break;
case 'nickname':
$order = $nick;
break;
default:
$order = $score;
break;
}
echo "<table width='400'>\n";
echo "<tr><th><a href='?orderby=score'>Score</a></th><th><a href='?orderby=nickname'>Nickname</a></th><th><a href='?orderby=ping'>Ping</a></th></tr>";
if(is_array($order)){
arsort($order);
foreach($order as $k => $v){
echo "<tr><td align='center'>" . $score[$k] . "</td><td align='center'>" . $nick[$k] . "</td><td align='center'>" . $ping[$k] . "</td></tr>\n";
}
}
echo "</table>\n";
echo "</div>";
?>
Link gekopieerd
Eris schreef op 09.01.2006 19:37
Wat zijn jullie dom zeg
zoek even in de scriptdatabase. Uiteraard weet Phphulp hier voor een degelijke antwoord!
LOL! Iemand is hier trots op PHPhulp ^^
Link gekopieerd
W
Woopie100
09-01-2006 19:53
gewijzigd op 09-01-2006 20:03
ik heb het over cod2 en deze werkt daar niet voor :)
edit = Zo dom zijn wij dus niet eris
Link gekopieerd
Bo az
09-01-2006 20:12
gewijzigd op 09-01-2006 20:13
Woopie100 schreef op 09.01.2006 19:53
ik heb het over cod2 en deze werkt daar niet voor :)
Die van mij?
Ik heb 'm aangepast
voor cod2 probeer eens, je zal zien dat het werkt...
Link gekopieerd
raar dan denk ik dat het aan de server ligt :) ik ga wel ff een server downloaden waar alles mag :P
Link gekopieerd
Boaz: Schitterend ! Hij werkt :)
Het lag aan de server dat het niet werkte :( maargoed hij werkt :) bedankt iedereen voor jullie hulp :)
1 vraagje : kan je ook de deaths bekijken? :P
Link gekopieerd
Nee, daarvoor moet je server statistieken hebben die aan de hand van de logfile gemaakt worden.
Link gekopieerd