Opferlamm-Clan Board
www.opferlamm-clan.de
Verantwortlich für diese bösen Machenschaften: siehe Impressum

Registrierung Kalender Mitgliederliste Suche Häufig gestellte Fragen Zur Startseite

Opferlamm-Clan Board » Call of Duty 2 » Call of Duty 2 - ALLGEMEIN » Gameserver-Class » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Gameserver-Class
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
racepat
Zu-Hause-Esser


Dabei seit: 30.11.2006
Beiträge: 70


Gameserver-Class Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo zusammen,

bin dran, auf unserer HP eine Serveranzeige zu installieren. Hab mal eure versucht, doch ich komm nicht weiter. Hab folgende Meldung:

Code einblendenCode angehängt. Klicke hier zum Ein-/Ausblenden

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
Warning: usort(): The argument should be an array in /home/www/web8/html/wbb2/serverbox/codview/gameserver_class.php on line 91
Game: 	  	Call of Duty 1.5
IP: 	  	80.86.187.215:28960
Map: 	  	mp_brecourt
Gametype: 	  	Teamdeathmatch
Player: 	  	0 / 20
Punkbuster: 	  	no
Mod: 	  	kein Mod vorhanden
Password: 	  	mit Passwort
Screenshot: 	  	Screenshot der Map
  	  	 
Spielerdaten: 	 



was mach ich in dieser Line91 falsch? Hat mir jemand einen Tip? verwirrt
racepat ist offline E-Mail an racepat senden Homepage von racepat Beiträge von racepat suchen Nehmen Sie racepat in Ihre Freundesliste auf
Gargamel
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

404 - DEPUBLIZIERT

Dieser Beitrag wurde auf Wunsch des Urhebers ohne Anerkennung einer Rechtspflicht gelöscht

Bitte nicht die Google Cache Funktion benutzen. Augenzwinkern
racepat
Zu-Hause-Esser


Dabei seit: 30.11.2006
Beiträge: 70


Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

unten hab ich mal die ganze Datei angehängt. verwirrt
bei Zeile 91 ist etwas krumm:


Code einblendenCode angehängt. Klicke hier zum Ein-/Ausblenden

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
<?
/*
  	Dateiname:    		gameserver_class.php
  	Version:			0.5 (beta)
  	Erstellt:     		20.11.2005 07:50 GMT
  	Letzte Änderung:   	20.11.2005 12:20 GMT
  	Autor:      		Nighthawk <nighthawk@opferlamm-clan.de>
  	Support:			www.opferlamm-clan.de
  	
  	------------------------------------------------------------
  	
  	Beschreibung:
  	------------- 
  	Dieses Script liest "Call of Duty", "Call of Duty United Offensive" und
	"Call od Duty 2" Gameserver aus.

  	Bildet einfach eine neue Instanz pro Server. Beispiel:
	$ausgabe = new serverstatusquery();
	$ergebnis = $ausgabe->serverstatus("213.202.211.44","28960");
	print_r($ergebnis);
	
  	Es wäre schön, wenn du den Headder hier stehen lässt, damit man nachvollziehen kann 
  	woher das Teil kommt. Nicht weil mein Nick oben steht, aber das Script wird 
  	weiterentwickelt und sobald es neue Versionen gibt erfahrt ihr es auf der oben 
  	angegebenen Webseite. Und wenn einer das hier als sein Script weiter geben möchte,
  	nehmt bitte den Headder raus, dann leistet auch bitteschön Support :-) 
  	So, das wars von mir. 
	  	
  	Greetz Nighthawk
  	
  	
*/

//error_reporting(E_ALL);
//ini_set('display_errors', '1');

class serverstatusquery {
    
	var $x;
	var $ip = "";
	var $port = "";
	var $serverdata = "";
	var $serverdatalen = "";
	
	function vergleichen($a, $b) {
		return $comp = ($a < $b) ? 1:0;
	}

