• Bitte beachte, dass wir eine Serverliste sind!
    Wenn du ein Problem auf einem Server hast (z.B. Entbannantrag, etc), dann ist das Forum hier der falsche Ort.
  • Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

Aktuelle Spieleranzahl per PHP-Script auf Server-Website anzeigen lassen

Status
Für weitere Antworten geschlossen.

ChrisX930

Minecrafter
Registriert
18 Mai 2012
Beiträge
11
Diamanten
0
Hallo Community,
ich möchte auf meiner neuen Website, die extra für den Minecraftserver aufgebaut wurde, ein PHP-Script einbinden, mitdem ich die aktuelle Spieleranzahl auf dem Server anzeigen lassen kann.
Das PHP-Script, mitdem man anzeigen lassen kann ob der Server online oder offline ist, war recht simpel, jedoch weiß ich nicht, wie ich die aktuelle Spieleranzahl anzeigen lassen kann.
Könnte mir jemand damit helfen?
HAt jemand ein simples PHP-Script dafür?

Dies ist das Script, was ich nutze, um den Serverstatus anzeigen zu lassen:
Code:
<?php 
$ip = "SERVERIP"; 
$port = "25565"; 
if (!@$fp = fsockopen($ip, $port, $errno, $errstr, 1)){ 
                           	echo "<font color='#FF0000'>Offline</font>"; 
                           	} 
                           	else { 
                           	echo "<font color='#00FF00'>Online</font>"; 
                           	}; ?>


Gruß ChrisX930
 

Let's Mine

Ehemaliges Teammitglied
Ehem. Teammitglied
Registriert
1 Dezember 2011
Beiträge
421
Alter
14
Diamanten
300
Minecraft
LetsMine
Code:
<?php
    $fp = fsockopen('176.9.59.135', 25565, $errno, $errstr, 4) or die('Verbindung fehlgeschlagen!');
    fwrite($fp, "\xFE");
    $answer = fread($fp, 256);
    if ($answer[0] != "\xFF") {
       die ('Anfrage fehlgeschlagen!');
    }
    $text = substr($answer, 3);
    $text = mb_convert_encoding($text, 'auto', 'UCS-2');
    $parts = explode("\xA7", $text);
?>
<?php echo $parts[0] . ' (' . $parts[1] . '/' . $parts[2] . ')'; ?>

Da, zeigt SERVERMOTD (SPIELERZAHL/SPIELERMAX) an. Geht ohne Query, da es das Paket der normalen Minecraft Server Liste schickt.
 

ChrisX930

Minecrafter
Registriert
18 Mai 2012
Beiträge
11
Diamanten
0
Heya, es gibt dann doch noch ein Problem, denn jedesmal, wenn der Server offline sein sollte, erhalten die nutzer auf der Website folgende Fehlermeldung:

Warning: fsockopen() [function.fsockopen]: unable to connect to www.*************.de:1000 (A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. ) in C:\**********\Craft\check.php on line 10
Verbindung fehlgeschlagen!
Ich möchte, dass statt dieser Fehlermeldung einfach statt (ONLINESPIELER/20) folgendes angezeigt wird (0/0).
 
S

SKV-Craft

Guest
Code:
<?php
if ( @fsockopen("127.0.0.1", 25565, $errno, $errstr, 5) ) { <dein Script> } else { echo "Server offline"; }
?>
;) Nutzen wir auch. Gibt aber auch die Möglichkeit JSONAPI dafür zu nehmen, mag ich persönlich lieber.

--_elomatreb.
 

ChrisX930

Minecrafter
Registriert
18 Mai 2012
Beiträge
11
Diamanten
0
Code:
<?php
$ip = "www.******.de"; 
$port = "*****"; 
$port4 = "*****"; 
$port5 = "****";
$port6 = "*****";
?>

<?php
 if ( @fsockopen($ip, $port6, $errno, $errstr, 5) ) {
	$answer = fread($fp, 256);
	if ($answer[0] != "\xFF") {
   	die ('Anfrage fehlgeschlagen!');
	}
	$text = substr($answer, 3);
	$text = mb_convert_encoding($text, 'auto', 'UCS-2');
	$parts = explode("\xA7", $text); 
echo $parts[0] . ' (' . $parts[1] . '/' . $parts[2] . ')';

} else { echo "(0/0)"; }

