IPDynamic icon

IPDynamic -----

Block the dynamic IPs of malicious players.




IPDynamic
Advanced IP Tracking & Alt Detection System

v1.0.0 | Complete Rewrite | IPDynamic 2.5-DELTA RIP <3
>>> COMPLETELY REDESIGNED FROM SCRATCH <<<

What's New in This Version?

This is a complete rewrite of IPDynamic with a professional architecture:

  • SQLite Database - No more JSON files! All data is now stored in a proper database with automatic schema management.
  • Kotlin + Coroutines - Modern async architecture that won't lag your server. Zero TPS impact.
  • Auto-Adaptive Schema - Database automatically updates itself with new plugin versions. No data loss, no manual migration.
  • Better Alt Detection - Improved algorithm with UUID + Username verification for accurate alt detection.
  • IP Range Banning - Two powerful modes: OP1 (x.x.x.*) and OP2 (x.x.*.*) for flexible IP blocking.
  • Whitelist System - Allow trusted players to bypass IP bans with Mojang UUID verification.
  • Fully Customizable Messages - Every message can be customized via messages.yml
  • Granular Permissions - Give moderators exactly the access they need.
  • Multi-Version Support - Works on Paper/Spigot 1.17.x to 26.1.x

Old Version (DEV) New Version (1.0.0)
JSON file storage SQLite Database with WAL mode
Synchronous operations Async Coroutines - Zero TPS impact
Manual data migration Auto-adaptive schema - Just update!
Basic alt detection Smart detection with UUID verification
CIDR notation only OP1/OP2 modes - Easy to use
Hardcoded messages Full messages.yml customization
Single permission 10+ granular permissions

Important Migration Notice
This version uses a completely new data format (SQLite).
If upgrading from DEV version, your old data will NOT be migrated.
Delete the old IPDynamic folder before installing.

Features

Advanced IP Tracking
Every player connection is recorded with full details:
  • IP Address & Country (GeoIP)
  • First connection date
  • Total connection count
  • Complete IP history per player

Smart Alt Detection
Automatically detect alt accounts by analyzing shared IPs:
  • Cross-reference all player IPs
  • UUID + Username verification (handles offline/online mode)
  • View all accounts that used a specific IP

Powerful IP Banning
Two flexible ban modes:
Code (Text):

OP1 Mode: 192.168.1.* (blocks ~256 IPs)
OP2 Mode: 192.168.*.* (blocks ~65,536 IPs)
 
  • Temporary or permanent bans
  • Custom ban reasons
  • Automatic expired ban cleanup
  • Beautiful ban screen for kicked players

Whitelist System
Allow trusted players to bypass IP bans:
  • Mojang API UUID verification
  • Works with both online and offline mode servers
  • Dual verification (UUID + Username)

Commands

Main command: /ipdynamic (aliases: /ipdy, /ipd)

Information Commands
Code (Text):

/ipdy check <player>       - View complete player profile with IP history and alts
/ipdy history <player>     - View player's connection history
/ipdy alts <player>        - List all detected alt accounts
/ipdy ip <address>         - Find all accounts that used a specific IP
/ipdy stats                - View plugin statistics
 
Ban Management
Code (Text):

/ipdy ban <op1|op2> <ip> [reason] [duration]  - Ban an IP range
/ipdy unban <pattern>                          - Remove an IP ban
/ipdy banlist                                  - View all active bans
 
Duration Examples: 30m, 12h, 7d, 4w (no duration = permanent)

Whitelist Management
Code (Text):

/ipdy whitelist add <player> [reason]  - Add player to whitelist
/ipdy whitelist remove <player>        - Remove from whitelist
/ipdy whitelist list                   - View all whitelisted players
 
Administration
Code (Text):

/ipdy reload  - Reload configuration
/ipdy help    - Display help menu
 

Permissions

Code (Text):

ipdynamic.*           - Full access to all commands (default: op)

# Query Commands (for Moderators)
ipdynamic.check       - /ipdy check
ipdynamic.history     - /ipdy history
ipdynamic.alts        - /ipdy alts
ipdynamic.ip          - /ipdy ip

# Ban Commands (for Admins)
ipdynamic.ban         - /ipdy ban
ipdynamic.unban       - /ipdy unban
ipdynamic.banlist     - /ipdy banlist

# Whitelist Commands
ipdynamic.whitelist   - /ipdy whitelist (add/remove/list)

# System Commands
ipdynamic.stats       - /ipdy stats
ipdynamic.reload      - /ipdy reload
 
Example Setup (LuckPerms):
Code (Text):

# For Moderators - Query access only
/lp group mod permission set ipdynamic.check true
/lp group mod permission set ipdynamic.history true
/lp group mod permission set ipdynamic.alts true
/lp group mod permission set ipdynamic.ip true

# For Admins - Full access
/lp group admin permission set ipdynamic.* true
 

Configuration

Code (Text):

# Plugin prefix
prefix: "&b&lIPDynamic &8|- "

# Ban screen shown to banned players
ban-screen:
  lines:
    - "&c&lIPDynamic &8|- &fIP Range Ban"
    - ""
    - "&7Your IP has been banned from this server."
    - "&7IP Address: &f{ip}"
    - "&7Banned Range: &c{pattern}"
    - "&7Reason: &f{reason}"
    - "&7Duration: &f{duration}"

# All messages are fully customizable!
commands:
  no-permission: "&cYou don't have permission."
  player-not-found: "&cPlayer not found in database."
  # ... and many more
 

Installation

  1. Download IPDynamic.jar
  2. Place in your server's /plugins folder
  3. If upgrading from DEV version: Delete old IPDynamic folder first!
  4. Restart your server
  5. Configure messages.yml if needed
  6. Set up permissions for your staff

Requirements

  • Server: Paper or Spigot
  • Version: 1.17.x - 1.21.x
  • Java: 17 or higher

Support

  • Found a bug? Open an issue on GitHub
  • Need help? Leave a message in the discussion
  • Like the plugin? Please leave a review!

Protect your server with IPDynamic!

Made with care by SrCodex
[​IMG]
Resource Information
Author:
----------
Total Downloads: 1,090
First Release: Sep 6, 2024
Last Update: Jun 19, 2026
Category: ---------------
All-Time Rating:
6 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings