anchor.diff:    JoinTick := 0;
     fPlayersList.Add(fNetwork.MyIPString); //Add self
     fNetwork.StartListening;
  -  fNetwork.OnRecieveKMPacket := PacketRecieveHost; //Start listening
  +  fNetwork.OnRecieveKMPacket := PacketRecieve; //Start listening
   end;
   
   
  
positive.code: 
  
  procedure TKMNetworking.SendPlayerList;
  var
    MyPlayerList: string;
  begin
    //MyPlayerList := fPlayersList.Count
    //for i := 1 to fPlayersList.Count-1 do
  
    //for i := 1 to fPlayersList.Count-1 do //Exclude self and send to [2nd to last] range
    //  PacketSend(fPlayersList[i], mkHandshaking_SendPlayersList, MyPlayerList);
  end;
  
  
  procedure TKMNetworking.PacketRecieveHost(const aData: array of byte; aAddr:string);
  var Kind:TMessageKind; MyString: string;
  begin
    Kind := TMessageKind(aData[0]);
  
negative.code:       fOnTextMessage:TStringEvent;
  
        procedure SendPlayerList;
        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;
  