?>

Kommt folgendes Raus wenn Server ONLINE:
Warning: fread(): supplied argument is not a valid stream resource in C:\******\Craft\check.php on line 11

Anfrage fehlgeschlagen!
 

little_psycho11

Workaholic
Registriert
5 Februar 2012
Beiträge
609
Alter
28
Diamanten
300
Minecraft
little_psycho11
Das mit der Spielerzahl wurde doch schon gepostet.
Code:
<?php
    $fp = fsockopen('176.9.59.135', 25565, $errno, $errstr, 4) or die('Verbindung fehlgeschlagen!');
    fwrite($fp, "\xFE");
    $answer = fread($fp, 256);
    if ($answer[0] != "\xFF") {
       die ('Anfrage fehlgeschlagen!');
    }
    $text = substr($answer, 3);
    $text = mb_convert_encoding($text, 'auto', 'UCS-2');
    $parts = explode("\xA7", $text);
?>
<?php echo $parts[0] . ' (' . $parts[1] . '/' . $parts[2] . ')'; ?>
Du musst doch nur Deine IP und Port oben eintragen....
 

ChrisX930

Minecrafter
Registriert
18 Mai 2012
Beiträge
11
Diamanten
0
little_psycho11' schrieb:
Das mit der Spielerzahl wurde doch schon gepostet.
Code:
Du musst doch nur Deine IP und Port oben eintragen....
Genau das habe ich bereits getan, jedoch erhalte ich, wenn der Server Offline ist, einen weißen Browserbildschirm mit folgender Meldung:

Warning: fsockopen() [function.fsockopen]: unable to connect to
www.*************.de:1000 (A connection attempt failed because the
connected party did not properly respond after a period of time, or
established connection failed because connected host has failed to
respond. ) in C:\**********\Craft\check.php on line 10

Verbindung fehlgeschlagen!
Ich möchte statt dieser Fehlermeldung einfach dort, wo sonst auch die Spieleranzahl steht, ein (0/0) stehen haben und keinen weiße Fläche mit dieser Meldung
 
S

SKV-Craft

Guest
Gefixter PHP-Code :) Wenn Fehler drin sind brate ich meinen Coder :p
Code:
<?php
$ip = "www.******.de"; 
$port = "*****"; 
$port4 = "*****"; 
$port5 = "****";
$port6 = "*****";
$url = "127.0.0.1";
?>

<?php
 if ( @fsockopen($ip, $port6, $errno, $errstr, 5) ) {
	$fp = fopen("$url","rb");
	$answer = fread($fp, 256);
	if ($answer[0] != "\xFF") {
   	die ('Anfrage fehlgeschlagen!');
	}
	$text = substr($answer, 3);
	$text = mb_convert_encoding($text, 'auto', 'UCS-2');
	$parts = explode("\xA7", $text); 
echo $parts[0] . ' (' . $parts[1] . '/' . $parts[2] . ')';

} else { echo "(0/0)"; }

?>
 

ChrisX930

Minecrafter
Registriert
18 Mai 2012
Beiträge
11
Diamanten
0
Naja, nun lädt die Seite nichtmehr.
Nach dem Code zu urteilen wird man, wenn der Server offline ist, nur auf eine andere URL weitergeleitet, richtig?





500 - Interner Serverfehler.

Problem bei der gesuchten Ressource. Sie kann nicht angezeigt werden.
 

ChrisX930

Minecrafter
Registriert
18 Mai 2012
Beiträge
11
Diamanten
0
wie gesagt, wenn ich dieses Script verwende (damit meine ich anzeige.php", wird mir zwar angezeigt, wieviele Spieler online sind, aber wenn der Minecraftserver ausfallen sollte, schmiert das Script und somit meine Website ab.

Das passiert, wenn mein Server ausfällt:

Warning: fsockopen() [function.fsockopen]: unable to connect to *******.de:10001 (A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. ) in C:\I********-Craft\php\anzeige.php on line 2
Verbindung fehlgeschlagen!

Das einzige, was ich möchte, ist, dass das Script statt diesem Fehler einfach "(0/0)" ausgibt, mehr nicht.
Das ganze müsste auch OHNE Minequery funktionieren.
 
Status
Für weitere Antworten geschlossen.
Oben