Skip to content

teaminfinitydev/AntiDDoSPro

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AntiDDoSPro

AntiDDoSPro Banner

Version License Java Paper

Advanced DDoS protection for Minecraft servers

FeaturesInstallationCommandsConfigurationGeoIP SetupSupport

📋 Features

AntiDDoSPro provides comprehensive protection against Distributed Denial of Service (DDoS) attacks and connection spam for Minecraft servers:

  • Connection Rate Limiting - Prevent connection spam from individual IP addresses
  • Advanced IP Filtering - Whitelist trusted IPs and blacklist malicious ones
  • Country-Based Blocking - Block connections from specific countries
  • Username Validation - Filter out invalid or suspicious usernames
  • Auto-Blacklisting - Automatically blacklist repeat offenders
  • Admin Notifications - Get real-time alerts about potential attacks
  • Detailed Logging - Track and analyze attack patterns
  • GeoIP Integration - Identify the country of origin for connections
  • Low-Impact Performance - Efficient design with minimal server overhead

💾 Installation

Requirements

  • Java 21 or newer
  • Paper 1.21.1 or newer

Steps

  1. Download the latest release from the releases page
  2. Place the JAR file in your server's plugins directory
  3. Restart your server
  4. The plugin will automatically create its configuration files and extract the GeoIP database

🔧 Commands

Command Description Permission
/antiddos reload Reload the configuration antiddos.admin
/antiddos status Check the plugin status antiddos.admin
/antiddos whitelist add <ip> Add an IP to the whitelist antiddos.admin
/antiddos whitelist remove <ip> Remove an IP from the whitelist antiddos.admin
/antiddos whitelist list List all whitelisted IPs antiddos.admin
/antiddos blacklist add <ip> Add an IP to the blacklist antiddos.admin
/antiddos blacklist remove <ip> Remove an IP from the blacklist antiddos.admin
/antiddos blacklist list List all blacklisted IPs antiddos.admin
/antiddos country add <code> Block a country by ISO code antiddos.admin
/antiddos country remove <code> Unblock a country antiddos.admin
/antiddos country list List all blocked countries antiddos.admin
/antiddos country enable Enable country filtering antiddos.admin
/antiddos country disable Disable country filtering antiddos.admin
/antiddos checkplayer <name> Check a player's country antiddos.admin
/antiddos update Check for plugin updates antiddos.admin

⚙️ Configuration

The main configuration file is located at plugins/AntiDDoSPro/config.yml. Here are the key settings:

Connection Limits

connection-limits:
  # Maximum connections from a single IP within the time window
  max-connections-per-ip: 3
  
  # Time window in seconds to track connection attempts
  time-window-seconds: 10
  
  # Temporary ban duration in minutes
  temp-ban-duration-minutes: 5

Attack Detection

detection:
  # Connection threshold that triggers rate limiting
  connection-threshold: 5
  
  # Threshold for automatic blacklisting
  auto-blacklist-threshold: 3

IP Filtering

ip-filtering:
  # Enable IP whitelisting
  enable-whitelist: false
  
  # Enable IP blacklisting
  enable-blacklist: true

GeoIP Settings

geoip:
  # Enable country-based filtering
  enable: true
  
  # List of country codes to block
  blocked-countries:
    - "RU"
    - "CN"
    - "KP"

Notifications

notifications:
  # Notify administrators when attacks are detected
  notify-admins: true
  
  # Log attack attempts to the server log
  log-attacks: true

🌎 GeoIP Setup

AntiDDoSPro comes with the GeoLite2 Country database pre-packaged, so country-based filtering works right out of the box. The database will be automatically extracted to your plugin's folder when the server starts.

Updating the GeoIP Database

To update the GeoIP database:

  1. Download the latest GeoLite2-Country.mmdb from MaxMind
  2. Replace the file in plugins/AntiDDoSPro/GeoLite2-Country.mmdb
  3. Run /antiddos reload to load the new database

📊 Screenshots

Console Output Plugin startup message in server console

Command Usage Using the AntiDDoS commands in-game

🔔 Support

If you encounter any issues or have questions about AntiDDoSPro:

👥 Contributing

We welcome contributions to AntiDDoSPro! Here's how you can help:

  1. Fork the repository
  2. Create a new branch (git checkout -b feature/your-feature)
  3. Commit your changes (git commit -m 'Add some feature')
  4. Push to the branch (git push origin feature/your-feature)
  5. Open a Pull Request

Please ensure your code follows the existing style and includes appropriate tests.

📄 License

AntiDDoSPro is licensed under the MIT License. See the LICENSE file for details.

👏 Credits

  • Developed by: Chamika Samaraweera
  • GeoIP data: This product includes GeoLite2 data created by MaxMind, available from https://www.maxmind.com

Made with ❤️ by Chamika Samaraweera

Web Twitter Follow

About

Advanced DDoS protection for Paper Minecraft Servers

Resources

License

Stars

Watchers

Forks

Sponsor this project

  •  

Packages

No packages published