Huhu liebe Kollegen,
da ich meinen Mysql-Server extern vom Gameserver hoste, möchte ich diese beiden Server auch getrennt in der Serverstatusonlineanzeige auf der HP anzeigen lassen.
Das Problem habe ich versucht, folgendermaßen zu lösen:
Jedoch wird dann die Statusanzeige garnicht mehr auf der Page angezeigt, also muss dort irgendwo ein Fehler vorliegen.
Aber wo?
Danke schonmal für eure Hilfe!
vg
da ich meinen Mysql-Server extern vom Gameserver hoste, möchte ich diese beiden Server auch getrennt in der Serverstatusonlineanzeige auf der HP anzeigen lassen.
Das Problem habe ich versucht, folgendermaßen zu lösen:
PHP Code:
<?php
$serverip = "*CENSORED*";
$serveripmysql = "*CENSORED*";
$ip = gethostbyname($serverip);
$ipmysql = gethostbyname($serveripmysql);
$portlist=array(*CENSORED*, *CENSORED*, *CENSORED*);
$portlistmysql=array(*CENSORED*);
&statusmysql=array("MySQL Server:");
$status=array("Login Server:", "Charakter Server:", "World Server:");
$i=0;
$count = count($status);
echo '<table class="status" cellspacing="0">';
foreach ($portlistmysql as $portmysql){
$online = @fsockopen($ipmysql, $portmysql, $errno, $errstr, 1);
if (!$online)
{
if($i == 0) {
echo '<tr class="first"><td width="90%">'.$statusmysql[$i].'</td><td class="offline">Offline</td></tr>';
} else {
echo '<tr><td width="90%">'.$statusmysql[$i].'</td><td class="offline">Offline</td></tr>';
}
}
else
{
if($i == 0) {
echo '<tr class="first"><td width="90%">'.$statusmysql[$i].'</td><td class="online">Online</td></tr>';
} else {
echo '<tr><td width="90%">'.$statusmysql[$i].'</td><td class="online">Online</td></tr>';
}
}
@fclose($online);
$i++;
}
foreach ($portlist as $port){
$online = @fsockopen($ip, $port, $errno, $errstr, 1);
if (!$online)
{
if($i == 0) {
echo '<tr class="first"><td width="90%">'.$status[$i].'</td><td class="offline">Offline</td></tr>';
} else {
echo '<tr><td width="90%">'.$status[$i].'</td><td class="offline">Offline</td></tr>';
}
}
else
{
if($i == 0) {
echo '<tr class="first"><td width="90%">'.$status[$i].'</td><td class="online">Online</td></tr>';
} else {
echo '<tr><td width="90%">'.$status[$i].'</td><td class="online">Online</td></tr>';
}
}
@fclose($online);
$i++;
}
mysql_connect("*CENSORED*", "*CENSORED*", "*CENSORED*");
$output = mysql_query("SELECT * FROM player.player WHERE DATE_SUB(NOW(),INTERVAL 5 MINUTE) < last_play;");
$online_count = mysql_num_rows($output);
echo '<tr class="last"><td width="90%">Es sind <span class="player_count">'.$online_count.'</span> Spieler online.</td><td></td></tr>';
echo '</table>';
?>
</table>
Aber wo?
Danke schonmal für eure Hilfe!
vg