IP-Check


A typical IPC Report for a player with multiple accounts...
My staff wanted a way to check for players who were using multiple accounts easily, especially those who like to bypass bans. So, my solution to their dilemma was this plugin.
With IP-Check, you can log every account a user ever makes, across every IP, and keep track of them all. It supports cross-IP logging, as well as account limiting and filtering. Don't like it when people have more than one account? Stop them! IP-Check comes with Secure Mode, in which you can define a number of accounts that players can have. Players may then have up to that many number of accounts, and any other accounts will not be permitted to join, even across different IPs! Or, for an added effect, it can even ban the account.
IP-Check can also notify you whenever a multi-accounter logs into your server. Simply set the number of accounts players may have, and any time a player logs on with more than that number of accounts, you'll receive a warning about it. If they are in violation of your rules, you can ban them! But banning each account one at a time is long and time-consuming. With IP-Check, we've summed that all up into one simple command. When issued, IP-Check will take the players IP, ban all the accounts linked to it, and then ban the IP itself. Or if you've accidentally banned the wrong account, there's a command to unban them all as well.
IP-Check supports logging with MySQL and SQLite. It has no external dependencies, and installation is as simple as dragging and dropping the plugin file and restarting your server.
![]()
Login Notifications with Simple Notifications enabled
Reporting Plugin Issues and Bugs:
All issues are now handled through GitHub. If you would like to report an issue, please visit the GitHub Issue Tracker.
Support is currently only offered for IP-Check v2.x (build 2053+). It is recommended that you update to the latest build and enable Automatic Updates so that you may receive bug fixes and patches as they are released. No support is offered for any build of IP-Check v1.x. Support is NOT offered for IP-Check v3.0.0 or v3.0.1.
NOTICE: If you are receiving messages in IPC Reports about GeoIP Services not being available, you need to download the GeoIP Database from MaxMind.com and copy it to the data folder for IP-Check. It can be downloaded from this link: GeoIP (Note, you need extract the .gz file using WinRAR or 7-Zip.)
Metrics Usage Disclaimer:
This plugin utilizes Metrics in it's code. Metrics is a system which records anonymous data about the usage of the plugin and reports it to mcstats.org where it is displayed publicly. This information cannot be used to identify your server in any way. The information collected includes but is not limited to; the version of IP-Check you are using, what version of Java you have, what operating system you are running, whether your server is online or offline, and the number of players on your server. If you would like to see the information Metrics has collected, you can view it here: Metrics Profile

