Legacy Change logs

 2.0.0 Change Log

 v2.0.0

 

This change-log consists of features which have already been introduced into IPC / completed. It will be updated as development continues. IPC 2.0.0 Change Log:

  • Rewrote IPC from scratch to be in compliance with new in-house development library (RP-Commons 1.01). All code is now up-to-date and all dated code has been removed from the plugin.
  • Player Logger rewritten. The logger has been switched from a two-part system to a one-part system. This will improve reliability of the logger and prevent possible data-swappage (when a player is logged with the information of another) when multiple players log in at the same time.
  • Report Refinements. Fixed duplicate account entries for a given IP-Set as well as duplicate IP-Sets in a report. The list formatting that was present in /ipc scan (gave the result list proper punctuation and grammar) has been implemented in the Report result listings for ease of readability.
  • SQL Backend changes. Due to the implementation of RP-Commons and the subsequent rewrite of the SQL backend, the backend is now injection proof. Additionally, a move has been made to store all data in lower-case format from this time onward. This will have no affect on your existing databases.
  • Removed forced punctuation from ban messages (whenever a ban message was passed to /ipc ban, a period would be added to it).
  • Added Notifications for /ipc kick. Essentially the same format as the notifications given for ./ipc ban
  • Added permission ipcheck.seekick. Required to see kick notifications.
  • All Broadcast Notifications (Kick, Ban and other) are now logged to the Console, and thus saved to the server logs.
  • Added ability to specify ban message on /ipc banall
  • Changed syntax of /ipc banall to be more-to-the-point. The new syntax is /ipc banall <START_TIME> <STOP_TIME | now> [MESSAGE]. If you would like to ban all accounts from the Start Time up until the current moment in time, the 'now' keyword can be used in place of STOP_TIME.
  • /ipc banall can now be disabled via configuration option "should-manage-bans".
  • The use of /ipc banall now requires having the permission ipcheck.ban as well as ipcheck.banall.
  • /ipc sban can now be disabled via configuration option "should-manage-bans".
  • Added Exemption Status checking to IPObjects and UserObjects. Given this, Usernames and IP-Addresses which do not exist in the database can no longer be exempt. Additionally, if you attempt to exempt a Username or IP-Address which is already exempt, a message will be returned stating that no accounts were modified, just as ./ipc ban does when you attempt to ban an account which is already banned.
  • Reformatted /ipc exempt-list. Individual tallys are now given for IP exemptions and Player exemptions. Headers are in gold and tally counts are in red, with listing information in yellow. Additially, the List Formatter used on /ipc scan and check reports is now utilized with exempt-list as well, adding proper punctuation and grammar to the lists.
  • Removed Hide Command, it's configuration option and it's associated functions due to poor implementation.
  • Removed permission ipcheck.override.
  • Removed configuration option ban-state-synchronized due to a new implementation scheme.
  • Removed configuration option logging-date-stamp-format due to never being implemented.
  • Added Active Mode. When enabled, any new accounts that are made on your server which are linked to a banned IP address will automatically be banned. (This will work regardless of whether the IP is banned with Bukkit or not.)
  • Added configuration option warn-on-rejoin-attempt. This will show a notification whenever a banned player attempts to join your server.
  • Added ability to exempt players and IPs from the rejoin warning in an effort to cut down on potential spamming of the message.
  • Modified /ipc exempt. When a player is exempt now, IPC will prompt you to select which type of Exemption you would like to add. There are currently two types of exemptions: Login Exemption (The original exemption) and Rejoin-Warn Exemption. This change applies to /ipc unexempt as well.
  • On reports generated for banned players, the report will indicate whether IPC will issue a rejoin-warning for that particular player or not.
  • Implemented Local Plugin Statistics. During operation, the plugin will monitor certain functions of it's usage, and allow you to view them at whim. This information is reset when the server is shut down / reloaded, and is not collected in any way, shape or form.
  • Added command /ipc status. This command allows you to view Plugin Statistics.
  • Implemented GeoIP Services. GeoIP Services allow IPC to look up where an IP-Address originates from (in this case, specifically, IPC is looking at the originating country.) This will allow IPC to report player location to staff and allow for implementation of a country blacklist. Additionally, IP Reports will also display Location as well.
  • Added configuration option use-geoip-services. This option acts as a global control for all functions involving GeoIP Services.
  • Added configuration option use-country-blacklist. This option acts as a control for the Country Blacklist. If you attempt to add or remove a block from the black-list while this option is disabled, you will receive a warning.
  • Added configuration option country-blacklist. This option stores all countries which are blocked from joining your server.
  • Added configuration option blocked-message. This is the message that will be displayed to players who attempt to join from blocked countries.
  • Added command /ipc block <COUNTRY_ID | help>. Entering a valid country or country ID will add the country to IPC's blacklist. Typing help will provide you with a list of Countries and their corresponding IDs.
  • Added command /ipc unblock <COUNTRY_ID | help>. Entering a valid country or country ID which exists in IPC's blacklist will unblock the country. Typing help provides the same functions as /ipc block help.
  • Added command /ipc protect <PLAYER>. Protecting a player prevents them from being banned through IPC commands. This is useful in the event that you ban a player who has attempted to log on as a protected player, and will prevent the protected player being banned.
  • Added command /ipc unprotect <PLAYER>. Removes protection status from player.
  • Added field "Last Login" to Player Report. This will display the amount of time that has passed since the player being checked has (attempted to) log(ged) on to your server, formatted as " Days, Hours, Minutes, Seconds."
  • Added command /ipc modban <PLAYER> <MESSAGE>. This command allows you to modify the ban message of any banned player without having to first unban them.
  • Updated Metrics to R7.

Update #8 Change Log (1.5.0 - 1.5.2)

1.5.0

  • Updated Error Logger to place error_reports in the plugin's data folder, regardless of where the plugins folder is at on the server.
  • Removed the code for the Convert Command. All references to this command have been removed.
  • Omitted "More information about..." line in Player Report, as this was deemed unnecessary.
  • Fixed minor formatting bugs with the Report; result Lists are now properly punctuated.
  • Added Update Checker so that Operators, as well as players with the proper permission, will now be informed of any new updates for the plugin. This checking can be disabled via the configuration.
  • Added Permission node "ipcheck.update" so that players who are not Operators may be informed of plugin updates.
  • Added Metrics monitoring.
  • Added highly requested Scan Command. This command allows you to scan all online players at once and see which ones have multiple accounts.
  • Added Permission node "ipcheck.scan" for use with Scan Command.
  • Added more random messages.

1.5.1

  • Fixed an error in which the Updater Checker incorrectly parsed it's RSS input, causing the plugin to falsely alert server administrators of an update.
  • Updated out-of-date build dependencies. Built using the latest Bukkit API.
  • File name changed to IP-Check-Core in preparation for an upcoming update. This name will no longer change.

1.5.2

Sorry about the lack of updating, lately. Been busy with real life and all the other things. Hope you guys understand.

  • Added Batch Ban: This command allows you to ban all players within a specified time-frame. So if, for example, your server comes under a spam-bot attack like mine did recently, you'll be able to ban the entire attack in one command.
  • Added Batch Unban: Performs the opposite of the above command.
  • After much, much, much, MUCH asking, the root command of the plugin has been changed from ./c to ./ipc. This is the final time the command will be changed. All future requests for a command change will be ignored.
  • Removed debug messages left over from development of 1.5.0 and 1.5.1.
  • Fixed Major potential resource leak in the Database Manager involving ResultSets.
  • Internal Changes to Banning Code have been made for performance boosts in certain commands. IPobjects and UserObjects both have had an isBanned flag added. What this essentially does is cut down on the number of read/write operations performed on the database per command, as well as provide redundancy for the prevention of ban overlapping (the same account being banned multiple times per command). AKA accounts which are already banned cannot be banned again.
  • Localization Overhaul: All text within the plugin excluding the plugin name, keywords and dynamically generated text are now localizable. A template locale document will be made available soon.
  • Corrected system-wide discrepancies where the isBanned bit stored within the database was never utilized. This could potentially lead to the isBanned flags in IP-Check's database being out of synchronization with Bukkit. In order to correct this, the plugin will perform a manual synchronization of the database with Bukkit on first load (or when you update). This synchronization can be performed at any time by changing the ban-state-synchronized flag in the configuration to false, which will trigger the synchronization on next load. This should only have to be performed once, however. This issue was never noticed in any of the prior builds because IP-Check in the past has received information on bans directly from Bukkit.
  • Ban Messages fix. Ban messages would only display to the player when they were kicked. Afterwards, if the banned player were to attempt to rejoin, they would be kicked with the default "Ban Hammer" message. This has been corrected so as to always show the ban-reason specified.
  • More Load-time Messages! :)

A lot of work goes into making this plugin. If this plugin helps you manage your server, please consider donating to the developer using the link at the top-right of this web-page. :)


 Update #7 Change Log (1.4.0 - 1.4.0_2)

1.4.0

Changes:

  • Added Support for MySQL and SQLite - You can switch which database you'd like to use from the configuration.
  • Dropped support for database system introduced in 1.3.0 - Due to differences between the two systems, there is no feasible way to port information from one database to another, and doing so causes duplicate entries and other anomalies.
  • Dropped Convert Command - It is no longer needed.
  • Added Localization Support - IP-Check can now be ported to any language. The plugin comes equipped with English and German (English is default).
  • Switched from .txt to .yml configuration
  • Refined Report Function - Dropped "Last Known" tag. The report now filters out all duplicate entries across multiple IPs and only counts unique names when displaying a tally for alternate accounts. This filtering is also applied to Login Checks.
  • Ban / Unban Reports have been made more Compact - Previously, performing a ban of an IP would spam chat with the multiple ban messages. This has been changed so that one message is sent regardless of how many players are banned.
  • Updated Secure Mode - Secure mode now discriminates when it blocks multi-accounters. Depending on the threshold specified, a player may have, up to that threshold, a set number of accounts, and all accounts made after meeting that threshold will be banned. The accounts made before, however, will still be playable.
  • Added the ability to disable Ban/Unban/Kick Commands from Configuration.

1.4.0_1

Bug Fix: Fixed syntax error with MySQL backend which prevented logging of entries.

A lot of time and effort went into making this plugin, and donations are appreciated. :) If you'd care to donate, there's a donation button at the top-right corner.

1.4.0_2

  • Report now shows all logged IPs for a player, however reports still filter account results
  • Added Last Known IP Field to Report
  • Fixed bugs with unexempt command

 Update #6 Change Log (1.3.0_1)

1.3.0_1

Changes:

  • - A New Database System:
    The new system is hard disk based, as the original system was, but, it is highly fragmented, allowing it to only pull the files it absolutely needs while running. This cuts down on RAM usage while still performing well. This is also the only logging database system supported by IP-Check now, making both current backends for IP-Check obsolete. New Features of this database design include:
    • - Cross-IP Logging
    • - Last Known IP Tracking
    • - Performance Increase
    • - Ease of Readability
    • - Simplification of Code

      In order to keep transfer your current database over to the new format, the "/C Convert" command has been modified to do this. Using this command will automatically convert your flat-file database to the new format. (NOTE: On average, conversion time takes approx. 1 second per 500 logs.) If you were using the Essentials Backend, please read further down.

  • - Totally dropped support for Essentials:
    The Essentials backend manager was experiencing severe problems, as well as difficulties in reading and managing the multitudes of files used by it in memory. As a result, support for Essentials was completely dropped, except for converting from Essentials to the new Database format, allowing you to keep your records of players. To convert your Essentials database, you simply need to perform the command "/C Convert -e".

  • - Removed the several unused options from the Config.txt file

  • - Bug Fixes:
    • - Fixed IP-Check losing track of player logs and not properly associating players and IPs until the plugin was reloaded
    • - Fixed IP-Check not alerting when a player exceeded the number of alternate accounts specified in the configuration
    • - Fixed IP-Check falsely alerting about players who did not meet the threshold required to be alerted for

  • - Other Details:
    • - Ban Command:
      The ban command itself has not had any changes made to it. When performed using a player name, it will ban the LAST KNOWN IP for the player, and all accounts associated with that IP. When banning an IP, the command will still ban all accounts associated with the IP specified. The same goes for Unban. In order to ban all IPs and the associated players, you must perform the command for each IP-Address. This is to prevent the plugin from possibly encountering a 'domino effect' and potentially banning a large number of innocent people.

    • - Kick:
      The kick command behaves similarly to the ban command, in that it only kicks using the last known IP.

      -
      Player/IP Reports:
      Reports have been modified so that, when performing a check on a player, the report will show separate lists for each IP-Address the player is associated with. As such, the lower sector of the report (which shows 'player banned', 'player exempt', etc.), has been truncated. Player specific fields are now only shown for Player Reports, and vice versa for IP Reports.

      When checking a player, you will notice that there is always one IP which contains "-L" next to it. The "-L" tag indicates that the IP was the Last Known IP for the player.

    • - Player Name Auto Complete:
      Due to the nature of the new database system, the ability for IP-Check to "guess" a playername that you may be searching for has been removed. This is both a good thing and a bad thing, as it was causing some player searches to fail, but it also provided the possibility for the plugin to guess what name you were trying to search.
  • A lot of work went into this update, and donations are always appreciated. :) If you are interested in donating to IP-Check, there's a convenient Donate button in the top right-hand corner of this page.

 Update #5 (1.2.6)