	function serverstatus($ip,$port) {
		$erg = array();
		$command = "\xFF\xFF\xFF\xFFgetstatus\n";
		$verbindung=fsockopen("udp://".$ip."",$port,$errnr) or die($error."(".$errno.")") ;
				
		fwrite($verbindung,$command,strlen($command));    
	
		do {
			$this->serverdata .=fgetc($verbindung);
			$this->serverdatalen++;
			$socketstatus=socket_get_status($verbindung);
		} while ($socketstatus["unread_bytes"] );
				
		fclose($verbindung);
	
				
		$this->serverdata = substr($this->serverdata,strpos($this->serverdata,"\n")+1);
				
				
		$kette =  strtok($this->serverdata,"\\");
		while($kette) {
			$this->x++;
			$array_name = $kette;
			$kette = strtok("\\");
			$erg["".$array_name.""] = "".$kette."";
			$kette = strtok("\\");
		}
			
				
		$players=substr($this->serverdata,strpos($this->serverdata,"\n")+1);
		$two = $players;
		$players = substr($players,0,strlen($players)-1);
		$playercount=0;
		if (strlen($players) > 0) {
			$playercollection=explode("\n",$players);
			while (list($key,$data) = each ($playercollection)) {
				eregi("^([-0-9]+) ([-0-9]+) \"(.*)\"",$data,$player);
				$ol_playerinfo[$key]=array("pkt"=>$player[1],"ping"=>$player[2],"name"=>$player[3]);
				$playercount++;
			}
		}
		$erg["current_player"] = $playercount;
		usort($ol_playerinfo, array("serverstatusquery","vergleichen"));
		$erg["playerdata"] = $ol_playerinfo;
		$erg["ip"] = $ip;
		$erg["port"] = $port;
		return $erg;
	}
}
?>


racepat ist offline E-Mail an racepat senden Homepage von racepat Beiträge von racepat suchen Nehmen Sie racepat in Ihre Freundesliste auf
Kelli
... sehr viel alleine


Dabei seit: 09.11.2006
Beiträge: 2.504


Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Zitat:

Original von racepat
unten hab ich mal die ganze Datei angehängt. verwirrt
bei Zeile 91 ist etwas krumm:

Das ist nicht schlimm, nur eine Warnung das die Variable eigentlich ein Array sein sollte. Das passiert weil du keine Spieler auf dem Server hast, und deshalb $ol_playerinfo leer ist. Wenn ein Spieler drauf ist ist es weg.
unelegante Lösung:

Code einblendenCode angehängt. Klicke hier zum Ein-/Ausblenden

code:
1:
2:
3:
4:
//error_reporting(E_ALL);
//ini_set('display_errors', '1');


Kommentar weg und ändern in
error_reporting(E_ERROR);
ini_set('display_errors', '0');
Damit ist die Variable zwar immernoch undefiniert, aber die Warnung wird nichtmehr angezeigt.

elegante Lösung:

Code einblendenCode angehängt. Klicke hier zum Ein-/Ausblenden

code:
1:
2:
3:
4:
    				
$ol_playerinfo = array();



oder

Code einblendenCode angehängt. Klicke hier zum Ein-/Ausblenden

code:
1:
2:
3:
4:
5:
if $playercount > 1 {
		usort($ol_playerinfo, array("serverstatusquery","vergleichen"));
}


edit "> 1" reicht auch, bei einem Spieler gibt es nichts zu sortieren.

__________________
„ Allah ist Groß, und wir sind armselige Tröpfe mit unseren ganzen Wissenschaften Herrlichkeit.“

Dieser Beitrag wurde 420 mal editiert, zum letzten Mal von der Bundesregierung Niemand: Heute, 11:42.

https://kkde.de/scum/

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Kellerkind: 01.12.2006 16:57.

Kelli ist offline Homepage von Kelli Beiträge von Kelli suchen Nehmen Sie Kelli in Ihre Freundesliste auf
racepat
Zu-Hause-Esser


Dabei seit: 30.11.2006
Beiträge: 70


Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

wo genau muss ich das einfügen?
racepat ist offline E-Mail an racepat senden Homepage von racepat Beiträge von racepat suchen Nehmen Sie racepat in Ihre Freundesliste auf
Kelli
... sehr viel alleine


Dabei seit: 09.11.2006
Beiträge: 2.504


Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Bei der eleganten Methode:
Vorher:

Code einblendenCode angehängt. Klicke hier zum Ein-/Ausblenden

code:
1:
2:
3:
4:
5:
90		$erg["current_player"] = $playercount;
91		usort($ol_playerinfo, array("serverstatusquery","vergleichen"));
92		$erg["playerdata"] = $ol_playerinfo;



Nacher

Code einblendenCode angehängt. Klicke hier zum Ein-/Ausblenden

code:
1:
2:
3:
4:
5:
6:
7:
90		$erg["current_player"] = $playercount;
91		if $playercount > 1 {
92		usort($ol_playerinfo, array("serverstatusquery","vergleichen"));
93		}
94		$erg["playerdata"] = $ol_playerinfo;



