Server Status checken

Status
Niet open voor verdere reacties.

Tha Devil

Moderator
Forumleiding
Moderator
Lid geworden
1 sep 2002
Berichten
16.494
Besturingssysteem
macOS Sequoia
Ik zoek een code die mij aangeeft of de betreffende server online is of niet, en dan met name bedoel ik game-servers.

Ik heb al een kleine code gebruikt maar die werkt niet met game servers... Alleen maar met een webserver en dat hoeft juist niet...

Weet iemand hier een code voor?:confused:
 
Met fsockopen() proberen te connecten naar de desbetreffende server.

Zie ook deze pagina.
 
Heb ik geprobeerd:
PHP:
<?php
$array=explode(':',$_GET['ip']);
if($array[1]==""){
$array[1]="80";
}
$fp = @fsockopen($array[0], $array[1], $errno, $errstr,1);
if(!$fp){
$status = "<font color=\"#red\">offline</font>";
}
else{
$status = "<font color=\"#green\">online</font>";
}
echo "This server is: $status";
?>

Maar als ik dit ip adres van onze gameserver intyp geeft hij toch aan dat hij offline is:
81.173.11.125:7779

http://devil.darkwarriors.nl/testserver.php?ip=81.173.11.125:7779

http://82.192.77.214/stats/rvs/server.php?beaconport=8779&ip=81.173.11.125
 
Vergeet ook niet de $fp weer te closen ;)

En als je ipv die variablen nou gewoon eens het IP intypt, in de fsockopen?

Edit: Moet er niet een protocol-ding voor? Bijv http:// of tcp:// ?
 
Nou ik heb ff wat gewijzigd:
PHP:
<?php

$port = $_GET['port'];
$fp = @fsockopen("udp://81.173.11.125", $port, $errno, $errstr,1);
if(!$fp){
$status = "<font color=\"#red\">offline</font>";
}
else{
$status = "<font color=\"#green\">online</font>";
}
echo "This server is: $status";
fclose($fp);
?>

Geeft heel mooi online weer, maar als ik bijvoorbeeld ?port=326326 toevoeg geeft hij nogsteeds aan dat hij online is. Je kunt mij niet wijsmaken dat dit een geldige poort is :8-0:

ff een vraagje: Hoe "close" ik $fp eigenlijk, ik heb het in een boek opgezocht maar daar staat nergens een close optie :confused: zeker iets van fsockclose()

[edit] Heb de close al gevonden...
 
Laatst bewerkt:
Als je ook nog ff geeft wat voor server je wilt controlleren, dan kunnen we je helemaal goed van dienst zijn..
 
Het gaat om game servers van:

Counterstrike: Source
Medal of Honor: Allied Assault
Medal of Honor: Pacific Assault
Half-Life 2
Call of Duty (+ United Offence)

Hoop dat je hiermee wat kunt.
 
Hmm ja dit is niet echt wat ik zoek, ik wil namelijk niet verschillende game-stats hebben. Mijn opzet is:

Via een admin menu ip's en poorten in te geven en deze dan op een public gedeelte aan te laten geven of de betreffende server online is of niet (met behulp van wat zelf gemaakte plaatjes)
 
Ik ga niet iets in elkaar zetten voor je als je dat bedoelt. Ik ben zelf bezig met server stats nu, en die code is voorlopig nog niet voor publiek. Over ongeveer 2 maandjes wil ik mijn code releasen op internet. Tot die tijd zul je zelf aan de gang moeten met de gegeven links, of zelf iets schrijven, wat ik niet zie gebeuren.
 
Sorry hoor maar heb ik gevraagd of jij voor mij een code in elkaar wil zetten? Kan het me niet herinneren...

Ik zoek enkel een manier om ervoor te zorgen dat hij werkelijk aangeeft of die bepaalde server nou wel of niet online is... Ik wil helemaal niet dat mensen weten hoeveel personen er in de server zitten en welke map er momenteel wordt gespeeld.
 
Wat valt er aan te proberen dan? Ik heb toch al gezegd dat ik niet naar zulke "volledige" scripts zoek, ze zijn mij te volledig. Ik hoef niet allerlei extra informatie terwijl het mij er alleen maar om gaat of die server up of down is...
 
Geplaatst door Tha Devil
Wat valt er aan te proberen dan? Ik heb toch al gezegd dat ik niet naar zulke "volledige" scripts zoek, ze zijn mij te volledig. Ik hoef niet allerlei extra informatie terwijl het mij er alleen maar om gaat of die server up of down is...
Dan neem je zo'n script en haal je de overbodige zooi eruit?
Of je kijkt hoe het in dat script gebeurt en typt dat over/maakt dat opnieuw?

Beetje programmeur...

:thumb:
 
Nou oke, maar waar moet ik op letten dan? behalve fsockopen()...
 
Eindelijk kan ik jou eens helpen (hoop ik). Is dit misschien wat je zoekt?

KLIK

Je kunt zelf de poort instellen, dus dan kun je de GameServer Poorten invullen ;)

EDIT:

Ik heb het getest op een Gameserver. Maar het werkt niet :( Ik gebruikte het met web en FTP. Ik zal toch de code posten voor als je er iets mee kunt:

PHP:
<?php
$ip = "86.94.83.215";
$port = "80";
$maint = "0";

$_GET['ip']="$ip:$port";
$array=explode(':',$_GET['ip']);
$fp = @fsockopen($array[0], $array[1], $errno, $errstr,1);
if($maint == 1) {
$status = "<font color=\"red\">Maint.</font>";
}
else if($fp){             
  $status = "Webserver is <font color=\"green\">Online</font>";
  fclose($fp);
}
else{              
  $status = "Webserver is <font color=\"red\">Offline</font>";
}
echo $status;
?>

Oja, ik heb het niet gemaakt, maar van het internet ;)
 
Laatst bewerkt:
Oops, ik zat bij de vragen die hij gestart had te kijken. En deze was nog niet opgelost + die stond op eerste pagina van zijn gestarte vragen. Dus ik dacht misschien kan ik helpen. Sorry voor het omhoog halen :p
 
Laat ik dan maar van de gelegenheid gebruik maken en hem op "Opgelost" zetten ;)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan