private void handleLogin(Packet00Login packet, InetAddress address, int port) {
    // sun
    System.out.println(address.getHostAddress() + ": " + port
        + " " + packet.getUsername() + " login packet received...");  
    //
    
//  my player back
  if(game.getPlayer().getUsername().equalsIgnoreCase(packet.getUsername())) {
    // sun 
    // password incorrect
    if (packet.getValid() == 0)
    {
      JOptionPane.showMessageDialog(game, "Password incorrect!",
          "Wrong Answer", JOptionPane.ERROR_MESSAGE);
      System.exit(0);
    }      
    game.getPlayer().setPosition(packet.getPosition());
    game.getPlayer().setValid(1);
    //
    
      System.out.println("My position:" + packet.getPosition());
      game.getInfos()[packet.getPosition()].setPlayer(game.getPlayer(), "c.png");
    }

  // sun 
PlayerMP player = new PlayerMP(packet.getUsername(), packet.getPassword(), packet.getX(), packet.getY(), address, port);
System.out.println(player.getUsername() + "'s valid is " + player.getValid());;
//

    this.addConnection(player, packet);
    System.out.println("num of players on client: " + game.getConnectedPlayers().size());
    
    List<PlayerMP> allPlayers = game.getConnectedPlayers();
    for(int i = 0; i < allPlayers.size(); i++) {
      if(packet.getUsername().equalsIgnoreCase(allPlayers.get(i).getUsername())) {
        allPlayers.get(i).setPosition(packet.getPosition());
        System.out.println("Setting player:" + i + " position: " + packet.getPosition());
        if(!game.getPlayer().getUsername().equalsIgnoreCase(packet.getUsername()))
          game.getInfos()[packet.getPosition()].setPlayer(allPlayers.get(i), "a.png");
      }
    }

  }