1.2.6

  • Added a new Error Reporting System - When an internal error occurs, the plugin will now save a log of the error to the plugin's directory under a folder named "Error_Reports".
  • Added a help command - type "/c help" to view in-game help.
  • Fixed a serious bug in 1.2.5 - Fixed a bug in which 1.2.5 failed to generate a required file (exempt.lst) on first start if you had never run the plugin before.

NOTE: This is a development release, which means there may be bugs, errors, references made to upcoming updates, and possible features included which may or may not work at this time. Functionality and bug-fixes will come over-time.


 Update #4 Change Log (1.2.1 - 1.2.5)

1.2.5

  • Increased the extent of which the 'ipcheck.showip' permission covers. Now extends to the exempt-list commands, as well as the detailed login-notification (previously only excluded the IP-address from the report. This permission now effectively hides all traces of IP-addresses from players who are lacking it.)
  • Fixed a plugin breaking bug involving the configuration parsing. The bug causes the plugin to fail to parse all of it's boolean settings, causing them all to default to "false". This bug will leave your server vulnerable to mutlaccounters and 1.2.4 WILL NOT notify you.
  • Fixed a major bug in which the exempt-list commands required no permissions to use.
  • Changed some of the arguments used by the "/c toggle" command. To toggle Login-Notifications, the arguments are "login-notify, notification, and notify", and to toggle detailed notifications, the arguments are now "detail-notify, detail, and dn".
  • (Undocumented 1.2.4 Change) The configuration updater has been made future proof, so that it will work regardless of what features are added in the future. A side-effect of this, the configuration file has been split into two respective files, "config.txt" which contains all of the options you can change about the plugin, and "Exempt.lst", which contains off of the player exemptions for the plugin. This change does not effect your settings or exemptions, and they are protected.

