query port for mnc is the steam server query port. that is 27015, second instance will have query port of 27016 , etc.
you got the query reponse working properly?! I so far get this response: IDedicatedHostileLobbyHostileGameRacquemis Server #1 dw0.0.0.3a @Crossfire!True!True!True!True!True!True!False!True!True!12!True!True!False!Dedicated!2!4!0!2!2!2!2!2!2! Well everything may look right, besides the fact that the current map is not Hostilelobby, it always returns hostilelobby. what did you use for the query request?
have you got the A2S_PLAYER working. it only replies with 8 of the 12 players in the server for some reason.
I'm having a lot of problems with proper information: http://thegamewardens.net/gamemonitor/?s=15 It can detect that the server is up and how many players are connected, but the values from the actual players are not being passed correctly. Name doesn't show up for most players, score is always 0 or 100 and mapname isn't correct.
were looking for the mapname in the wrong place, i analyzed packets send by the server and found out that the mapname is actually stored as an integer in the server rules (obviously working with MapID does not offer support for custom maps): Crossfire!True!True!True!True!True!True!False!True!True!12!True!True!False!Dedicated!1!4!0!2!2!2!2!2!2! The integer after the text Dedicated is the MapID the MapID corresponds with the order listed in defaultMaplist.ini. beginning at 0. I simply used a simple if statement to tie the name to the ID: echo ($MapID); if ($MapID==0){ $m_current="Ammo Mule Arena";} elseif ($MapID==1){ $m_current="Steel Peel Arena";} elseif ($MapID==2){ $m_current="Grenade III Arena";} elseif ($MapID==3){ $m_current="LazeRazor Arena";} elseif ($MapID==4){ $m_current="Spunky Cola Arena";} I mailed uberent and got a response that they actually don't support the source protocol and that i was lucky to even get meaningfull data. pretty odd since their own server browser uses it :mrgreen: they will look into it this week. The issue with A2S_player is indeed caused by -STEAM_DEDSERVER: (Left 4 Dead 2 returns an index of 0 for each player, the same applies to this game, nothing to do about it.) counting the three blank bytes which appears be common for all entries (example: 00 43 61 6C 65 62 00 64 00 00 00 F7 ED 1C 45) i come to a total of 6 players found between 0h and 7Ch.after 70h there are still entries of which one is listed below. 00 00 00 00 00 00 CD 5E 4F 44 If you follow the pattern i gave in the example, you can come to the conclusion that for the 7th player the name is returned as an empty string. (the first byte is the index, the last four represent the connection time. the three bytes before that are also normal as in the pattern in the example. this leaves the name represented by a empty string (byte of value 00)) When you query a server that does not use the -STEAM_DEDSERVER parameter this does not happen.
may i ask for the script you use to seperate the player names and their info from that packet? i' m having trouble finding a way to do it.
I didn't write these things myself so I have next to no clue what you speak of lol http://www.greycube.com/site/news.php <--- that's where the query scripts come from
oh lol, thought you wrote your own script, i'm not that good in altering scripts, i build them from cratch. i could have you look a look at my script when it's finished, maybe then you could apply it on your website.