diff --git a/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/commands/TechhiderbugCommand.java b/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/commands/TechhiderbugCommand.java index 4a3bf47f..3080c13e 100644 --- a/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/commands/TechhiderbugCommand.java +++ b/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/commands/TechhiderbugCommand.java @@ -34,6 +34,7 @@ import org.bukkit.command.CommandSender; import java.io.StringWriter; import java.util.Arrays; +import java.util.logging.Level; public class TechhiderbugCommand implements CommandExecutor { @@ -45,25 +46,33 @@ public class TechhiderbugCommand implements CommandExecutor { public boolean onCommand(CommandSender sender, Command cmd, String alias, String[] args) { StringWriter writer = new StringWriter(); - writer.append("ArenaMode: ").append(Config.mode.name()).append('\n'); - writer.append("FightState: ").append(FightState.getFightState().name()).append('\n'); - writer.append("TechHider enabled: ").append(FightState.getStateDependentFeatures().get(FightSystem.getTechHider()).toString()).append('\n'); + try { + writer.append("ArenaMode: ").append(Config.mode.name()).append('\n'); + writer.append("FightState: ").append(FightState.getFightState().name()).append('\n'); + writer.append("TechHider enabled: ").append(FightState.getStateDependentFeatures().get(FightSystem.getTechHider()).toString()).append('\n'); - writer.append("Arena region: ").append(Config.ArenaRegion.toString()).append('\n'); - writer.append("Team regions: "); - Fight.teams().forEach(t -> writer.append(t.getName()).append(':').append(t.getExtendRegion().toString()).append(' ')); - writer.append('\n'); + writer.append("Arena region: ").append(Config.ArenaRegion.toString()).append('\n'); + writer.append("Team regions: "); + Fight.teams().forEach(t -> writer.append(t.getName()).append(':').append(t.getExtendRegion().toString()).append(' ')); + writer.append('\n'); - writer.append("HullHider regions: "); - FightSystem.getHullHider().getHullMap().forEach((t, h) -> writer.append(t.getName()).append(':').append(h.getRegion().toString()).append(' ')); - writer.append('\n'); + writer.append("HullHider regions: "); + FightSystem.getHullHider().getHullMap().forEach((t, h) -> writer.append(t.getName()).append(':').append(h.getRegion().toString()).append(' ')); + writer.append('\n'); - writer.append("Hidden regions: "); - FightSystem.getTechHider().getHiddenRegion().forEach((p, r) -> writer.append(p.getName()).append(':').append(r.toString()).append(' ')); - writer.append('\n'); + writer.append("Hidden regions: "); + FightSystem.getTechHider().getHiddenRegion().forEach((p, r) -> writer.append(p.getName()).append(':').append(r.toString()).append(' ')); + writer.append('\n'); - writer.append('\n').append("Netty pipelines:\n"); - Bukkit.getOnlinePlayers().forEach(p -> writer.append(p.getName()).append(": ").append(String.join(" ", TinyProtocol.instance.getPlayerInterceptors().get(p).getChannel().pipeline().names())).append('\n')); + writer.append("TinyProtocol: "); + writer.append(TinyProtocol.instance.toString()).append('\n'); + + writer.append('\n').append("Netty pipelines:\n"); + Bukkit.getOnlinePlayers().forEach(p -> writer.append(p.getName()).append(": ").append(String.join(" ", TinyProtocol.instance.getPlayerInterceptors().get(p).getChannel().pipeline().names())).append('\n')); + } catch (Exception e) { + writer.append("Error while generating bug report: ").append(e.getMessage()).append('\n'); + Bukkit.getLogger().log(Level.SEVERE, "Error while generating bug report", e); + } SWException.log("Techhider-Bug reported by " + sender.getName() + ": " + Arrays.toString(args), writer.toString()); return false; diff --git a/SpigotCore/SpigotCore_Main/src/com/comphenix/tinyprotocol/TinyProtocol.java b/SpigotCore/SpigotCore_Main/src/com/comphenix/tinyprotocol/TinyProtocol.java index af318d83..c8070e46 100644 --- a/SpigotCore/SpigotCore_Main/src/com/comphenix/tinyprotocol/TinyProtocol.java +++ b/SpigotCore/SpigotCore_Main/src/com/comphenix/tinyprotocol/TinyProtocol.java @@ -71,6 +71,17 @@ public class TinyProtocol implements Listener { @Getter private final Map playerInterceptors = new HashMap<>(); + @Override + public String toString() { + return "TinyProtocol{" + + "plugin=" + plugin + + ", connections=" + connections + + ", closed=" + closed + + ", packetFilters=" + packetFilters + + ", playerInterceptors=" + playerInterceptors + + '}'; + } + private TinyProtocol(final Plugin plugin) { this.plugin = plugin; this.connections = networkManagers.get(getServerConnection(plugin)); @@ -84,6 +95,7 @@ public class TinyProtocol implements Listener { @EventHandler(priority = EventPriority.LOWEST) public void onPlayerLogin(PlayerLoginEvent e) { + plugin.getLogger().info("Creating PacketInterceptor for: " + e.getPlayer().getName() + " (" + closed + ")"); if(closed) return; new PacketInterceptor(e.getPlayer()); @@ -118,6 +130,8 @@ public class TinyProtocol implements Listener { } public final void close() { + plugin.getLogger().log(Level.INFO, "Closing PacketInterceptor", new Exception("Stacktrace")); + if(closed) return; closed = true; @@ -157,6 +171,7 @@ public class TinyProtocol implements Listener { synchronized (playerInterceptors) { playerInterceptors.put(player, this); } + plugin.getLogger().info("Adding Techhider for: " + player.getName()); try { channel.pipeline().addBefore("packet_handler", HANDLER_NAME, this);