Connecting Tech Pros Worldwide Help | Site Map

Querying a HL Server

bryan
Guest
 
Posts: n/a
#1: Aug 8 '06
I'm trying to query a HL Server and return the "status" of it. I'm
unsure of how to do this exactly so I need some help, what I have so
far is as follows...
1. <?php
2. // Host / Port Settings:
3. $host = '70.86.248.86';
4. $socket = fsockopen('udp://' . $host, 27015, $errno, $errstr);
5. if ($socket) {
6. echo 'working';
7. if (fwrite($socket, 'status')) {
8. echo fread($socket, 128);
9. } else {
10. echo 'Problems writing';
11. }
12. } else {
13. echo 'not working';
14. }
15. ?>
Does anybody know how to do this properly or succeeded in doing this
before?
I am trying to query a counter-strike server and return the current
players/max players.

Jerry Stuckle
Guest
 
Posts: n/a
#2: Aug 8 '06

re: Querying a HL Server


bryan wrote:
Quote:
I'm trying to query a HL Server and return the "status" of it. I'm
unsure of how to do this exactly so I need some help, what I have so
far is as follows...
1. <?php
2. // Host / Port Settings:
3. $host = '70.86.248.86';
4. $socket = fsockopen('udp://' . $host, 27015, $errno, $errstr);
5. if ($socket) {
6. echo 'working';
7. if (fwrite($socket, 'status')) {
8. echo fread($socket, 128);
9. } else {
10. echo 'Problems writing';
11. }
12. } else {
13. echo 'not working';
14. }
15. ?>
Does anybody know how to do this properly or succeeded in doing this
before?
I am trying to query a counter-strike server and return the current
players/max players.
>
Did you try asking the people running the server? They should know what
protocol you need to use.


--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex@attglobal.net
==================
Adam
Guest
 
Posts: n/a
#3: Aug 11 '06

re: Querying a HL Server


On 7 Aug 2006 17:49:08 -0700, bryan wrote:
Quote:
>I'm trying to query a HL Server and return the "status" of it. I'm
>unsure of how to do this exactly so I need some help, what I have so
>far is as follows...
1. <?php
2. // Host / Port Settings:
3. $host = '70.86.248.86';
4. $socket = fsockopen('udp://' . $host, 27015, $errno, $errstr);
5. if ($socket) {
6. echo 'working';
7. if (fwrite($socket, 'status')) {
8. echo fread($socket, 128);
9. } else {
10. echo 'Problems writing';
11. }
12. } else {
13. echo 'not working';
14. }
15. ?>
>Does anybody know how to do this properly or succeeded in doing this
>before?
>I am trying to query a counter-strike server and return the current
>players/max players.
My short answer is *don't bother*!

I tried for weeks to get sockets to behave for a similar application
(but for an online flight sim). It seems each incarnation of PHP
screws the sockets code around differently. After a fair while, I
found that some bugs reported in PHP3 are still there.

I also found differences in behaviour between Win32 and Unix/Linux
implementations of sockets. Don't be misled by the online function
references that make it look easy - I found that a fair few of the
routines just did not work consistently.

Also ... check you're getting past your firewall! I used a network
packet sniffer to see traffic actually leaving one machine then seeing
what (if anything) appeared on the other.

Adam.
Closed Thread