Querying a HL Server

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • bryan

    Querying a HL Server

    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

    #2
    Re: Querying a HL Server

    bryan wrote:
    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@attgl obal.net
    =============== ===

    Comment

    • Adam

      #3
      Re: Querying a HL Server

      On 7 Aug 2006 17:49:08 -0700, bryan wrote:
      >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.

      Comment

      Working...