myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Zurück   myGully.com > Computer & Technik > Programmierung
Seite neu laden

ts2 Server stats

Willkommen

myGully

Links

Forum

 
Antwort
Themen-Optionen Ansicht
Ungelesen 19.01.12, 11:10   #1
fler23
Anfänger
 
Registriert seit: Sep 2009
Beiträge: 30
Bedankt: 3
fler23 ist noch neu hier! | 0 Respekt Punkte
Standard ts2 Server stats

Hallo Leute,für ein Hosting Projekt würde ich gerne eine ts2 stats anzeige einbinden....

das der mir auf der Hosting seite anzeigt wieviele Server online sind..... z.b es sind 40server online und 320 User oder so....wie mache ich das?habe nicht so viel plan von Coden,würde mich um hilfe freuen....habe leider nur ein code der mir anzeigt ob der einzelle server online ist aber nicht so wie ich will

PHP-Code:
<?PHP
function check_ts($ip$tcp$udp$timeout=1) { 
$fp fsockopen($ip$tcp$errno$errstr$timeout);
if (!
$fp) {
  
$stat false;
} else {
  if (
fgets($fp) == "[TS]\r\n") {
fputs($fp"SEL $udp\r\n");
if (
fgets($fp) == "OK\r\n") {
   
$stat true;
} else {
   
$stat false;
}
  } else {
$stat false;
  }
  if (
is_resource($fp))
@
fclose($fp);
  return 
$stat;
}
}

if (
check_ts("localhost"512348767)) { 
echo 
"<FONT COLOR=#DD0000><B>ONLINE</B></FONT>";
} else {
echo 
"<FONT COLOR=#00DD00><B>OFFLINE</B></FONT>";
}
?>
fler23 ist offline   Mit Zitat antworten
Ungelesen 19.01.12, 18:12   #2
Thelvan
Erfahrenes Mitglied
 
Registriert seit: Jul 2010
Beiträge: 489
Bedankt: 236
Thelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt Punkte
Standard

Du könntest den Code für jeden Server einzeln ausführen, allerdings würde das zulange dauern.

Ein Cronjob und ein Datenbankeintrag wären dafür vllt. doch besser.
Thelvan ist offline   Mit Zitat antworten
Ungelesen 19.01.12, 18:19   #3
fler23
Anfänger
 
Registriert seit: Sep 2009
Beiträge: 30
Bedankt: 3
fler23 ist noch neu hier! | 0 Respekt Punkte
Standard

ja der code zeigt ja nur das der server online ist!! ich möchte aber das auf der hp angezeigt wird....wieviele server Online sind!!

wie gesagt wir haben jetzt z.b 30 ts2 server vergeben,und auf der hp sollte dan angezeigt werden,es sind grade 30 server online
fler23 ist offline   Mit Zitat antworten
Ungelesen 19.01.12, 19:31   #4
fler23
Anfänger
 
Registriert seit: Sep 2009
Beiträge: 30
Bedankt: 3
fler23 ist noch neu hier! | 0 Respekt Punkte
Standard

Zitat:
Zitat von KanuKkidz Beitrag anzeigen
Haben wir auch ohne Ausrufezeichen verstanden.
Aber WAS GENAU ist jetzt dein Problem??????
ich weiss leider nicht wie das geht,da ich vom coden nicht so die Ahnung habe,deswegen frage ich nach hilfe...
fler23 ist offline   Mit Zitat antworten
Ungelesen 19.01.12, 20:32   #5
Thelvan
Erfahrenes Mitglied
 
Registriert seit: Jul 2010
Beiträge: 489
Bedankt: 236
Thelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt PunkteThelvan erschlägt nachts Börsenmakler | 5269 Respekt Punkte
Standard

Die einfachste, aber wohl schlechteste Lösung:
Du nimmst dir ein Array mit all deinen IPs.
Dann führst du den Code oben für jede einzelne IP aus, und zählst bei erfolgreicher Ausführung einen Zähler hoch.
Allerdings wird die Seite dann sehr lange laden, da er, wenn der Server offline ist, bis zu deiner angegebenen Timeout Zeit wartet.
Ist er zu hoch, wird es sehr lange dauern. Ist er zu niedrig, könnten Server als offline angezeigt werden, wenn sie es aber gar nicht sind.

Zumindest um anzuzeigen, wieviel Server online sind wird das reichen, wieviel user drauf sind, weiß ich nicht, wie man das rausbekommt
Thelvan ist offline   Mit Zitat antworten
Ungelesen 19.01.12, 22:22   #6
fler23
Anfänger
 
Registriert seit: Sep 2009
Beiträge: 30
Bedankt: 3
fler23 ist noch neu hier! | 0 Respekt Punkte
Standard

okay danke ich habs....sooo passt es


Code:
<?php 

$ip = 'xxxx'; 
$port = 'xxxx'; 

function tsCheckStatus($ip, $port) 
{ 
  if(@fsockopen('udp://'.$ip, $port, $errno, $errstr, 1) === false) 
  { 
    return false; 
  } 
  return true; 
} 

require_once('cyts.class.php'); 

$ts = new cyts; 

$ts->connect($ip, $port); 

$info = $ts->info_serverList(); 
$subs_cnt = count($info); 
print '<b>Ts-Server:</b><br>'; 

for($i = 0; $i < $subs_cnt; $i++) 
{ 
  $ts->select($info[$i]); 

  $subserver = $ts->info_serverInfo(); 
  print 'Name: '.$subserver['server_name'].'<br>'; 
  print 'Benutzer: '.$subserver['server_currentusers'].'<br>'; 
  print 'Status: '.( tsCheckStatus($ip, $subserver['server_udpport']) ? 'Online' : 'Offline' ).'<br>';   
} 
$ts->disconnect(); 

?>
fler23 ist offline   Mit Zitat antworten
Ungelesen 19.01.12, 22:57   #7
fler23
Anfänger
 
Registriert seit: Sep 2009
Beiträge: 30
Bedankt: 3
fler23 ist noch neu hier! | 0 Respekt Punkte
Standard

sry nochmal ne frage...habe jetzt alles so wie ich es will.....



aber sobald ein neuer server on geht wird der status Doppelt eingetragen.....

was ist falsch am code?

PHP-Code:
<?php 

$ip 
'11111'
$port '11111'

function 
tsCheckStatus($ip$port

  if(@
fsockopen('udp://'.$ip$port$errno$errstr1) === false
  { 
    return 
false
  } 
  return 
true


require_once(
'cyts.class.php'); 

$ts = new cyts

$ts->connect($ip$port); 

$info $ts->info_serverList(); 
$subs_cnt count($info); 


for(
$i 0$i $subs_cnt$i++) 

  
$ts->select($info[$i]); 

  
$subserver $ts->info_globalInfo(); 
  print 
'Server Online: '.$subserver['total_servers'].'<br>'
  print 
'User Online: '.$subserver['total_users_online'].'<br>'
     

$subserver $ts->info_serverInfo();    
print 
'Status: '.( tsCheckStatus($ip$subserver['server_udpport']) ? 'Online' 'Offline' ).'<br>';  
$ts->disconnect(); 

 
?>
fler23 ist offline   Mit Zitat antworten
Antwort


Forumregeln
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:09 Uhr.


Sitemap

().