IPDynamic icon

IPDynamic -----

Block the dynamic IPs of malicious players.




Plugin Free is back!!!!
----------, Dec 19, 2024

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.​
----------, Oct 21, 2024

Bug fixes.
For some reason, if the plugin is added to a "proxy" network on a specific server like the Lobby or Auth, when a banned IP enters the server, it sends 7 messages to Discord with the player’s data instead of just 1 message.

This has been fixed; it will now check the player's entry every 10 seconds. This means if a player enters, their data will be sent only once, and after 10 seconds, a new notification can be sent if they try to enter again, preventing duplicate messages.

This issue occurs only if the IPDynamic is added to a "bungee/proxy" network, but just to be safe, the entire problem has been addressed.

Discord Webhook - a notification has been added for when an IP is removed from the blacklist or when a player is added to the whitelist to evade penalties.

P.S.: The plugin is still only for standalone servers, not for "Bungeecord and more," and I don’t foresee doing this in the future due to security concerns.
But you can add the plugin to your lobby in your "proxy" network and apply the penalties from the lobby.
----------, Oct 1, 2024

Bug fixes.
For some reason, if the plugin is added to a "proxy" network on a specific server like the Lobby or Auth, when a banned IP enters the server, it sends 7 messages to Discord with the player’s data instead of just 1 message.

This has been fixed; it will now check the player's entry every 10 seconds. This means if a player enters, their data will be sent only once, and after 10 seconds, a new notification can be sent if they try to enter again, preventing duplicate messages.

This issue occurs only if the IPDynamic is added to a "bungee/proxy" network, but just to be safe, the entire problem has been addressed.

Discord Webhook - a notification has been added for when an IP is removed from the blacklist or when a player is added to the whitelist to evade penalties.

P.S.: The plugin is still only for standalone servers, not for "Bungeecord and more," and I don’t foresee doing this in the future due to security concerns.
But you can add the plugin to your lobby in your "proxy" network and apply the penalties from the lobby.
----------, Oct 1, 2024

I've removed all the images (ASCII art) except for the plugin loading screen. This is to make it look more professional when applying a sanction and for other reasons.​
----------, Sep 30, 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.

Code (YAML):
####################################
#    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
----------, Sep 30, 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.
----------, Sep 23, 2024

I've visually corrected the alts command, as it was marking all the IPs associated with the account as blacklisted when they weren't.
----------, Sep 22, 2024

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
----------, Sep 22, 2024

I’ve added an enhancement to retrieve account information, which will now be displayed in a more detailed and well-organized manner.​
----------, Sep 20, 2024

It is recommended to delete the config.yml to set up the new configuration.

Changes and Improvements
We have improved the optimization of using op2. Now, after applying a ban, there will be a pause during which mass banning will stop for a period of time while the IPs being blacklisted are processed. This can be customized in the config.yml; I recommend setting it to 5 minutes or more for better performance.

If the bans exceed 7000 IPs per second, there will be a random interruption in the banning process to stabilize and process the sanctions.

Now, op1 can ban a dynamic IP from 0 to 255 in 2-3 seconds without crashing the server.

Additionally, both systems operate on separate threads to prevent saturation of the main thread when applying mass bans, especially when using op2.
----------, Sep 18, 2024

Performance Improvement (op1 - HOTFIX)
I strongly recommend not using op2; only use it as a last resort. However, here are all the changes.

I recommend reading everything before using (op2)
Delete the
config.yml file to apply the op2 enhancement. If you don't delete it, you will encounter performance issues.


/ipdynamic op1 <ip> <reason> (Recommended)

Warning:
This method is more stable and recommended. You only need to add the player's IP, and a dynamic ban will be applied specifically to that IP. This approach is more effective if the player switches to a new dynamic IP; simply copy their new IP, and you will block all access to the server by applying the ban to the last digit of their IP.

Note: If the player continues to change their IP address after 2 bans, you can reapply their 3rd ban. If they bypass the ban again, you can use the option 2 ban as a last resort. This method is more complex and risky but will block an entire dynamic IP range based on the last 2 digits. I recommend reading about option 2 for more details.

/ipdynamic op2 <ip> <reason> (Not Recommended) (As a last resort)

Warning:
This option is a last resort if (op1) still allows some people to bypass bans by not only changing the last digit but also the penultimate digit. For example, with (op1), a ban might cover 127.0.0.* but users can evade it by changing their IP to 127.0.1.1, thus bypassing the (op1) ban. Even if you reapply the restriction to that IP and they bypass it again, the purpose of option 2 is to blacklist the last two digits as a final measure. This blacklists IPs in the range from 0 to 255, completely blocking access to that IP, but be aware that this may affect multiple players in the process.
----------, Sep 18, 2024

I recommend reading everything before using (op2)
Delete the config.yml file to apply the op2 enhancement. If you don't delete it, you will encounter performance issues.

/ipdynamic op1 <ip> <reason> (Recommended)

Warning:
This method is more stable and recommended. You only need to add the player's IP, and a dynamic ban will be applied specifically to that IP. This approach is more effective if the player switches to a new dynamic IP; simply copy their new IP, and you will block all access to the server by applying the ban to the last digit of their IP.

