Merhaba arkadaşlar. Counter-Strike serveri için php ile yazılmış bir webpanel buldum ve kodlarını inceliyordum ve bu dökümandan yola çıkarak game-monitors gibi bi site yazmak istiyorum. Ancak takıldığım bir kaç nokta var anlayamadım gitti. Kullanılan mantık basit socket bağlantı ile porta bağlanıp belli komutlar gönderip o komuta dönen cevapları yorumlamak. Ancak servere gönderilen komutlar biraz karışık geldi. Örneğin;

$komut = "\xff\xff\xff\xffchallenge rcon\n";


Buradaki "\xff" olayı veya buna benzer olaylar ne işe yarıyor. Regex le bir alakası varmı acaba ?



Birde son bir sorum olcak. Bu iş için netten bu konu ile ilgili bi sınıf buldum üzerinde bir kaç düzenleme yaptım.


<?php
  class Socket{
      
      var $Socket;
      var $Mesaj;
      var $Cevap;
      var $IP;
      var $Port;

     /**
     * Kurucu Fonksiyondur Sokcet Oluşturup Sınıfın $Socket değerine atar
     */
      function Socket(){
          $this->Socket=@socket_create(AF_INET,SOCK_STREAM,SOL_TCP);
          return $this;  
      }
      
      /**
      * Socket ip Porta Bağlanır.
      */
      function baglan($ip=False,$port=False){
           $this->IP=$ip ? $ip : $this->IP;
           $this->Port=$port ? $port : $this->Port;
          ($this->IP AND $this->Port) OR $this->ipPortBos();
          $sCreated=@socket_connect($this->Socket,$this->IP,$this->Port);
          return $sCreated ? $this : False ;    
      }
      /**
      * Açılan Sokete string göndermeye yarar.
      * @param mixed $String
      */
      function yaz($String){
          $this->Socket Or $this->socketYok();
          @socket_write($this->Socket,$String,strlen($String));
          return $this;
      }
      /**
      * Açılan Socketten okuma yapar yazılan şeyin cevabııdr aynı zamanda
      * 
      * @param mixed $uzunluk
      * @return string
      */
      function oku($uzunluk=1024){
          $this->Socket Or $this->socketYok();
          return @socket_read($this->Socket,$uzunluk,PHP_BINARY_READ);
      }
      /**
      * Socketi Kapatır.
      * 
      */
      function kapat(){
           @socket_close($this->Socket);
      }
      /**
      * Sınıfı temizler tekrar kullanıma açar
      * 
      */
      function bosalt(){
          $this->kapat();
          unset($this->Socket,$this->Cevap,$this->Mesaj,$this->IP,$this->Port);
          $this->Socket();
          return $this; 
      }
      /**
      * Errors.
      */
      function error($string){
               die($string);
      }
      /**
      * IP ve/veya Port atanmadığında otomatik çalışacak fonksiyon... 
      */
      private function ipPortBos(){
              $this->error('IP Port Boş');
      }
      /**
      * Socket Oluşturulmadığında otomatik çalışacak fonksiyon... 
      */
      private function socketYok(){
              $this->error('Socket Oluşturulmamış');
      }
      
  }
?>
Bu nasıl yeterlimi sizce bide bunda yardımcı olursanız. Şimdiden teşekkürler.