Zwei Befehle an Gameserver

Manuel

Mitglied
Servus Leudde,

ich weis ich muss mein anderes Thema noch beantworten zu dem Thema "Alle Spieler von einer Gameserver Abfrage rausfiltern" - aber da mir das gerade zu komplex ist mach ich das danach. Ich habe nämlich noch ein Prroblem. Ich habe folgendes Skript:
PHP:
  function console($cmd) {
   $connect = @fsockopen('udp://000.000.000.000', 00000);
   $password = 'rconpw';
   
   fwrite($connect, "\xff\xff\xff\xff\x02" . 'rcon "' . $password . '" '. $cmd . "\x0a\x00");
   $output = fread($connect, 8192);
   return substr($output, 9); //remove garbarge at the beginning
   fclose($connect);
  }

Ich sende einmal den Befehl clientKick 1 und danach say Testkick. Der Spieler mit der ID 1 wird aus dem Server geschmissen doch der Befehl say Testkick (also In-Game wird keine Nachricht versendet mit Testkick). Würde ich das umdrehen dann kommt im Server die Nachricht Testkick aber der Spieler wird nicht rausgeworfen. Beide Befehle funktionieren.

Ich sende die Befehle so:
PHP:
console('clientKick 1');
console('say Testkick');
 
Wie schon in dem anderen Thread gesagt ich empfehle dir PHP Rcon, da findest du voll funktionstüchtige SCripte.
Was mir hier erstmal auffällt:
PHP:
  function console($cmd) {
   $connect = @fsockopen('udp://000.000.000.000', 00000);
   $password = 'rconpw';
   
   fwrite($connect, "\xff\xff\xff\xff\x02" . 'rcon "' . $password . '" '. $cmd . "\x0a\x00");
   $output = fread($connect, 8192);
   return substr($output, 9); //remove garbarge at the beginning
   fclose($connect);//Das muss vorm return stehen, NACH RETURN WIRD NICHTS IN DER FUNKTION AUSGEFÜHRT
  }

Ich weiß aber das Call Of Duty 4 rcon anfragen nicht gleichzeitig beantworten kann. Versuche mal zwischen die beiden Funktionsaufrufe ein usleep(500000); zu setzen.
 
Zurück