A simple plugin to detect/manage a player's client. | With Folia Support |
HOW IT WORKS** When a player joins a server, his client sends a packet (PlayInCustomPayload) to the server, also known as PluginMessaging. This plugin is "catching" this information (using the PacketEvents API, https://github.com/retrooper/packetevents) when it's sent to the server, and checks its content for client-specific "messages". Most clients are detectable with this method, but some clients act like they are "vanilla" (standard Minecraft) clients. Some other (hack-)clients spoof this method by sending "false" packet(s) to the server, this cannot be stopped and will always be possible.
Want to try out the very latest dev builds? [Click here] Use the above dev build at your own risk! Please follow any and ALL instructions provided with EACH dev build released!
MAIN FEATURES
- Client Detection - Detect the client of players and automatically kick unwanted clients.
- Mod Detection - Detect the mods players use and automatically kick unwanted mods.
- Client Control - Manage the client/mods of players (only compatible clients/mods).
- Forge Mod Detection - Detect Forge mods (for now only 1.8 - 1.12.2 Forge).
- Cross Server Notifications - Your staff will be informed if a player joins another server with a detected client/mod.
- Advanced Alert System - You can configure the way ClientDetector notifies your staff.
- BungeeCord Compatible - You can use ClientDetector on BungeeCord server(s).
- ViaVersion Compatible - You can use ClientDetector together with ViaVersion.
COMMANDS
- /clientdetector - Main command, sends a message containing name, version and author.
- /clientdetector help - Sends information about the command system.
- /clientdetector player client - Returns a message containing the client which the player is using.
- /clientdetector player mods - Returns a message/list containing the mods which the player is using.
- /clientdetector player version - Returns a message containing the Minecraft version (1.8, ..., 1.17.1).
- /clientdetector player labyaddons - Returns a message/list containing the LabyMod Addons the player is using.
- /clientdetector forge - Returns a message/list containing the Forge mods the player is using.
PERMISSIONS
- 'clientdetector.notify' - Permission to get informed when a player's client/mod is detected (can be changed trough config.yml).
- 'clientdetector.command' - Permission to use the commands.
- 'clientdetector.bypass' - Bypass all punishments.
HOW TO INSTALL
- Single Spigot/Bukkit Server [INDENT]1. Copy the plugin into the plugin folder of the server.
- Restart the server.
- Configure the plugin.[/INDENT]
- BungeeCord Network (BungeeCord Netzwerk) [INDENT]1. Copy the plugin into the plugin folder of your BungeeCord.
- Copy the plugin into the plugin folder of all sub servers.
- Be sure that "crossServerNotifications" is set to 'true' in config.yml*.*
- Restart BungeeCord and all servers ClientDetector was installed on*.*
- Configure the plugin.[/INDENT]
COMPATIBILITY ClientDetector works on all versions, starting from 1.8. It also works with most forks, such as Spigot, PaperSpigot, and Tuinity. It also works with proxies like BungeeCord. When using ClientDetector on a proxy network, you have to install it on Spigot/Bukkit and BungeeCord side.
PLACEHOLDERS
- „%clientdetector_client_name%“ - Returns the name of the client that the player is using.
- „%clientdetector_client_version%“ - Returns the version of the client that the player is using.
- „%clientdetector_forge_user%“ - Returns ‘true’ or ‘false’ depending on if the player is using Forge.
- „%clientdetector_forge_list%“ - Returns the mods the player is using.
- „%clientdetector_bedrock_player%“ - Returns ’true’ or ‘false’ depending on if the player joined through GeyserMC, Floodgate.
- „%clientdetector_labymod_addons%“ - Returns the labymod addons the player is using.
CLIENT/MOD DETECTION A list of detected clients / mods, most of them are tested. In total 22 clients / mods are detected by the plugin. Clients:
Forge
5Zig Mod
LabyMod
Lunar Client
Polar Client
MysteryMod
Pixel Client
LiteLoader
PvPLounge Client
Fabric
Rift
Cracked Vape
Vivecraft
Hyperium
PXMod
Winterware
Feather Client
Minecraft-Console-Client
Aristois (Experimental - only older versions 1.8, 1.12.2, not 1.16.5 or newer)
Mods:
- Better Sprinting Mod
- World Downloader
- JourneyMap
- WorldEditCUI
CLIENTCONTROL
- Badlion - ClientDetector allows you to disable any mod
- Lunar Client - ClientDetector allows you to disable any mod (however this ClientControl is currently not working).
- LabyMod - ClientDetector allows you to disable certain mods and parts of the gui.
- BetterSprinting - ClientDetector allows you to disable the whole mod, or just parts of it.
- FiveZig - ClientDetector allows you to disable certain mods.
- WorldDownloader - ClientDetector allows you to disable the mod entirely.
FORGE Client version:
- 1.8 ⬄ 1.12.2 - Detect which mods the player is using (not working on 1.13 - 1.18.1 servers).
- 1.13 ⬄ 1.16.5 - Detect which mods the player is using (not working on 1.8 - 1.12.2 servers).
- 1.17 ⬄1.18.1 - Detect which mods the player is using, with some limitations (not working on 1.8 - 1.12.2 servers).
DEVELOPER API
clientdetectorapi
de.sportkanone123.clientdetector.spigot.api.ClientDetectorAPI
String getPlayerClient(Player player) Returns the client that the player uses.
List getPlayerMods(Player player) Returns the mods that the player uses.
Map<String, String> getPlayerForgeMods(Player player) Returns the forge mods that the player uses (if no forge mods were detected it returns a empty Map<String, String>
List getPlayerLabymodAddons(Player player) Returns the Labymod addons that the player uses.
Boolean isForgePlayer(Player player) Return true or false depending on if the player uses forge.
Boolean isBedrockPlayer(Player player) Return true or false depending on if the player uses minecraft bedrock.
clientdetectedevent
de.sportkanone123.clientdetector.spigot.api.events.ClientDetectedEvent
Player getPlayer() Returns the player.
String getClient() Returns the name of the client.
moddetectedevent
de.sportkanone123.clientdetector.spigot.api.events.ModDetectedEvent
Player getPlayer() Returns the player.
String getMod() Returns the name of the mod.
forgemodlistdetectedevent
de.sportkanone123.clientdetector.spigot.api.events.ForgeModlistDetectedEvent
Player getPlayer() Returns the player.
ModList getModlist() Returns the forge modlist of the player.
SUPPORT If you have any questions, error(s) and bugs, just join our support Discord, and we will try our best to help you. Discord: https://discord.gg/gwsSTykWbu
If you like our plugin, we would appreciate it, if you would leave a positive review. :)
Information
Category | Admin Tools |
---|---|
Published on | July 5, 2023 |
License | GPL |
Downloads | 2,376 |
Stars | 25 |
Watchers | 9 |