Salve a tutti, scrivo qui per chiedervi una cosa che mi assilla da diversi giorni: per mio sfizio personale stavo provando a fare un piccolo script per vedere se un game server fosse online o meno. Fin qui tutto ok, lo script funzionava perfettamente e tutto andava bene fino a quando non ho deciso di rovinarmi la vita decidendo di fare un' "evoluzione" dello script per vedere un bel po di cose, come i giocatori sul server, il nome del server, la mappa eccetera...
Ho trovato uno script che fa esattamente questo per prendere spunto, e mentre stavo studiando il codice sono incappato nella funzione principale di questo script, cioè la funzione scanserver.
Codice PHP:
function scanserver($serveripaddress,$serverqueryport) {
global 
$ws_querytimeout;
 if(
$connection = @fsockopen("udp://$serveripaddress",$serverqueryport$errno$errstr2)) {

  
$querycommand pack("CCCV"0xFE0xFD0x000x7E) . pack("CCC"0xff,0xff,0xff);
  
fwrite($connection,"$querycommand");

  
$serverdata fread($connection,2500);
  
$serverdata substr($serverdata5);

  
fclose($connection);
  return 
$serverdata;
 }

Più o meno ho capito come funziona, tuttavia non riesco a capire a cosa serva quel pack(), ho solo notato che togliendolo e sostituendo un'altra stringa lo script non funzionava più (manco ci volesse un genio )
Insomma dall'alto della mia ignoranza non sono riuscito a capire una mazza, potete spiegarmi per favore come lavora la parte con $querycommand e a cosa serve?? thx

Lorenzo