__________________
„ Allah ist Groß, und wir sind armselige Tröpfe mit unseren ganzen Wissenschaften Herrlichkeit.“

Dieser Beitrag wurde 420 mal editiert, zum letzten Mal von der Bundesregierung Niemand: Heute, 11:42.

https://kkde.de/scum/
Kelli ist offline Homepage von Kelli Beiträge von Kelli suchen Nehmen Sie Kelli in Ihre Freundesliste auf
racepat
Zu-Hause-Esser


Dabei seit: 30.11.2006
Beiträge: 70


Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hab ich gemacht. Geht nicht, es kommt folgende Meldung:

Code einblendenCode angehängt. Klicke hier zum Ein-/Ausblenden

code:
1:
Parse error: parse error, unexpected T_VARIABLE, expecting '(' in /home/www/web8/html/wbb2/serverbox/codview/gameserver_class.php on line 91

racepat ist offline E-Mail an racepat senden Homepage von racepat Beiträge von racepat suchen Nehmen Sie racepat in Ihre Freundesliste auf
Kelli
... sehr viel alleine


Dabei seit: 09.11.2006
Beiträge: 2.504


Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Da fehlt eine Klammer oder du hast in einer Zeile irgendwo vorher ein Semikolon vergessen. Schau nochmal drüber oder poste die komplette nochmal mit deinen Änderungen.

__________________
„ Allah ist Groß, und wir sind armselige Tröpfe mit unseren ganzen Wissenschaften Herrlichkeit.“

Dieser Beitrag wurde 420 mal editiert, zum letzten Mal von der Bundesregierung Niemand: Heute, 11:42.

https://kkde.de/scum/
Kelli ist offline Homepage von Kelli Beiträge von Kelli suchen Nehmen Sie Kelli in Ihre Freundesliste auf
racepat
Zu-Hause-Esser


Dabei seit: 30.11.2006
Beiträge: 70


Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

vielen Dank für deine schnelle Hilfe!!!!!! grosses Grinsen

Code einblendenCode angehängt. Klicke hier zum Ein-/Ausblenden

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
<?
/*
  	Dateiname:    		gameserver_class.php
  	Version:			0.5 (beta)
  	Erstellt:     		20.11.2005 07:50 GMT
  	Letzte Änderung:   	20.11.2005 12:20 GMT
  	Autor:      		Nighthawk <nighthawk@opferlamm-clan.de>
  	Support:			www.opferlamm-clan.de
  	
  	------------------------------------------------------------
  	
  	Beschreibung:
  	------------- 
  	Dieses Script liest "Call of Duty", "Call of Duty United Offensive" und
	"Call od Duty 2" Gameserver aus.

  	Bildet einfach eine neue Instanz pro Server. Beispiel:
	$ausgabe = new serverstatusquery();
	$ergebnis = $ausgabe->serverstatus("213.202.211.44","28960");
	print_r($ergebnis);
	
  	Es wäre schön, wenn du den Headder hier stehen lässt, damit man nachvollziehen kann 
  	woher das Teil kommt. Nicht weil mein Nick oben steht, aber das Script wird 
  	weiterentwickelt und sobald es neue Versionen gibt erfahrt ihr es auf der oben 
  	angegebenen Webseite. Und wenn einer das hier als sein Script weiter geben möchte,
  	nehmt bitte den Headder raus, dann leistet auch bitteschön Support :-) 
  	So, das wars von mir. 
	  	
  	Greetz Nighthawk
  	
  	
*/

//error_reporting(E_ALL);
//ini_set('display_errors', '1');

class serverstatusquery {
    
	var $x;
	var $ip = "";
	var $port = "";
	var $serverdata = "";
	var $serverdatalen = "";
	
	function vergleichen($a, $b) {
		return $comp = ($a < $b) ? 1:0;
	}

