diff --git a/src/de/steamwar/bungeecore/listeners/PluginMessage.java b/src/de/steamwar/bungeecore/listeners/PluginMessage.java index 2b857a1..6c6f0ad 100644 --- a/src/de/steamwar/bungeecore/listeners/PluginMessage.java +++ b/src/de/steamwar/bungeecore/listeners/PluginMessage.java @@ -55,7 +55,7 @@ public class PluginMessage extends BasicListener { player.sendData(channel, data); } - private static final Parser UNKNOWN = event -> BungeeCore.get().getLogger().log(Level.WARNING, () -> "Undefined PluginMessage on channel " + event.getTag() + " from " + event.getSender() + " received.\n" + Arrays.toString(event.getData())); + private static final Parser UNKNOWN = event -> BungeeCore.get().getLogger().log(Level.WARNING, () -> "Undefined PluginMessage on channel " + event.getTag() + " from " + event.getSender() + " received.\n" + new String(event.getData()) + "\n" + Arrays.toString(event.getData())); private static final Parser PASS_THROUGH = event -> event.setCancelled(false); private static final Parser DROP = event -> {}; @@ -71,7 +71,7 @@ public class PluginMessage extends BasicListener { FabricModSender fabricModSender = new FabricModSender(); WorldDownloader wdl = new WorldDownloader(); - knownBrands.addAll(Arrays.asList("vanilla", "fabric", "forge", "optifine", "Geyser")); + knownBrands.addAll(Arrays.asList("vanilla", "fabric", "quilt", "forge", "optifine", "Geyser", "labymod")); knownChannels.addAll(Arrays.asList( "fabric:container/open", "fabric:registry/sync/direct", "fabric:registry/sync", @@ -80,14 +80,27 @@ public class PluginMessage extends BasicListener { FML.CHANNEL, "fml:loginwrapper", "fml:handshake", "fml:play", "forge:tier_sorting", "forge:split", "forge:login", "forge:handshake", - ApolloManager.PLUGIN_MESSAGE_CHANNEL, + ApolloManager.PLUGIN_MESSAGE_CHANNEL, "labymod3:main", "labymod:neo", "floodgate:skin", "floodgate:form", "floodgate:transfer", "floodgate:packet", "Replay|Restrict", "replaymod:restrict", "WDL|CONTROL", "wdl:control", "tpshud:handshake", "tpshud:tps", //https://github.com/mooziii/tpshud-fabric/tree/main - "xaerominimap:main" + "xaerominimap:main", + "methane_server:statepacket", //https://modrinth.com/mod/methane + "servux:structures", //https://modrinth.com/mod/servux + "architectury:spawn_entity_packet", //https://modrinth.com/mod/architectury-api + "jei:channel", //https://modrinth.com/mod/jei + "shulkerboxtooltip:s2c_handshake", "shulkerboxtooltip:ec_update", //https://modrinth.com/mod/shulkerboxtooltip + "owo:local_packet", "owo:sync_screen_handler_properties", //https://modrinth.com/mod/owo-lib + "essential:", //https://essential.gg/ + "libgui:screen_message_s2c", //https://github.com/CottonMC/LibGui + "minecraft:intave", //https://intave.ac seems to be a client side integration of intave with labymod 4 + + //https://github.com/Noxcrew/noxesium + "noxesium-v1:reset", "noxesium-v1:change_server_rules", "noxesium-v1:server_info", + "noxesium-v1:mcc_server", "noxesium-v1:mcc_game_state", "noxesium-v1:reset_server_rules" )); registerBiDirPassthrough("worldedit:cui"); @@ -96,7 +109,7 @@ public class PluginMessage extends BasicListener { "axiom:enable", "axiom:initialize_hotbars", "axiom:set_editor_views", "axiom:response_chunk_data", "axiom:register_world_properties", "axiom:set_world_property", "axiom:ack_world_properties", "axiom:restrictions", "axiom:marker_data", "axiom:marker_nbt_response", - "axiom:custom_blocks", "axiom:editor_warning", "axiom:blueprint_manifest" + "axiom:custom_blocks", "axiom:editor_warning", "axiom:blueprint_manifest", "axiom:response_blueprint" ); registerBiDirPassthrough("axiom:handle_big_payload"); registerPassthroughToServer( @@ -108,6 +121,8 @@ public class PluginMessage extends BasicListener { register("REGISTER", false, directional(this::serverRegistersChannel, this::clientRegistersChannel)); register("minecraft:register", false, directional(this::serverRegistersChannel, this::clientRegistersChannel)); + register("UNREGISTER", false, DROP); + register("minecraft:unregister", false, DROP); // used by carpet and servux register("BungeeCord", false, onlySWSource(PASS_THROUGH)); register("bungeecord:main", false, onlySWSource(PASS_THROUGH)); @@ -122,10 +137,12 @@ public class PluginMessage extends BasicListener { register("wdl:request", false, DROP); register("WDL|INIT", true, directional(UNKNOWN, wdl::handlePluginMessage)); register("wdl:init", true, directional(UNKNOWN, wdl::handlePluginMessage)); + register("minecraft:intave", false, directional(UNKNOWN, DROP)); //undocumented, byte stringlength, clientconfig, byte length, json {"legacySneakHeight":false,"legacyOldRange":false,"legacyOldSlowdown":false} register(ApolloManager.PLUGIN_MESSAGE_CHANNEL, true, async(lunar::handlePluginMessage)); register("LMC", true, directional(UNKNOWN, async(labyMod::handlePluginMessage))); register("labymod3:main", true, directional(UNKNOWN, async(labyMod::handlePluginMessage))); + register("labymod:neo", false, directional(UNKNOWN, DROP)); //undocumented, JSON format "0" byte, packetlängen byte, {"version":"4.1.25"} register(FML.CHANNEL, true, directional(UNKNOWN, async(fml::handlePluginMessage))); //vanilla does not register any channels (sends only one minecraft:brand vanilla, nothing else (potential spoofed client detection)) @@ -133,6 +150,7 @@ public class PluginMessage extends BasicListener { //meteor https://github.com/MeteorDevelopment/meteor-client/blob/master/src/main/java/meteordevelopment/meteorclient/systems/modules/misc/ServerSpoof.java https://github.com/MeteorDevelopment/meteor-client/blob/master/src/main/java/meteordevelopment/meteorclient/systems/modules/misc/DiscordPresence.java //feather:client https://github.com/Koupah/Feather-Client-API/blob/main/src/club/koupah/feather/handler/FeatherHandler.java //litematica/malilib https://github.com/maruohon/litematica/issues/75 https://github.com/maruohon/malilib/blob/liteloader_1.12.2/src/main/java/malilib/network/message/ConfigLockPacketHandler.java#L65 + // Hackclientlike modsuppressor for labymod: https://github.com/Neocraftr/LabyMod-NeoEssentials (Potentially recognizable from NO Addons/NO Mods?) https://github.com/Neocraftr/LabyMod-NeoEssentials/blob/master/src/main/java/de/neocraftr/neoessentials/utils/BytecodeMethods.java } @EventHandler diff --git a/src/de/steamwar/bungeecore/mods/Hostname.java b/src/de/steamwar/bungeecore/mods/Hostname.java index ed4575c..0c28183 100644 --- a/src/de/steamwar/bungeecore/mods/Hostname.java +++ b/src/de/steamwar/bungeecore/mods/Hostname.java @@ -37,11 +37,13 @@ public class Hostname extends BasicListener { public Hostname() { knownHostnames.add("steamwar.de"); knownHostnames.add("78.31.71.136"); - knownHostnames.add("@mat:matdoes.dev"); //https://github.com/mat-1/matscan - knownHostnames.add("wtf.mynx.lol"); //https://discord.com/invite/serverseeker + knownHostnames.add("memewar.de"); // Chaoscaot + knownHostnames.add("dampfkrieg.de"); // Chaoscaot knownHostnames.add("127.0.0.1"); // Geyser - knownHostnames.add("memewar.de"); - knownHostnames.add("dampfkrieg.de"); + + knownHostnames.add("@mat:matdoes.dev "); //https://github.com/mat-1/matscan + knownHostnames.add("wtf.mynx.lol"); //https://discord.com/invite/serverseeker + knownHostnames.add("masscan"); knownExtraData.add(""); knownExtraData.add("\0FML\0");