Questions or Comments? Post them below! All feed-back is appreciated.
Care to donate?
A lot of work and time has gone into developing this plugin. If you'd like to donate, click button below . 
All donations are greatly appreciated and help in future development of IP-Check. We help to help others.
![[IMG]](http://i.imgur.com/rxAvMnS.png)
-
View User Profile
-
Send Message
Posted May 6, 2014@tanjx
Really? My production server uses AuthMe and we've been able to log players just fine, whether they log in or not.
I'll take a look into it, but by the sound of it, AuthMe is loading before IP-Check, and this is a really simple thing to fix.
If you can open IP-Check's .JAR file (you can use 7-Zip or WinRAR), open the plugin.yml file in a text editor and add the following line to the bottom of the file:
Save the file and reload your server; this will allow IP-Check to log players before AuthMe. I'll be sure to add the to the plugin.yml for the next release as well. Thanks for bringing this up. :)
-
View User Profile
-
Send Message
Posted May 6, 2014can you hook to authme? only the player who has logined in will be log into database :)
-
View User Profile
-
Send Message
Posted May 5, 2014@pilvimaa I apologize for the inconvenience this issue has caused you. This is some sort of fluke that I haven't been made aware of so far and I'll do what i can to look into it.
That said, if I could get the following:
Also, what specifically are the circumstances? Are all players being banned on login? New players?
In the meanwhile, I'd recommend downgrading to 1.5.4 until this issue is resolved.
The issue sounds like an issue with the PlayerLoginListener (the class where all of the login features function.) After reviewing the source code (and taking into account that all of the features have been disabled), there's only one piece of code that could be causing this issue:
The above code is responsible for keeping bans in IP-Check in synchronization with Bukkit. There are no logic errors with it (that I can tell); If Bukkit has the player banned, IPC will ban them, and vice-versa if Bukkit has them unbanned. But going off of the information I've been given, this is the ONLY code the does any sort of banning with all other features disabled and with no commands being executed.
-
View User Profile
-
Send Message
Posted May 5, 2014After updating I'm getting my users banned for "multi accounting" ... not very happy. I don't have secure mode on in config.
Also ban on secure kick is set to false.
And active mode is set to false.
-
View User Profile
-
Send Message
Posted May 1, 2014@Justmeitis
Check your database configuration settings. You may have a space in the dbName option or you may be missing a quotation mark.
-
View User Profile
-
Send Message
Posted May 1, 2014Hi,
I have updated to 1.7.9 on my server and with your latest version I have the below error message in console:
http:dev.bukkit.org/paste/yvd0ugle9sjcnk8z/
Any suggestion please?
-
View User Profile
-
Send Message
Posted Apr 30, 2014@fungreenfox
What version of Java are you running?
-
View User Profile
-
Send Message
Posted Apr 30, 2014Versino 2.0.0 gives me trouble in the console:
http://dev.bukkit.org/paste/9891/
-
View User Profile
-
Send Message
Posted Apr 29, 2014@lskitto
UUID support is being pushed back for the immediate time being. Support was initially requested after I had already completely a good majority of the plugin rewrite. While I had hoped it would be a fairly simple implementation, further inspection indicates that switching to UUID would require a larger amount of work than I had originally thought.
That said, it's in the works, but it's not in 2.0.0. Expect it to be released with 2.1.0. :)
-
View User Profile
-
Send Message
Posted Apr 28, 2014UDID Support? :)
-
View User Profile
-
Send Message
Posted Apr 26, 2014Probably should've posted this sooner; IP-Check 2.0.0 b2053 has been released to Bukkit and is awaiting approval. A lot of changes were made, and some have been pushed back to future builds. At the time of typing this, the plugin has been awaiting approval some 27 hours... So hopefully it's released soon! :)
-
View User Profile
-
Send Message
Posted Apr 23, 2014The Default Localization Template (linked to at the top of the page) has been updated for v2.0.0. A list of changes made to the Localization Index will be made available shortly. It is very important that these changes be looked over by anyone using a custom Translation Index, as v2.0.0 changes several localization keys.
-
View User Profile
-
Send Message
Posted Apr 14, 2014@pilvimaa
Interesting...
That means that a conversion would be possible. Thank you, pil. :)
-
View User Profile
-
Send Message
Posted Apr 13, 2014@Jnk1296
Well I found this:
"When your server is run in offline mode, UUIDs are based on name alone. This means that by default if a user changes their name, even if the user would be able to authenticate with Mojang, their UUID will change."
-
View User Profile
-
Send Message
Posted Apr 13, 2014@pilvimaa
Right, and that's sort of what I was leaning towards. But I've got some tests of my one I'd like to run first.
Thing is, as far as the Bukkit API is concerned, all player objects have a getUniquieID method which returns the UUID for the player (this is available for Offline Players as well, which fits our purposes quite nicely.) That said, there's no doubt that offline players generate some form of UUID. The real question is, though, as far as Offline Players are concerned, is that UUID persistent? Or does a new ID get generated when they log in? Assuming it's the former, then I can proceed to convert the entire plugin to interface with UUIDs, and only limit certain features of the plugin to Online Mode only (things like checking for players with different names but the same UUID.) I guess my main goal currently is that, whatever changes are made, the database back-end needs to work fully for both online and offline mode, with as little additional code as possible (checking for online mode in every method of the Database Controller could theoretically double the effective size of the code.)
Like I said, lots of stuff up in the air on this, but there's a good possibility it'll be included at some point.
-
View User Profile
-
Send Message
Posted Apr 13, 2014Even if IP-Check didn't support UUID's it would still remain very useful.
I suspect adding support for UUID's would be as simple as just adding one more place to check for "player names" in this instance called "UUID". After all the UUID is just a bit longer random strings of numbers and letters. And Mojang's servers handle all the verification anyway.
I don't really have any insight on how it actually works but I would suspect that handling UUID's would be just as simple as that and could be implemented in a few minutes. That's how I would do it. Then you'd just have extra check whether the online or offline mode is on. And if it's the offline mode is on then you'd just skip checking the UUID altogether.
Well, that's how I would try to implement it. Just adding one more string in the datafiles and comparing it against the IP.
-
View User Profile
-
Send Message
Posted Apr 13, 2014@pilvimaa
(Word of forewarning, I'm answering this at 3AM; I'm rather tired and I haven't exactly done a large sum of research into the UUID system as of yet. Given that, a good portion of my response may or may not be based on my own understanding and assumptions. (TL;DR If I'm wrong about any I'm about to say, sorry. :) )
It's something to consider, yes, but it may not be implemented immediately.
The main concern is that IPC is intended for servers running in both online and offline mode. The server I maintain runs in offline mode, for example. The upcoming changes in 1.8 do mark a point of concern though, so that's not to say that the issue will be ignored. There will be plans for it in the future, and, given this, new features could be implemented which were previously impossible.
But, in retrospect, these new features would only be available to servers running in online mode. Granted, Online Mode is the recommended of the two modes, but I still prefer to have support for both modes (and since, as I said, my server is not online, there's a good chance this will remain my policy.)
That said, it's a definite maybe, but a lot of planning and work will have to be put into such considerations before anything is set in stone.
-
View User Profile
-
Send Message
Posted Apr 12, 2014So, will IP-Check also be supporting UUID tracking in the future? Like, you would get a warning if player's name had changed. Something on those lines.
-
View User Profile
-
Send Message
Posted Apr 12, 2014@dutchy1001
I myself wouldn't mind a country blacklist, either. Good suggestion!
-
View User Profile
-
Send Message
Posted Apr 12, 2014Happy birthday Jnk xD ~ Adriano