public void save(boolean flag) { this.removeExpired(); try { PrintWriter printwriter = new PrintWriter(new FileWriter(this.b, false)); if (flag) { printwriter.println( "# Updated " + (new SimpleDateFormat()).format(new Date()) + " by Minecraft " + "1.6.4"); printwriter.println("# victim name | ban date | banned by | banned until | reason"); printwriter.println(); } Iterator iterator = this.a.values().iterator(); while (iterator.hasNext()) { BanEntry banentry = (BanEntry) iterator.next(); printwriter.println(banentry.g()); } printwriter.close(); } catch (IOException ioexception) { MinecraftServer.getServer().getLogger().severe("Could not save ban list", ioexception); } }
public void handleClientCommand(Packet205ClientCommand par1Packet205ClientCommand) { if (par1Packet205ClientCommand.forceRespawn == 1) { if (playerEntity.playerHasConqueredTheEnd) { playerEntity = mcServer.getConfigurationManager().respawnPlayer(playerEntity, 0, true); } else if (playerEntity.getServerForPlayer().getWorldInfo().isHardcoreModeEnabled()) { if (mcServer.isSinglePlayer() && playerEntity.username.equals(mcServer.getServerOwner())) { playerEntity.serverForThisPlayer.kickPlayerFromServer( "You have died. Game over, man, it's game over!"); mcServer.deleteWorldAndStopServer(); } else { BanEntry banentry = new BanEntry(playerEntity.username); banentry.setBanReason("Death in Hardcore"); mcServer.getConfigurationManager().getBannedPlayers().put(banentry); playerEntity.serverForThisPlayer.kickPlayerFromServer( "You have died. Game over, man, it's game over!"); } } else { if (playerEntity.getHealth() > 0) { return; } playerEntity = mcServer.getConfigurationManager().respawnPlayer(playerEntity, 0, false); } } }
public void load() { if (this.b.isFile()) { BufferedReader bufferedreader; try { bufferedreader = new BufferedReader(new FileReader(this.b)); } catch (FileNotFoundException filenotfoundexception) { throw new Error(); } String s; try { while ((s = bufferedreader.readLine()) != null) { if (!s.startsWith("#")) { BanEntry banentry = BanEntry.c(s); if (banentry != null) { this.a.put(banentry.getName(), banentry); } } } } catch (IOException ioexception) { MinecraftServer.getServer().getLogger().severe("Could not load ban list", ioexception); } } }
public void func_72458_a(Packet205ClientCommand par1Packet205ClientCommand) { if (par1Packet205ClientCommand.field_73447_a == 1) { if (this.playerEntity.gameOver) { this.playerEntity = this.mcServer .getConfigurationManager() .recreatePlayerEntity(this.playerEntity, 0, true); } else if (this.playerEntity.func_71121_q().getWorldInfo().isHardcoreModeEnabled()) { if (this.mcServer.isSinglePlayer() && this.playerEntity.username.equals(this.mcServer.getServerOwner())) { this.playerEntity.playerNetServerHandler.kickPlayer( "You have died. Game over, man, it\'s game over!"); this.mcServer.func_71272_O(); } else { BanEntry var2 = new BanEntry(this.playerEntity.username); var2.func_73689_b("Death in Hardcore"); this.mcServer.getConfigurationManager().getBannedPlayers().func_73706_a(var2); this.playerEntity.playerNetServerHandler.kickPlayer( "You have died. Game over, man, it\'s game over!"); } } else { if (this.playerEntity.getHealth() > 0) { return; } this.playerEntity = this.mcServer .getConfigurationManager() .recreatePlayerEntity(this.playerEntity, 0, false); } } }
/** Loads the ban list from the file (adds every entry, does not clear the current list). */ public void loadBanList() { if (this.fileName.isFile()) { BufferedReader bufferedreader; try { bufferedreader = new BufferedReader(new FileReader(this.fileName)); } catch (FileNotFoundException filenotfoundexception) { throw new Error(); } String s; try { while ((s = bufferedreader.readLine()) != null) { if (!s.startsWith("#")) { BanEntry banentry = BanEntry.parse(s); if (banentry != null) { this.theBanList.putLower(banentry.getBannedUsername(), banentry); } } } } catch (IOException ioexception) { MinecraftServer.getServer() .getLogAgent() .logSevereException("Could not load ban list", ioexception); } } }
/** par1: include header */ public void saveToFile(boolean par1) { this.removeExpiredBans(); try { PrintWriter printwriter = new PrintWriter(new FileWriter(this.fileName, false)); if (par1) { printwriter.println( "# Updated " + (new SimpleDateFormat()).format(new Date()) + " by Minecraft " + "1.6.4"); printwriter.println("# victim name | ban date | banned by | banned until | reason"); printwriter.println(); } Iterator iterator = this.theBanList.values().iterator(); while (iterator.hasNext()) { BanEntry banentry = (BanEntry) iterator.next(); printwriter.println(banentry.buildBanString()); } printwriter.close(); } catch (IOException ioexception) { MinecraftServer.getServer() .getLogAgent() .logSevereException("Could not save ban list", ioexception); } }
@Override public Set<OfflinePlayer> getBannedPlayers() { Set<OfflinePlayer> bannedPlayers = new HashSet<>(); for (BanEntry entry : nameBans.getBanEntries()) { bannedPlayers.add(getOfflinePlayer(entry.getTarget())); } return bannedPlayers; }
@Override public Set<String> getIPBans() { Set<String> result = new HashSet<>(); for (BanEntry entry : ipBans.getBanEntries()) { result.add(entry.getTarget()); } return result; }
public void removeExpired() { Iterator iterator = this.a.values().iterator(); while (iterator.hasNext()) { BanEntry banentry = (BanEntry) iterator.next(); if (banentry.hasExpired()) { iterator.remove(); } } }
/** * checks ban-lists, then white-lists, then space for the server. Returns null on success, or an * error message */ public String allowUserToConnect(SocketAddress par1SocketAddress, String par2Str) { if (this.bannedPlayers.isBanned(par2Str)) { BanEntry var6 = (BanEntry) this.bannedPlayers.getBannedList().get(par2Str); String var7 = "You are banned from this server!\nReason: " + var6.getBanReason(); if (var6.getBanEndDate() != null) { var7 = var7 + "\nYour ban will be removed on " + dateFormat.format(var6.getBanEndDate()); } return var7; } else if (!this.isAllowedToLogin(par2Str)) { return "You are not white-listed on this server!"; } else { String var3 = par1SocketAddress.toString(); var3 = var3.substring(var3.indexOf("/") + 1); var3 = var3.substring(0, var3.indexOf(":")); if (this.bannedIPs.isBanned(var3)) { BanEntry var4 = (BanEntry) this.bannedIPs.getBannedList().get(var3); String var5 = "Your IP address is banned from this server!\nReason: " + var4.getBanReason(); if (var4.getBanEndDate() != null) { var5 = var5 + "\nYour ban will be removed on " + dateFormat.format(var4.getBanEndDate()); } return var5; } else { return this.playerEntityList.size() >= this.maxPlayers ? "The server is full!" : null; } } }
public String func_72399_a(SocketAddress p_72399_1_, String p_72399_2_) { if (field_72401_g.func_73704_a(p_72399_2_)) { BanEntry banentry = (BanEntry) field_72401_g.func_73712_c().get(p_72399_2_); String s1 = (new StringBuilder()) .append("You are banned from this server!\nReason: ") .append(banentry.func_73686_f()) .toString(); if (banentry.func_73680_d() != null) { s1 = (new StringBuilder()) .append(s1) .append("\nYour ban will be removed on ") .append(field_72403_e.format(banentry.func_73680_d())) .toString(); } return s1; } if (!func_72370_d(p_72399_2_)) { return "You are not white-listed on this server!"; } String s = p_72399_1_.toString(); s = s.substring(s.indexOf("/") + 1); s = s.substring(0, s.indexOf(":")); if (field_72413_h.func_73704_a(s)) { BanEntry banentry1 = (BanEntry) field_72413_h.func_73712_c().get(s); String s2 = (new StringBuilder()) .append("Your IP address is banned from this server!\nReason: ") .append(banentry1.func_73686_f()) .toString(); if (banentry1.func_73680_d() != null) { s2 = (new StringBuilder()) .append(s2) .append("\nYour ban will be removed on ") .append(field_72403_e.format(banentry1.func_73680_d())) .toString(); } return s2; } if (field_72404_b.size() >= field_72405_c) { return "The server is full!"; } else { return null; } }
public void add(BanEntry banentry) { this.a.put(banentry.getName(), banentry); this.save(); }
public void put(BanEntry par1BanEntry) { this.theBanList.putLower(par1BanEntry.getBannedUsername(), par1BanEntry); this.saveToFileWithHeader(); }