Note: If the player continues to change their IP address after 2 bans, you can reapply their 3rd ban. If they bypass the ban again, you can use the option 2 ban as a last resort. This method is more complex and risky but will block an entire dynamic IP range based on the last 2 digits. I recommend reading about option 2 for more details.

/ipdynamic op2 <ip> <reason> (Not Recommended) (As a last resort)

Warning:
This option is a last resort if (op1) still allows some people to bypass bans by not only changing the last digit but also the penultimate digit. For example, with (op1), a ban might cover 127.0.0.* but users can evade it by changing their IP to 127.0.1.1, thus bypassing the (op1) ban. Even if you reapply the restriction to that IP and they bypass it again, the purpose of option 2 is to blacklist the last two digits as a final measure. This blacklists IPs in the range from 0 to 255, completely blocking access to that IP, but be aware that this may affect multiple players in the process.
----------, Sep 18, 2024

We've changed the API we used to get information about a player's IP when verifying their account

We’ve added a new feature to the /ipdynamic alts <player> command. As you know, this command filters all IPs that have been used with that account, whether it's from lending the account to a friend or if someone else tries to log in with that account. Every IP is logged.

Now, we've introduced an additional feature: a section called " Connections." This will show you the IPs that the player has been using to log in. This enhancement will help you identify which IP the player uses most frequently, giving you a 90% certainty of their primary IP address.

Example

127.0.0.1 | Alts: 0 | Connections: 15 | Country: Chile <- Here we see that with this IP, the player logged in 15 times, which obviously indicates that it is their main IP.

127.0.0.2 | Alts: 0 | Connections. 3 | Country: Chile <- Here we see that with this IP, the player logged in 3 times, which could be a friend or someone who tried to access their account.
----------, Sep 13, 2024

We’ve added a new feature to the /ipdynamic alts <player> command. As you know, this command filters all IPs that have been used with that account, whether it's from lending the account to a friend or if someone else tries to log in with that account. Every IP is logged.

Now, we've introduced an additional feature: a section called " Connections." This will show you the IPs that the player has been using to log in. This enhancement will help you identify which IP the player uses most frequently, giving you a 90% certainty of their primary IP address.

Example

127.0.0.1 | Alts: 0 | Connections: 15 | Country: Chile <- Here we see that with this IP, the player logged in 15 times, which obviously indicates that it is their main IP.

127.0.0.2 | Alts: 0 | Connections. 3 | Country: Chile <- Here we see that with this IP, the player logged in 3 times, which could be a friend or someone who tried to access their account.
----------, Sep 13, 2024

I have fixed a translation issue across all languages except Russian and improved the visual quality of some features.

GeoIP is working quite well overall, though there are occasional dropouts. It shows all the data, but sometimes it fails to display the country of the IP address of the connecting player. This will be patched in a future update.
----------, Sep 12, 2024

IPDynamic has received an update in several languages, including Russian, which was translated by Reizi.
----------, Sep 11, 2024

We’ve added %username% to specify the player's name when requesting account data. You can customize the message in the messages file.

This is only valid for the alts section.
----------, Sep 10, 2024

Exciting Plugin Update!

We’re thrilled to announce that our plugin now supports multiple languages for a more inclusive and personalized experience. With this update, you can interact with the plugin in the following languages:

  • Chinese (中文) (cn)
  • Spanish (Español) (es)
  • English (English) (en)
  • Korean (한국어) (kr)
  • Russian (Русский) (ru)

What does this mean for you?

  • Multilingual Interface: You can now use the plugin in your preferred language, making the experience much more comfortable and accessible.
  • Easy Customization: All languages are organized in editable files within the messages folder. This allows you to customize the messages according to your needs and preferences.
To change the language, simply adjust the settings in the config.yml file or use the plugin's configuration command. It’s that easy!

We are committed to making your experience as smooth as possible and hope these new languages enhance your enjoyment of the plugin. Thank you for your continued support!
----------, Sep 9, 2024

Fixed a visual problem with a specific message in English.
----------, Sep 9, 2024

I've removed the Spanish language and focused on English. Although it may not be 100% accurate, you can customize the messages from the messages folder in the message-en.yml file.
----------, Sep 9, 2024

I've removed the Spanish language and focused on English. Although it may not be 100% accurate, you can customize the messages from the messages folder in the message-en.yml file.​
----------, Sep 9, 2024


Now you can use IPDynamic for newer versions, if you find a bug feel free to leave it in the discussion.
----------, Sep 9, 2024

The alts system was added to the help command, and the alts command was added to the autotab.
----------, Sep 9, 2024

[Update v1.2.7] - Improved Alts Detection and GeoIP

  • Enhanced Alts Detection:
  • Real-time display of all accounts (alts) associated with both previous and current IPs of a player.
  • Provides a complete list of players who have used the same IPs, making it easier to detect alternate accounts.

  • GeoIP:
  • Added country detection for each registered IP. Each IP will now show the country from which the player connected, providing more information about player locations.
----------, Sep 9, 2024

A message that was very poorly placed was accommodated.​

----------, Sep 7, 2024

Sanctions are now being applied 1000% faster
----------, Sep 7, 2024

Resource Information
Author:
----------
Total Downloads: 312
First Release: Sep 6, 2024
Last Update: Dec 19, 2024
Category: ---------------
All-Time Rating:
3 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings