You are not logged in.

HSFighter

Administrator

  • "HSFighter" started this thread

Posts: 1,517

Location: Flensburg

Occupation: Industrieelektroniker

wcf.user.option.userOption53: Nein

  • Send private message

1

Monday, May 26th 2008, 10:36pm

PHP HL² Server-Query Script

Dieses Tutorial findet ihr jetzt in unserer Wiki:

:arrow: http://sourceserver.info/wiki/tutorial/s…p_querry_script



-
Anti Cheat: www.smacbans.com
Kein direkter Support per PM (nur auf Anforderung)

2

Thursday, August 5th 2010, 8:07pm

Re: PHP HL² Server-Query Script

hi

leider funktioniert das script bei mir nicht

kein output , keine fehlermeldung , nur weisse seite welche ewig lädt......

hat es da änderungen beim update auf die orangebox gegeben ?

weiss jemand wo der fehler liegt ?


gruss

kopfnuss

HSFighter

Administrator

  • "HSFighter" started this thread

Posts: 1,517

Location: Flensburg

Occupation: Industrieelektroniker

wcf.user.option.userOption53: Nein

  • Send private message

3

Sunday, August 8th 2010, 5:00pm

Re: PHP HL² Server-Query Script

So weit ich weis hat es bei dem update auf die Orangebox keine
gravierenden Änderungen gegeben die das Skript beeinflussen.

Bei mir läuft es ohne Probleme, auch mit der OB-Engine.

Link: http://www.server.hsfighter.net

MfG



-
Anti Cheat: www.smacbans.com
Kein direkter Support per PM (nur auf Anforderung)

4

Sunday, August 8th 2010, 6:09pm

Re: PHP HL² Server-Query Script

hi

nach einiger recherche und ausprobieren habe ich (die) lösungen gefunden


1:
für server mit sv_master_legacy_mode 1 ( server wird NICHT im serverbrowser gelistet )

in der "serverstatus.php" den block :

Spoiler Spoiler

// $cvars = $verbindung->cvars();
// // Schleife um das Array aus zu lesen
// foreach($cvars as $key => $value) {
// // Prüfung des Key's.
// if ($key == 'amx_nextmap')$nextmap = $value;
// if ($key == 'cm_nextmap')$nextmap = $value;
// if ($key == 'am_nextmap')$nextmap = $value;
// if ($key == 'mp_nextmap')$nextmap = $value;
// if ($key == 'mani_nextmap')$nextmap = $value;
// // Anzeige aller Cvars!!!
// Echo ''.$key.' = '.$value.'<br>';
// }


auskommentieren ,
es werden dann keine cvars angezeigt , aber das script hängt nicht mehr in einer endlos schleife fest
( keine ahnung warum das script hängt , habe es noch nicht herausgefunden )


2:
für server mit sv_master_legacy_mode 0 ( server WIRD im serverbrowser gelistet )

in der "severstatus.class.php"

die zeile :

Source code

1
var $A2S_SERVERQUERY_GETCHALLENGE = "\x57"; // challenge


ändern zu :

Source code

1
var $A2S_SERVERQUERY_GETCHALLENGE = "\x55\xFF\xFF\xFF\xFF"; // challenge 


die "serverstatus.php" kann unverändert bleiben

es werden ALLE funktionen angezeigt , und der server wird auch im serverbrowser gelistet


für anzeige der plugins usw. in HLSW noch das sourcemod-plugin :
http://forums.alliedmods.net/showpost.php?p=1234560&postcount=17">http://forums.alliedmods.net/showpost.p ... stcount=17</a>

dann werden auch bei sv_master_legacy_mode 0 die plugins usw. in HLSW angezeigt


gruss

kopfnuss

darkbad

Unregistered

5

Friday, January 13th 2012, 1:06am

Hallo,

ich denke ich kann mich hier mal dranhängen. Und zwar habe ich genau das selbe Problem wie kopfnuss. Das Script lädt unendlich. Ich habe auch bereits den Tipp von kopfnuss getestet, ergab allerdings nur das gleiche.

