
IPDynamic
IPDynamic - Advanced IP Tracking & Alt Detection System for Minecraft Servers
IPDynamic 1.0.0
release11 января 2026 г.IPDynamic 1.0.0 - The Rebirth Update
A complete rewrite from the ground up.
What's New
This isn't just an update — it's a complete rebuild of IPDynamic with professional architecture, better performance, and features that actually work.
Major Changes
Database System
- NEW: SQLite database replaces JSON files
- NEW: WAL mode for better concurrent access
- NEW: Auto-adaptive schema (automatic updates, no data loss)
- REMOVED: JSON file storage (prone to corruption)
Performance
- NEW: Kotlin Coroutines for true async operations
- NEW: Zero TPS impact - all operations are non-blocking
- NEW: In-memory caching for bans and whitelist
- IMPROVED: GeoIP lookups are now fully asynchronous
IP Banning
- NEW: OP1 mode (
192.168.1.*) - blocks ~256 IPs - NEW: OP2 mode (
192.168.*.*) - blocks ~65,536 IPs - NEW: Temporary bans with duration support (30m, 12h, 7d, 4w)
- NEW: Automatic expired ban cleanup
- NEW: Custom ban screen for kicked players
- CHANGED: Replaced CIDR notation with simpler OP1/OP2 system
Alt Detection
- IMPROVED: Smart detection using UUID + Username verification
- IMPROVED: Works correctly on both online and offline mode servers
- FIXED: False positives when same player had different UUIDs
Whitelist System
- NEW: Mojang API UUID verification
- NEW: Dual verification (UUID + Username)
- NEW: Reason field when adding players
- IMPROVED: Reliable bypass for whitelisted players
Permissions
- NEW: Granular permission system (10+ permissions)
- NEW: Per-command permissions for fine-tuned access
- NEW: Tab completion respects permissions
- NEW: Help menu shows only available commands
- CHANGED: No longer requires OP for everything
Configuration
- NEW:
messages.yml- fully customizable messages - NEW: Custom ban screen design
- NEW: Placeholder support ({player}, {ip}, {reason}, etc.)
- REMOVED: Multiple language files (single English messages.yml)
- REMOVED: Discord webhook integration (may return in future)
Commands
- NEW:
/ipdy check <player>- Complete player profile - NEW:
/ipdy history <player>- Connection history - NEW:
/ipdy alts <player>- Alt account detection - NEW:
/ipdy ip <address>- Lookup accounts by IP - NEW:
/ipdy ban <op1|op2> <ip> [reason] [duration] - NEW:
/ipdy unban <pattern> - NEW:
/ipdy banlist- View active bans - NEW:
/ipdy whitelist <add|remove|list> - NEW:
/ipdy stats- Plugin statistics - NEW:
/ipdy reload- Reload configuration - CHANGED: Command aliases:
/ipdy,/ipd
Technical Details
- Language: Kotlin 1.9
- Async: MCCoroutine for Bukkit
- Database: SQLite with JDBC
- API: Paper API (compatible with Spigot)
Compatibility
| Version | Status |
|---|---|
| 1.17.x - 1.21.x | ✅ Supported |
| 1.13.x - 1.16.x | 🔜 Coming Soon |
Requirements:
- Java 17 or higher
- Paper or Spigot server
Migration Notice
⚠️ This version is NOT compatible with the old DEV version.
The entire data structure has changed. If upgrading:
- Backup your old IPDynamic folder
- Delete the old IPDynamic folder
- Install the new IPDynamic.jar
- Restart your server
Permissions
ipdynamic.* - Full access (default: op)
ipdynamic.check - /ipdy check
ipdynamic.history - /ipdy history
ipdynamic.alts - /ipdy alts
ipdynamic.ip - /ipdy ip
ipdynamic.ban - /ipdy ban
ipdynamic.unban - /ipdy unban
ipdynamic.banlist - /ipdy banlist
ipdynamic.whitelist - /ipdy whitelist
ipdynamic.stats - /ipdy stats
ipdynamic.reload - /ipdy reload
Known Issues
- None at this time
What's Next
- Support for 1.13.x - 1.16.x
- Discord webhook integration
- Web panel for management
- Import tool for old DEV version data
Thank you for using IPDynamic!
If you encounter any issues, please report them on GitHub.
IPDynamic 1.4.1
release21 октября 2024 г.Java Update
IPDynamic is compatible with Java versions 16 through 22. There is no support for lower versions java 8 or 11, but if you need a lower edition, feel free to contact me on Discord as SrCodex.
IPDynamic 1.4.0
release30 сентября 2024 г.Discord Webhook Delete the config.yml or add the option WebhookURL: "" below time-zone.
In the config.yml, you can set up a URL that will notify you when an IP is added to the blacklist (Only op1). Additionally, if a player with a blacklisted IP tries to join the server, the following information will be sent to the appropriate channel:
Username:
IP:
Alts:
Reason for blacklist:
Notification that they attempted to join the server.
For now, only one Discord webhook is supported to notify about attempts to connect with banned IPs, showing the account being used and any alts associated with that IP.
####################################
# Dynamic IP created by SrCodex
# Discord Tag SrCodex
#
#####################################
lang: "en" # ru (russian) | cn (chinese) | es (spanish) | en (english) | kr (korea)
time-zone: "America/Los_Angeles" # Default Time Zone WEB: https://timezonedb.com/
WebhookURL: "" # Discord Webhook URL
##########################################################
# Dynamic IP Penalty Option 2
# Read this before making changes
# To understand the new Ban OP2 system, you need to read this to get acquainted with what the new feature does. First and foremost, I have fixed an issue that was
# causing massive lag when applying a rank ban with option (OP2), as it was applying nearly 63,000 bans per second, resulting in significant lag.
# Therefore, I have divided the sanctions into 15 parts, with each part applying a ban to 4,392 accounts every 5 minutes. This will make the performance more stable.
# Once the IP range ban for option 2 starts, it will continue unless your server is turned off. So, how long should you wait? Option 2
# will apply a dynamic ban ranging from 0 to 255 on the last two digits, banning nearly 63,000 IPs, and this may take around 3-5 hours to complete.
#
# PERFORMANCE WARNING: The longer you set the ban time, for example, from 5 to 10 minutes, the higher the performance impact, but it will take longer for the ban system
# to apply restrictions to that dynamic IP. However, if you reduce the ban time from 5 minutes to 1 minute, it could cause very high lag and potentially crash the servers.
# If you still experience performance issues with a 5-minute ban, consider increasing the time to better suit your server’s needs.
##########################################################
ban-op2-minutes: 5 # Default 5 minutes
IPDynamic 1.3.8
release23 сентября 2024 г.You need to delete the config.yml & Message-RU.yml file to obtain the new content.
Improvements:
Now, when you request account data, it will display the date, time, and the real IP address used to register on the server for the first time. It will also show the last date of activity on the server.
Each disconnection will display the IP address used at the moment of disconnection, including the date and time.
Time Zone
We have now added a time zone feature that can be modified in config.yml to set the time zone for capturing specific date and time data for an account when they log in for the first time.
Message-RU.yml
A Russian player named Reizi updated the message in their native Russian language, so you now need to delete the current file to receive the new content.
IPDynamic 1.3.7
release22 сентября 2024 г.IPDynamic Alts, help command visually updated
We have improved the display of the alt accounts and added a blacklisting system that will show up when requesting account data to check if a previous IP is on the blacklist. Additionally, we enhanced the symbols used in messages.
We also updated the help menu to make it more visually appealing