1.2.4 - UPDATE HAS BEEN PULLED FROM DOWNLOAD. (It's changes carry over into 1.2.5, though.)

  • Added permission node "ipcheck.showip". The check report will now only display an IP-address if the player who issued the command has this permission or is an operator.
  • Change to the exempt-list command. The command to show the full exemption list is now simply "/c exempt-list".
  • Modified the output format for the exempt-list commands. The output now takes up less space and is formatted to match the other commands.
  • (1.3.0 change) Rewrote the command branch to be more compact. Now operates using a CommandID system. This change allows for more specific error reporting as far as user input goes, makes the code more compact and manageable, and is planned for use in the upcoming logging system.

1.2.3

  • Fixed the "Is Banned:" information field on player checks (again). This should fix all errors that have been associated with this field.
  • Fixed performing a check on partial names always returning "Is Banned: true".
  • Fixed "Is Banned:" returning true when the argument passed was capitalized. (The plugin stores it's information in lowercase format in memory, hence the error.) The command is now case-insensitive.
  • Due to repeated requests that this issue be addressed, the root command of the plugin has been changed from "/check" to "/c" in order to improve compatibility with other plugins such as ModReq. Please refer to the Commands page for a list of Commands if this change causes you issues.

1.2.2

  • Fixed plugin showing results for the first player name found which contained the search term given. It now searches for EXACT matches first, then looks for similar matches.
  • Fixed The "Is Banned: " field reporting for the incorrect player when player being cheched has multiple accounts associated with the IP.

1.2.1

  • Fixed issue with the Essential's backend manager logging players into memory multiple times and creating duplicate entries.
  • Fixed the "Player Exempt: " field on the report command always returning false.
  • Removed debugging output from the Flat-File backend manager.

 Update #3 (1.2.0): April 08, 2013 - Minecraft 1.5.1

Major Update / Feature Addition / Bug Fix

Main Description: Plugin has been completely rewritten in order to implement multiple player information storage methods. As a result, it now runs much, much faster than did 1.1.1. Hard disk usage has been decreased tremendously, and the plugin performs most of it's operations direct from RAM now. Also worth noting, support for servers which do not run Essentials has been added now, via flat-file implementation. mySQL support may possibly be added in the future.

Bug Fixes:

  • No longer checks IPs which do not exist on the system. Either the IP being checked must be a valid, logged entry, or an error will be returned.
  • Fixed potential issues which may have arised with the use of '/check banrecent' and '/check unbanrecent'. As a result, these commands have been removed. Read further down for more details.
  • Can now tell the difference between an IP address and a player name, causing much less errors in various commands. IPs must be formatted as #.#.#.#.

New Features:

  • Added flat-file player logging, allowing plugin use on servers which do not run Essentials. This option is togglable within the plugin's configuration file.

Removals:

  • Removed '/check banrecent', '/check unbanrecent', and their associated permission nodes (ipcheck.recent).

Other Changes:

  • '/check ban' and '/check unban' now allow the use of both IP addresses and player names as valid arguments, meaning you no longer have to perform '/check player <player_name>', and then '/check banrecent'.

 Update #2 (1.1.1): April 06, 2013 - Minecraft 1.5.1

Bug Fixes

  • -Fixed Issue with servers running OpVerify or similar plugins where a login-check was still performed on players who were operators.
  • -Fixed Issue where login checks were still performed on players if they did not have BOTH operator status and 'ipcheck.getnofiy' permission, instead of players requiring only either/or.
  • -Fixed several grammar and spelling errors.
  • -Fixed Descriptive-Notification Report reporting a number of alternative accounts which included the account that was being checked. (This bug only applied to players who had played on the server before.)

Removed:

  • -Source Code files. These were nearly doubling the size of the plugin and did nothing.
  • -'/check player'. '/check' and '/check player' have been combined. Simply do '/check <playername or ip>' now. To check an IP, you must format it as '#.#.#.#'.
  • -'ipcheck.player' permission node.

Other Changes

  • -Reordered the list of Player/IP check attributes (Is Exempt, Is Banned, etc.) to flow more logically.
  • -Slightly Changed the formatting of the full check report.
  • -Added check attributes (Is banned, Is exempt) to the IP check report.

 Update #1 (1.1.0): April 05, 2013 - Minecraft 1.5.1

New Commands:

  • /check exempt player <player_name> - Exempts player from login-checks
  • /check exempt ip <ip_address> - Exempts IP Address from login-checks
  • /check exempt remove <player_name or ip_address> - Removes an Exemption
  • /check reload - Reload the configuration file
  • /check about - Plugin Info
  • /check toggle <immediate-mode | immediate | im> - enable or disable login-checks
  • /check toggle <secure | secure-mode> - enable or disable Secure Mode
  • /check toggle <notification-mode | notification | notify> - enable or disable Simple Login-Check Notifications
  • /check exempt-list list - List all exemptions
  • /check exempt-list player - List all Player Exemptions
  • /check exempt-list ip - List all IP exemptions

New Permissions:

  • -ipcheck.exempt - Required to add Exemptions
  • -ipcheck.exempt.remove - Required to Remove Exemptions
  • -ipcheck.getnotify - Required to recieve Login-Check alerts if you are not an Operator
  • -ipcheck.list - Required to use /check list
  • -ipcheck.toggle - Required to use /check toggle
  • -ipcheck.reload - Required to use /check reload

Other Changes:

  • -Added Configuration File
  • -Added Secure Mode: Kicks players whom have more than specified number of alt-accounts
  • -Added Player Checking at Login: Reports to Ops and players with 'ipcheck.getnotify' if the player joined has alt-accounts. The amount of accounts a player can have before being reported can be configured in the plugin's configuration file.
  • -Added Ability to switch from detailed login-check notifications to simple notifications
  • -Added Ability to disable login-checking entirely
  • -Most of these features can be configured in-game.
  • -Configuration File can be reloaded in game.
  • -Added Exemption Lists for both Player-Names and IP Addresses
  • -Login-Checking will not be performed on played whom are Operators, possess the 'ipcheck.getnotify' permission, or are in either exemption list.