Gibt es für das Script inzwischen ein Update? Bei HSFighter scheint es problemlos zu funktionieren.

MadMakz

Super Moderator

Posts: 1,878

Location: ~#

wcf.user.option.userOption53: Ja

  • Send private message

6

Friday, January 13th 2012, 12:32pm

bei mir geht's, nur $A2S_SERVERQUERY_GETCHALLENGE wie oben beschrieben geändert.

zeile 86/87 sollten evtl. getauscht werden, sonnst wird fclose() nie getriggert, ansonnsten alles ok denke ich

edit: noch nen anderen server getestet, ich denke es fehlt die bzip2 unterstüzung bei langen queries (viele server variablen).

This post has been edited 3 times, last edit by "MadMakz" (Jan 13th 2012, 5:36pm)


HSFighter

Administrator

  • "HSFighter" started this thread

Posts: 1,517

Location: Flensburg

Occupation: Industrieelektroniker

wcf.user.option.userOption53: Nein

  • Send private message

7

Friday, January 13th 2012, 4:42pm

Das ist bei mir ganz untergegangen. :whistling:
Werde mir das am WE mal anschauen :D

Noch mal Danke für die Tips.



-
Anti Cheat: www.smacbans.com
Kein direkter Support per PM (nur auf Anforderung)

n0name

Beginner

Posts: 52

wcf.user.option.userOption53: Ja

  • Send private message

8

Saturday, January 14th 2012, 2:11pm

Hab noch einen Fehler bemerkt, der ziemlich fatal ist:

Wenn man einen Server Abfragen will, der entweder gar nicht existiert oder down ist, hängt das script gleich den ganzen apache2/Webserver auf.

Man müsste zuerst mal überprüfen, ob der Server überhaupt antwortet, sonst muss man jedes mal den Webserver restarten.

darkbad

Unregistered

9

Monday, January 23rd 2012, 6:44pm

Hallo,

hast du inzwischen herausgefunden, woran es liegt?

HSFighter

Administrator

  • "HSFighter" started this thread

Posts: 1,517

Location: Flensburg

Occupation: Industrieelektroniker

wcf.user.option.userOption53: Nein

  • Send private message

10

Tuesday, January 24th 2012, 10:08pm

Ich habe das Tutorial im Wiki angepasst und habe auf meinem Server keine Probleme damit.

Muss dazu aber auch sagen:
Die Player werden bei mir nicht mehr über das PHP-Query Script angezeigt, sondern über die GameME API.
Das gewährleistet mir einen Erweiterten Funktionsumfang.

Bei dieser API Einstellung bin ich aber noch am Basteln und Probieren.

P.s.
Im Sourcebans-Script kommt auch eine HL2-Query-Class zum Einsatz.
Da könnte man ja mal schauen was anders gemacht wird ?!?


Leider habe ich imo. keine Zeit mich damit zu beschäftigen :-(


Hab noch einen Fehler bemerkt, der ziemlich fatal ist:

Wenn man einen Server Abfragen will, der entweder gar nicht existiert oder down ist, hängt das script gleich den ganzen apache2/Webserver auf.

Man müsste zuerst mal überprüfen, ob der Server überhaupt antwortet, sonst muss man jedes mal den Webserver restarten.


Dafür nutze ich auf meiner HP ein PHP-Socket Script:

PHP Source code

1
2
3
4
5
6
7
$ip '85.131.139.27';
$port '27015';
if ($socket = @fsockopen($ip$port$errno$errstr"2")){
  // Online
}else{
  // Offline
}






-



-
Anti Cheat: www.smacbans.com
Kein direkter Support per PM (nur auf Anforderung)

darkbad

Unregistered

11

Tuesday, January 24th 2012, 10:43pm

Abgesehen von

PHP Source code

1
WarningInvalid argument supplied for foreach() in serverstatus.php on line 71


geht es. Danke.

HSFighter

Administrator

  • "HSFighter" started this thread

Posts: 1,517

Location: Flensburg

Occupation: Industrieelektroniker

wcf.user.option.userOption53: Nein

  • Send private message

12

Tuesday, January 24th 2012, 11:21pm

Abgesehen von

PHP Source code

1
WarningInvalid argument supplied for foreach() in serverstatus.php on line 71


geht es. Danke.

np :P
Dann zeige mal deine serverstatus.php



-
Anti Cheat: www.smacbans.com
Kein direkter Support per PM (nur auf Anforderung)

HSFighter

Administrator

  • "HSFighter" started this thread

Posts: 1,517

Location: Flensburg

Occupation: Industrieelektroniker

wcf.user.option.userOption53: Nein

  • Send private message

13

Thursday, January 26th 2012, 11:53pm

Ich habe da noch einen Fehler gefunden.
Wenn es denn ein Fehler ist?

Neuerdings bekomme ich bei der Auswertung der "A2S_PLAYER" Antwort immer ein "Zero" (NULL) für das "player index byte" zurück.
Ich habe folgendes im Valve Wiki gefunden:

Quoted

Warning:As of September 29, 2009, Left4Dead2 returns an index of zero for all players.

Ich habe aber einen CS:S Server!

Anbei der Doku-Abschnitt: https://developer.valvesoftware.com/wiki…ries#A2S_PLAYER

Jemand eine Idee?



-
Anti Cheat: www.smacbans.com
Kein direkter Support per PM (nur auf Anforderung)

HSFighter

Administrator

  • "HSFighter" started this thread

Posts: 1,517

Location: Flensburg

Occupation: Industrieelektroniker

wcf.user.option.userOption53: Nein

  • Send private message

14

Friday, November 2nd 2012, 1:49am

Hallo zusammen,

da ich derzeit das Script für ein aktuelles Projekt verwende,
habe ich noch durch Zufall einen Fehler gefunden.

Die Funktionen:
  • einen int16-Wert (2 Bytes) vom Server holen
  • einen int32-Wert (4 Bytes) vom Server holen
  • einen float32-Wert (4 Bytes) vom Server holen
  • einen String vom Server holen
wurden angepasst!

Aus

Source code

1
$unpacked[int]
wurde

Source code

1
$unpacked["int"]


Die Variable "$str" wird jetzt vor der Schleife auf einen leeren Wert gesetzt.

Somit dürfte das Script jetzt stabil laufen.
Tut es bei mir jedenfalls ^^

Für Feedback wäre ich sehr dankbar :)

Gruß



-
Anti Cheat: www.smacbans.com
Kein direkter Support per PM (nur auf Anforderung)

SDKMaster

Beginner

Posts: 1

wcf.user.option.userOption53: Nein

  • Send private message

15

Wednesday, February 13th 2013, 9:47am

Hallo HSFighter

Hallo,

ich habe mir den HL2 Server-Query Script mal auf meinen FTP gezogen. Läuft eigentlich ganz gut nur wenn der Server mal Offline ist, lädt die Seite dauerhaft und es kommt ein Error wegen Überschreitung der Zeit.

"Fatal error: Maximum execution time of 30 seconds exceeded in \htdocs\serverstatus.class.php on line 75"

Ich habe zu diesen Script ein Online/Offline Status mit reingeschrieben, er funktioniert eigentlich wunderbar. nur kann ich nicht testen ob er auch Offline anzeigt, da die Seite nicht lädt wenn keine IP eingetragen ist oder der Server momentan down ist.

Dazu wollt ich noch eine Frage stellen und zwar, wie kann ich die Details wie: Maps, Bots etc auf einer neuen Seite anzeigen lassen? Hätte da jemand ein Code für mich?

Währe Nett wenn Ihr mir helfen könntet.

//edit: Ich will das ganze in ein ilch anzeigen lassen währe das möglich?

MfG

This post has been edited 1 times, last edit by "SDKMaster" (Feb 13th 2013, 4:13pm)