Program: 161967
Project: 161967
Buggy source:
public boolean addPlayer(Player p){
  if (SettingsManager.getInstance().getLobbySpawn() == null) {
    msgmgr.sendFMessage(PrefixType.WARNING,"String_Node_Str",p);
    return false;
  }
  if (!p.hasPermission("String_Node_Str" + gameID)) {
    debug("String_Node_Str" + "String_Node_Str" + gameID);
    msgmgr.sendFMessage(PrefixType.WARNING,"String_Node_Str",p);
    return false;
  }
  HookManager.getInstance().runHook("String_Node_Str","String_Node_Str" + gameID,"String_Node_Str" + p.getName(),"String_Node_Str" + spawns.size(),"String_Node_Str" + activePlayers.size());
  GameManager.getInstance().removeFromOtherQueues(p,gameID);
  if (GameManager.getInstance().getPlayerGameId(p) != -1) {
    if (GameManager.getInstance().isPlayerActive(p)) {
      msgmgr.sendMessage(PrefixType.ERROR,"String_Node_Str",p);
      return false;
    }
  }
  if (p.isInsideVehicle()) {
    p.leaveVehicle();
  }
  if (spectators.contains(p))   removeSpectator(p);
  if (mode == GameMode.WAITING || mode == GameMode.STARTING) {
    if (activePlayers.size() < SettingsManager.getInstance().getSpawnCount(gameID)) {
      msgmgr.sendMessage(PrefixType.INFO,"String_Node_Str" + gameID,p);
      PlayerJoinArenaEvent joinarena=new PlayerJoinArenaEvent(p,GameManager.getInstance().getGame(gameID));
      Bukkit.getServer().getPluginManager().callEvent(joinarena);
      boolean placed=false;
      for (int a=1; a <= SettingsManager.getInstance().getSpawnCount(gameID); a++) {
        if (spawns.get(a) == null) {
          placed=true;
          spawns.put(a,p);
          p.teleport(SettingsManager.getInstance().getLobbySpawn());
          p.setGameMode(org.bukkit.GameMode.SURVIVAL);
          saveInv(p);
          clearInv(p);
          p.teleport(SettingsManager.getInstance().getSpawnPoint(gameID,a));
          p.setHealth(p.getMaxHealth());
          p.setFoodLevel(20);
          clearInv(p);
          activePlayers.add(p);
          sm.addPlayer(p,gameID);
          hookvars.put("String_Node_Str",activePlayers.size() + "String_Node_Str");
          LobbyManager.getInstance().updateWall(gameID);
          showMenu(p);
          HookManager.getInstance().runHook("String_Node_Str","String_Node_Str" + activePlayers.size());
          if (spawns.size() == activePlayers.size()) {
            countdown(5);
          }
          break;
        }
      }
      if (!placed) {
        msgmgr.sendFMessage(PrefixType.ERROR,"String_Node_Str",p,"String_Node_Str" + gameID);
        return false;
      }
    }
 else     if (SettingsManager.getInstance().getSpawnCount(gameID) == 0) {
      msgmgr.sendMessage(PrefixType.WARNING,"String_Node_Str" + gameID + "String_Node_Str",p);
      return false;
    }
 else {
      msgmgr.sendFMessage(PrefixType.WARNING,"String_Node_Str",p,"String_Node_Str" + gameID);
      return false;
    }
    msgFall(PrefixType.INFO,"String_Node_Str","String_Node_Str" + p.getName(),"String_Node_Str" + getActivePlayers(),"String_Node_Str" + SettingsManager.getInstance().getSpawnCount(gameID));
    if (activePlayers.size() >= config.getInt("String_Node_Str") && !countdownRunning)     countdown(config.getInt("String_Node_Str"));
    return true;
  }
 else {
    if (config.getBoolean("String_Node_Str")) {
      if (!queue.contains(p)) {
        queue.add(p);
        msgmgr.sendFMessage(PrefixType.INFO,"String_Node_Str",p,"String_Node_Str" + queue.size());
      }
      int a=1;
      for (      Player qp : queue) {
        if (qp == p) {
          msgmgr.sendFMessage(PrefixType.INFO,"String_Node_Str",p,"String_Node_Str" + a);
          break;
        }
        a++;
      }
    }
  }
  if (mode == GameMode.INGAME)   msgmgr.sendFMessage(PrefixType.WARNING,"String_Node_Str",p);
 else   if (mode == GameMode.DISABLED)   msgmgr.sendFMessage(PrefixType.WARNING,"String_Node_Str",p,"String_Node_Str" + gameID);
 else   if (mode == GameMode.RESETING)   msgmgr.sendFMessage(PrefixType.WARNING,"String_Node_Str",p);
 else   msgmgr.sendMessage(PrefixType.INFO,"String_Node_Str",p);
  LobbyManager.getInstance().updateWall(gameID);
  return false;
}

Fixed version (ground truth):
public boolean addPlayer(Player p){
  if (SettingsManager.getInstance().getLobbySpawn() == null) {
    msgmgr.sendFMessage(PrefixType.WARNING,"String_Node_Str",p);
    return false;
  }
  if (!p.hasPermission("String_Node_Str" + gameID)) {
    debug("String_Node_Str" + "String_Node_Str" + gameID);
    msgmgr.sendFMessage(PrefixType.WARNING,"String_Node_Str",p);
    return false;
  }
  HookManager.getInstance().runHook("String_Node_Str","String_Node_Str" + gameID,"String_Node_Str" + p.getName(),"String_Node_Str" + spawns.size(),"String_Node_Str" + activePlayers.size());
  GameManager.getInstance().removeFromOtherQueues(p,gameID);
  if (GameManager.getInstance().getPlayerGameId(p) != -1) {
    if (GameManager.getInstance().isPlayerActive(p)) {
      msgmgr.sendMessage(PrefixType.ERROR,"String_Node_Str",p);
      return false;
    }
  }
  if (p.isInsideVehicle()) {
    p.leaveVehicle();
  }
  if (spectators.contains(p))   removeSpectator(p);
  if (mode == GameMode.WAITING || mode == GameMode.STARTING) {
    if (activePlayers.size() < SettingsManager.getInstance().getSpawnCount(gameID)) {
      msgmgr.sendMessage(PrefixType.INFO,"String_Node_Str" + gameID,p);
      PlayerJoinArenaEvent joinarena=new PlayerJoinArenaEvent(p,GameManager.getInstance().getGame(gameID));
      Bukkit.getServer().getPluginManager().callEvent(joinarena);
      boolean placed=false;
      for (int a=1; a <= SettingsManager.getInstance().getSpawnCount(gameID); a++) {
        if (spawns.get(a) == null) {
          placed=true;
          spawns.put(a,p);
          p.setGameMode(org.bukkit.GameMode.SURVIVAL);
          p.teleport(SettingsManager.getInstance().getLobbySpawn());
          saveInv(p);
          clearInv(p);
          p.teleport(SettingsManager.getInstance().getSpawnPoint(gameID,a));
          p.setHealth(p.getMaxHealth());
          p.setFoodLevel(20);
          clearInv(p);
          activePlayers.add(p);
          sm.addPlayer(p,gameID);
          hookvars.put("String_Node_Str",activePlayers.size() + "String_Node_Str");
          LobbyManager.getInstance().updateWall(gameID);
          showMenu(p);
          HookManager.getInstance().runHook("String_Node_Str","String_Node_Str" + activePlayers.size());
          if (spawns.size() == activePlayers.size()) {
            countdown(5);
          }
          break;
        }
      }
      if (!placed) {
        msgmgr.sendFMessage(PrefixType.ERROR,"String_Node_Str",p,"String_Node_Str" + gameID);
        return false;
      }
    }
 else     if (SettingsManager.getInstance().getSpawnCount(gameID) == 0) {
      msgmgr.sendMessage(PrefixType.WARNING,"String_Node_Str" + gameID + "String_Node_Str",p);
      return false;
    }
 else {
      msgmgr.sendFMessage(PrefixType.WARNING,"String_Node_Str",p,"String_Node_Str" + gameID);
      return false;
    }
    msgFall(PrefixType.INFO,"String_Node_Str","String_Node_Str" + p.getName(),"String_Node_Str" + getActivePlayers(),"String_Node_Str" + SettingsManager.getInstance().getSpawnCount(gameID));
    if (activePlayers.size() >= config.getInt("String_Node_Str") && !countdownRunning)     countdown(config.getInt("String_Node_Str"));
    return true;
  }
 else {
    if (config.getBoolean("String_Node_Str")) {
      if (!queue.contains(p)) {
        queue.add(p);
        msgmgr.sendFMessage(PrefixType.INFO,"String_Node_Str",p,"String_Node_Str" + queue.size());
      }
      int a=1;
      for (      Player qp : queue) {
        if (qp == p) {
          msgmgr.sendFMessage(PrefixType.INFO,"String_Node_Str",p,"String_Node_Str" + a);
          break;
        }
        a++;
      }
    }
  }
  if (mode == GameMode.INGAME)   msgmgr.sendFMessage(PrefixType.WARNING,"String_Node_Str",p);
 else   if (mode == GameMode.DISABLED)   msgmgr.sendFMessage(PrefixType.WARNING,"String_Node_Str",p,"String_Node_Str" + gameID);
 else   if (mode == GameMode.RESETING)   msgmgr.sendFMessage(PrefixType.WARNING,"String_Node_Str",p);
 else   msgmgr.sendMessage(PrefixType.INFO,"String_Node_Str",p);
  LobbyManager.getInstance().updateWall(gameID);
  return false;
}