Querying a HL Server

Do you have a question? Post it now! No Registration Necessary.  Now with pictures!

Threaded View
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 = '';
   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
I am trying to query a counter-strike server and return the current
players/max players.

Re: Querying a HL Server

bryan wrote:
Quoted text here. Click to load it

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.

Re: Querying a HL Server

On 7 Aug 2006 17:49:08 -0700, bryan wrote:

Quoted text here. Click to load it

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.


Site Timeline