ModsJava
PingLimiter - Protection against ServerListPing layer 7 attacks (Bungee/Waterfall)
New types of attacks appear on the minecraft application layer via the SLP (Server List Ping) protocol aimed at DDOS your server, saturating your bandwidth, and making your server totally inaccessible during the attack.
De nouveaux types d'attaques font leurs apparitions sur la couche applicative minecraft via le protocole SLP (Server List Ping) visant à DDOS votre serveur, saturer votre bande passante, et rendre totalement inaccessible votre serveur durant l'attaque.
How do these attacks work?
The attacker will send thousands of requests per second with different ip (proxies) on your server. Sending these requests is simple and light for the attacker. However, the response your server sends to these requests is very heavy.
Only one answer to these requests contains the description of your server (MOTD), the protocol (supported versions), the number of slots and connected players, and especially the icon of your server.
Your server responding with so much information to thousands of requests per second, your rising bandwidth is saturated, causing players to be unable to connect to it, or even disconnect players on the server.
Contrairement à une attaque DDOS conventionnelle, ces attaques vont venir utiliser les requêtes SLP (Server List Ping) sur votre serveur. L'attaquant enverra des milliers de requêtes par secondes avec des ip différentes (proxies) sur votre serveur. L'envoie de ces requêtes est simple et léger pour l'attaquant. Toutefois la réponse que votre serveur envoie à ces requêtes sont très lourdes.
Une seule réponse à ces requêtes contient la description de votre serveur (MOTD), le protocole (versions supportées), le nombres de slots et de joueurs connectés, et surtout l'icon de votre serveur.
Votre serveur répondant avec autant d'information à des milliers de requêtes par secondes, votre bande passante montante est ainsi saturée, provoquant l'impossibilité aux joueurs de s'y connecter, voir même la déconnexion des joueurs présents sur le serveur.
Spoiler: Learn more about SLP (Server List Ping)
Spoiler: Example of a response to an SLP request
How does PingLimiter protect you?
The attack is therefore greatly reduced and your bandwidth is not saturated.
The plugin is very lightweight and does not consume any performance for your CPU.
PingLimiter va automatiquement limiter les réponses aux requêtes en réduisant les informations envoyées aux adresses ip détectées comme non légitimes. De plus, l'icon du serveur sera envoyé uniquement une seule fois par IP dans une intervalle configurable. La description et les informations de la réponse seront automatiquement réduits en cas de spam par une ip (voir image en bas).
L'attaque est donc fortement réduite et votre bande passante n'est pas saturée.
Le plugin est très léger et ne consomme pas de performance pour votre CPU.
CONFIGURATIONS:
Spoiler: English Configuration (with comments)
protection:
enable : true
#========================================================================================================================================
# Exemple if refreshRate is set to 8, and limit to 3 >>
# - Response sended to the ip on ping will be limited if she ping the server more than 3 time in 8 seconds
# - If ip stop ping too fast, ip is removed from limits at next refresh (8 seconds), otherwise he stay limited until the next check
#========================================================================================================================================
refreshRate : 8 #Time in seconds to refresh limited addresses
limit : 3 #How many time an ip adress can ping the server before being limited
serverIconOnlyFirstTime : true # (Highly Recommended) Send the serverIcon only one time every refreshRate.
preventConnectByPing : false #Prevent connection if ip don't have ping the server (can prevent some bot connect)
preventConnectByPingMsg :
- "&cConnection blocked"
- "&ePlease don't use direct connect"
- "&eAdd our server in your server list before connecting"
- "§7Please refresh your server list before joining"
preventConnectBySpam : false #Prevent connection if ip have spammed refresh (can prevent some bot connect)
preventConnectBySpamMsg :
- "&cPlease do not spam refresh !"
- "&ePlease wait %seconds% seconds before connecting"
limitedRespond:
motd : "&cPlease do not spam refresh !"
versionMessage : "&b&lServer&a&lName &8&l| &7%connecteds%&8/&7%maxPlayers%"
message : # NOTE: Alert system work only if you have the permission pinglimiter.alert and if you enable it with /pinglimiter alert
limitBeforeAlert : 100 #How many ip addresses have to be limited before send notifications
titleAlert : "&cServer under DDOS attack"
subTitleAlert : "&e%numberIP% &7IP addresses was limiteds"
enableActionBar : false #Send an actionbar to players who have permission pinglimiter.alert when an ip was limted.
actionBar : "&6%IP% &rexceeded the ping limit"
noPermission : "&cYou don't have permission to use this command"
configReloaded : "&aThe configuration has been reloaded"
enabledNotifications : "&aDdos notifications enabled"
disabledNotifications : "&cDdos notifications disabled"
consoleFilter : #Highly recommended to keep this enabled for prevent console spamming and limit cpu usage.
enable : true #May not work if an other bungee plugin have console filtrer system.
blacklist :
- "InitialHandler"
Code (YAML):
protection:
enable : true
#========================================================================================================================================
# Exemple if refreshRate is set to 8, and limit to 3 >>
# - Response sended to the ip on ping will be limited if she ping the server more than 3 time in 8 seconds
# - If ip stop ping too fast, ip is removed from limits at next refresh (8 seconds), otherwise he stay limited until the next check
#========================================================================================================================================
refreshRate : 8 #Time in seconds to refresh limited addresses
limit : 3 #How many time an ip adress can ping the server before being limited
serverIconOnlyFirstTime : true # (Highly Recommended) Send the serverIcon only one time every refreshRate.
preventConnectByPing : false #Prevent connection if ip don't have ping the server (can prevent some bot connect)
preventConnectByPingMsg :
- "&cConnection blocked"
- "&ePlease don't use direct connect"
- "&eAdd our server in your server list before connecting"
- "§7Please refresh your server list before joining"
preventConnectBySpam : false #Prevent connection if ip have spammed refresh (can prevent some bot connect)
preventConnectBySpamMsg :
- "&cPlease do not spam refresh !"
- "&ePlease wait %seconds% seconds before connecting"
limitedRespond:
motd : "&cPlease do not spam refresh !"
versionMessage : "&b&lServer&a&lName &8&l| &7%connecteds%&8/&7%maxPlayers%"
message : # NOTE: Alert system work only if you have the permission pinglimiter.alert and if you enable it with /pinglimiter alert
limitBeforeAlert : 100 #How many ip addresses have to be limited before send notifications
titleAlert : "&cServer under DDOS attack"
subTitleAlert : "&e%numberIP% &7IP addresses was limiteds"
enableActionBar : false #Send an actionbar to players who have permission pinglimiter.alert when an ip was limted.
actionBar : "&6%IP% &rexceeded the ping limit"
noPermission : "&cYou don't have permission to use this command"
configReloaded : "&aThe configuration has been reloaded"
enabledNotifications : "&aDdos notifications enabled"
disabledNotifications : "&cDdos notifications disabled"
consoleFilter : #Highly recommended to keep this enabled for prevent console spamming and limit cpu usage.
enable : true #May not work if an other bungee plugin have console filtrer system.
blacklist :
- "InitialHandler"
Spoiler: French Configuration (avec commentaires)
Code (YAML):
protection:
enable : true
#========================================================================================================================================
# Exemple si la refreshRate est définie sur 8 et la limit à 3 >>
# - La réponse envoyée à l'ip sera réduite si elle ping le serveur plus de 3 fois en 8 secondes.
# - Lorsque l'ip arrête de ping trop rapidement, elle est retirée des limites au prochain rafraichissement (ici 8 secondes)
# Sinon elle reste limitée jusqu'à ce qu'elle passe en dessous du seuille de limite.
#========================================================================================================================================
refreshRate : 8 #Temps de rafraichissement de l'analyse des ip (en secondes)
limit : 3 #Combien de fois une adresse ip peux ping avant d'etre limitée
serverIconOnlyFirstTime : true # (Fortement recommandé) Envoi l'icon du serveur uniquement une fois après chaque rafraichissement.
preventConnectByPing : false #Bloque la connexion si l'adresse ip n'as pas ping le serveur.
preventConnectByPingMsg :
- "&cConnexion bloquée"
- "&eMerci de ne pas utiliser Connexion Rapide"
- "&eAjoute notre serveur à ta liste de serveur"
- "§7Actualise ta liste de serveurs avant de te connecter"
preventConnectBySpam : false #Prevent connection if ip have spammed refresh (can prevent some bot connect)
preventConnectBySpamMsg :
- "&cN''actualise pas trop rapidement !"
- "&ePatiente %seconds% secondes avant de te connecter"
limitedRespond:
motd : '&cN''actualise pas trop rapidement !'
versionMessage : "&b&lServer&a&lName &8&l| &7%connecteds%&8/&7%maxPlayers%"
message : # NOTE: Le système d'alerte fonctionne uniquement si vous avez la permission pinglimiter.alert et si vous l'activez avec /pinglimiter alert
limitBeforeAlert : 100 #Combien d'adresses ip doivent êtres limitées en 1 rafraichissement avant d'envoyer une alerte
titleAlert : "&cServeur sous attaque DDOS"
subTitleAlert : "&e%numberIP% &7adresses IP ont été limitées"
enableActionBar : false #Envoi une actionBar aux joueurs ayant la permission pinglimiter.alert quand une adresse est limitée.
actionBar : "&6%IP% &ra dépassée la limite de ping"
noPermission : '&cVous n''avez pas la permission d'utiliser cette commande'
configReloaded : "&aLa configuration a été rechargée"
enabledNotifications : "&aNotifications de DDOS activées"
disabledNotifications : "&cNotifications de DDOS désactivées"
consoleFilter : #Fortement recommandé d'activer le filtre afin de réduire le spam de la console et l'utilisation du CPU
enable : true #Peut ne pas fonctionner si un autre plugin sur votre bungee possède un système de filtrage de la console.
blacklist :
- "InitialHandler"
enable : true
#========================================================================================================================================
# Exemple si la refreshRate est définie sur 8 et la limit à 3 >>
# - La réponse envoyée à l'ip sera réduite si elle ping le serveur plus de 3 fois en 8 secondes.
# - Lorsque l'ip arrête de ping trop rapidement, elle est retirée des limites au prochain rafraichissement (ici 8 secondes)
# Sinon elle reste limitée jusqu'à ce qu'elle passe en dessous du seuille de limite.
#========================================================================================================================================
refreshRate : 8 #Temps de rafraichissement de l'analyse des ip (en secondes)
limit : 3 #Combien de fois une adresse ip peux ping avant d'etre limitée
serverIconOnlyFirstTime : true # (Fortement recommandé) Envoi l'icon du serveur uniquement une fois après chaque rafraichissement.
preventConnectByPing : false #Bloque la connexion si l'adresse ip n'as pas ping le serveur.
preventConnectByPingMsg :
- "&cConnexion bloquée"
- "&eMerci de ne pas utiliser Connexion Rapide"
- "&eAjoute notre serveur à ta liste de serveur"
- "§7Actualise ta liste de serveurs avant de te connecter"
preventConnectBySpam : false #Prevent connection if ip have spammed refresh (can prevent some bot connect)
preventConnectBySpamMsg :
- "&cN''actualise pas trop rapidement !"
- "&ePatiente %seconds% secondes avant de te connecter"
limitedRespond:
motd : '&cN''actualise pas trop rapidement !'
versionMessage : "&b&lServer&a&lName &8&l| &7%connecteds%&8/&7%maxPlayers%"
message : # NOTE: Le système d'alerte fonctionne uniquement si vous avez la permission pinglimiter.alert et si vous l'activez avec /pinglimiter alert
limitBeforeAlert : 100 #Combien d'adresses ip doivent êtres limitées en 1 rafraichissement avant d'envoyer une alerte
titleAlert : "&cServeur sous attaque DDOS"
subTitleAlert : "&e%numberIP% &7adresses IP ont été limitées"
enableActionBar : false #Envoi une actionBar aux joueurs ayant la permission pinglimiter.alert quand une adresse est limitée.
actionBar : "&6%IP% &ra dépassée la limite de ping"
noPermission : '&cVous n''avez pas la permission d'utiliser cette commande'
configReloaded : "&aLa configuration a été rechargée"
enabledNotifications : "&aNotifications de DDOS activées"
disabledNotifications : "&cNotifications de DDOS désactivées"
consoleFilter : #Fortement recommandé d'activer le filtre afin de réduire le spam de la console et l'utilisation du CPU
enable : true #Peut ne pas fonctionner si un autre plugin sur votre bungee possède un système de filtrage de la console.
blacklist :
- "InitialHandler"
IMAGES
Under attack without PingLimiter:
Under attack with PingLimiter:
Under attack with PingLimiter:
Quick facts
- Edition: Minecraft Java
- File type: .jar
- Minecraft versions listed: 1.8, 1.9, 1.10
- How to install: Install the matching mod loader (Forge, Fabric or NeoForge) for your Minecraft version. → Download the .jar. → Put it in the .minecraft/mods folder and launch that loader profile.
- Where to get it: Opens on Spigot — not every file is mirrored on our own servers.
Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.
PingLimiter - Protection against ServerListPing layer 7 attacks (Bungee/Waterfall) is a free Minecraft Java mod. Compatible with Minecraft 1.8, 1.9, 1.10, 1.11 and newer. Downloaded 2,899 times (via Spigot). Download it and open it directly in the game.