	function serverstatus($ip,$port) {
		$erg = array();
		$command = "\xFF\xFF\xFF\xFFgetstatus\n";
		$verbindung=fsockopen("udp://".$ip."",$port,$errnr) or die($error."(".$errno.")") ;
				
		fwrite($verbindung,$command,strlen($command));    
	
		do {
			$this->serverdata .=fgetc($verbindung);
			$this->serverdatalen++;
			$socketstatus=socket_get_status($verbindung);
		} while ($socketstatus["unread_bytes"] );
				
		fclose($verbindung);
	
				
		$this->serverdata = substr($this->serverdata,strpos($this->serverdata,"\n")+1);
				
				
		$kette =  strtok($this->serverdata,"\\");
		while($kette) {
			$this->x++;
			$array_name = $kette;
			$kette = strtok("\\");
			$erg["".$array_name.""] = "".$kette."";
			$kette = strtok("\\");
		}
			
				
		$players=substr($this->serverdata,strpos($this->serverdata,"\n")+1);
		$two = $players;
		$players = substr($players,0,strlen($players)-1);
		$playercount=0;
		if (strlen($players) > 0) {
			$playercollection=explode("\n",$players);
			while (list($key,$data) = each ($playercollection)) {
				eregi("^([-0-9]+) ([-0-9]+) \"(.*)\"",$data,$player);
				$ol_playerinfo[$key]=array("pkt"=>$player[1],"ping"=>$player[2],"name"=>$player[3]);
				$playercount++;
			}
		}
		$erg["current_player"] = $playercount;
		if $playercount > 1 {
		usort($ol_playerinfo, array("serverstatusquery","vergleichen"));
		}
		$erg["playerdata"] = $ol_playerinfo;		
		$erg["ip"] = $ip;
		$erg["port"] = $port;
		return $erg;
	}
}
?>


racepat ist offline E-Mail an racepat senden Homepage von racepat Beiträge von racepat suchen Nehmen Sie racepat in Ihre Freundesliste auf
Kelli
... sehr viel alleine


Dabei seit: 09.11.2006
Beiträge: 2.504


Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

upps, damn, mein Fehler

Zitat:

if $playercount > 1 {

muss heissen

Zitat:

if ($playercount > 1) {


spätestens hier:

Zitat:

Da fehlt eine Klammer oder du hast in einer Zeile irgendwo vorher ein Semikolon vergessen.

hätte ich das aber auch merken können. Asche auf mein, naja du weißt schon...
Bin doof... Ich brauch Kaffee!

__________________
„ Allah ist Groß, und wir sind armselige Tröpfe mit unseren ganzen Wissenschaften Herrlichkeit.“

Dieser Beitrag wurde 420 mal editiert, zum letzten Mal von der Bundesregierung Niemand: Heute, 11:42.

https://kkde.de/scum/
Kelli ist offline Homepage von Kelli Beiträge von Kelli suchen Nehmen Sie Kelli in Ihre Freundesliste auf
racepat
Zu-Hause-Esser


Dabei seit: 30.11.2006
Beiträge: 70


Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

ach was, wer solche Codes beherrscht ist alles andere als doof!!!!! Auch Respekt!

Danke, muss noch irgendwie nen Style machen, das die Anzeige gut aussieht.
Kennste den Code von Netskin ?
racepat ist offline E-Mail an racepat senden Homepage von racepat Beiträge von racepat suchen Nehmen Sie racepat in Ihre Freundesliste auf
Kelli
... sehr viel alleine


Dabei seit: 09.11.2006
Beiträge: 2.504


Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Zitat:

Original von racepat
ach was, wer solche Codes beherrscht

beherrschen ist was anderes. Ich kann php gerade so lesen und nachvollziehen was wo gemacht wird. Aber auf einem weißen Blatt Papier eine Serverabfrage zusammenschreiben - das würde ich nicht hinbekommen.

Zitat:

Original von racepat
Kennste den Code von Netskin ?

Nein, bis jetzt nicht.

__________________
„ Allah ist Groß, und wir sind armselige Tröpfe mit unseren ganzen Wissenschaften Herrlichkeit.“

Dieser Beitrag wurde 420 mal editiert, zum letzten Mal von der Bundesregierung Niemand: Heute, 11:42.

https://kkde.de/scum/
Kelli ist offline Homepage von Kelli Beiträge von Kelli suchen Nehmen Sie Kelli in Ihre Freundesliste auf
racepat
Zu-Hause-Esser


Dabei seit: 30.11.2006
Beiträge: 70


Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

hab's mit der Formatierung der Anzeige einigermassen hinbekommen.
Nur mit der Punkte, Ping und Spieleranzeige krieg ichs nicht auf die Reihe.
Haste mir nen Tip, wie ich da die Schriftart ändern kann? verwirrt
racepat ist offline E-Mail an racepat senden Homepage von racepat Beiträge von racepat suchen Nehmen Sie racepat in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Opferlamm-Clan Board » Call of Duty 2 » Call of Duty 2 - ALLGEMEIN » Gameserver-Class

Impressum ||Datenschutzerklärung

Forensoftware: Wbb - WoltLab GmbH || zum Archiv