anchor.diff:        fOnTextMessage:TStringEvent;
   
         procedure SendPlayerList;
  -      procedure PacketRecieveHost(const aData: array of byte; aAddr:string);
  -      procedure PacketRecieveJoin(const aData: array of byte; aAddr:string);
  +      procedure PacketRecieve(const aData: array of byte; aAddr:string); //Process all commands
  +      procedure PacketRecieveJoin(const aData: array of byte; aAddr:string); //Process only "Join" commands
         procedure PacketSend(const aAddress:string; aKind:TMessageKind; const aData:string='');
       public
         constructor Create;
  
positive.code: const MyArray : array[0..0] of byte = (byte(mkHandshaking_RefuseToJoin));
  begin
    if (JoinTick<>0) and (JoinTick <= GetTickCount) then
      PacketRecieveHost(MyArray, '127.0.0.1');
  end;
  
  
  
negative.code: 
  
  procedure TKMNetworking.SendPlayerList;
  var s:string; i:integer;
  begin
    s := Format('%.2d',[fPlayersList.Count-1]); //Exclude self from overall count
  
    for i:=1 to fPlayersList.Count-1 do
      s := s + fPlayersList[i] + #0; //15chars each
  
    for i:=1 to fPlayersList.Count-1 do
      PacketSend(fPlayersList[i], mkHandshaking_SendPlayersList, s);
  end;
  
  
  procedure TKMNetworking.PacketRecieve(const aData: array of byte; aAddr:string);
  var Kind:TMessageKind; MyString: string;
  begin
    Kind := TMessageKind(aData[0]);
  