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.
@Jnk1296
I would like Essentials to be the only one handling my bans. How do I disable it for IP-Check?
@Wolfen2448
This is likely because you're not using IP-Check to perform bans. Due to the way the IP-Check if programmed (I'll actually be changing this shortly), when a banned player logs in, IP-Check will kick them, before any other plugin has a chance to do so (dependent on load order). Because the player was not banned with IP-Check, IP-Check's database does not have any information on this ban. However, when it sees that the player logging in is banned, it corrects it's database to reflect the ban. And because it has to come up with this information on it's own, the defaults to the ban-message specified in your configuration.
And then the player is kicked for "Banned for Multi-Accounting" because, as I said, IP-Check performs ban-kicks itself.
I'll be changing the kick functionality, however, so that it is dependent on the configuration value "should-manage-bans".
And in response to being screwed over by default-enabled features, I do think about things when I make them. :P If I felt that a certain feature could cause some real, genuine damage, then I wouldn't enable it by default. (Unless there's a bug in my code, in which case; Sorry. xD)
When a player gets banned the ban reason changes to "Banned for multi-accounting". How can I fix this?
Please don't add features that are set to enabled by default. It really screws us over.
@ThisUsernameIsMine
Thanks for the information. No need to pardon yourself.
I'm a bit busy for the immediate time being, but I'll take a look into this as soon as I get some spare time on my hands.
@Jnk1296
I pardon myself for the edit. It wasn't my intention to post it under the comments but it somehow happened without my consent.
The software i use to run the server is a development version of Spigot (usually the latest one that is available). The ban-plugin i use is MaxBans.
I also have Essentials but don't use its (un)ban commands nor does it takeover bukkit's (un)ban commands. therefor it must be (related to) MaxBans.
I thank you for the insightful explanation :-)
@ThisUsernameIsMine
FYI I see this as a bug report due to your edit. xD
What plugin are you using to perform bans, because if this is happening, the plugin isn't utilizing the Bukkit ban system at all (which can be a bad thing if the plugin fails). IPC is designed to synchronize it's bans in real-time. If the players which are triggering login notifications are banned using a plugin that utilizes Bukkit, then IPC will take the appropriate action to reflect that ban status in it's own database.
That said, your best bet for the immediate time being would be to individually exempt each account that causes a login notification. If I can get the name of the plugin you're using to manage bans, I can likely make a hook into it.
As far as the edit is concerned, Secure Mode just prevents additional accounts from being made past a threshold, and Active Mode bans new accounts as they are made if they contain information linking them to a banned account which is logged in IPC's database. Neither one would affect this issue.
The reason IP-Check rebans you when you join after the purge is because Bukkit still shows you as being banned (to fix the issue you need to perform the default bukkit ./unban on both your name and IP.) Exempt or not, IPC will not allowed a banned account back on the server.
So, from the sound of things, either A) your ban plugin is somehow interfering with the Bukkit Ban API calls (which I highly doubt), or B) You're not using Bukkit/CraftBukkit as your server software.
Let me know what information you can. Jnk
Not a bug report but a feature request/suggestion:
- An option to disable notifications of possible alts, for players that were banned by another plugin
why: There are accounts that were banned by another plugin and when such player tries to join, it shows a summary of possible alts.
This gets irritating when that person tries to join time after time ;-)
I know i can /ipc ban them but i'm wondering if its possible to ignore connection attempts for players that haven't been banned by your plugin
Thank you in advance! :)
edit: well, this is funny.. I'm an Op and i name-banned myself (/ipc ban name) via the console for testing purposes.
Doing /ipc unban playername/ip-address doesn't let me join and rejoining the server after doing /ipc purge name/IP-address bans me again for Multi-Accounting (while secure-mode and active-mode are both disabled)
Exempting/protecting my name/ip also doesn't solve it :D
Just to point this out; all bug reports posted in the comments from here on out WILL BE IGNORED. If you need to create a bug report, open a thread on the forum.
Thank you.
@Fighter88 I would be happy to work with you to solve this error, but I need more detail.
In Essentials of the reason for the ban appears when he tries to come back online, we just ip-check "You have been banned for multiacc", but unfortunately I deleted that resists plugin, as it only causes errors I give "/ ipc player name ". Unfortunately not possibly Runs on 1.7.9 [15:57:11] [Server thread/ERROR]: null org.bukkit.command.CommandException: Unhandled exception executing command 'ipc' in plugin IP-Check v2.0.1 at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) [server.jar:git-Spigot-1463] at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:180) [server.jar:git-Spigot-1463] at org.bukkit.craftbukkit.v1_7_R3.CraftServer.dispatchCommand(CraftServer.java:728) [server.jar:git-Spigot-1463] at net.minecraft.server.v1_7_R3.PlayerConnection.handleCommand(PlayerConnection.java:985) [server.jar:git-Spigot-1463] at net.minecraft.server.v1_7_R3.PlayerConnection.a(PlayerConnection.java:830) [server.jar:git-Spigot-1463] at net.minecraft.server.v1_7_R3.PacketPlayInChat.a(PacketPlayInChat.java:28) [server.jar:git-Spigot-1463] at net.minecraft.server.v1_7_R3.PacketPlayInChat.handle(PacketPlayInChat.java:65) [server.jar:git-Spigot-1463] at net.minecraft.server.v1_7_R3.NetworkManager.a(NetworkManager.java:180) [server.jar:git-Spigot-1463] at net.minecraft.server.v1_7_R3.ServerConnection.c(ServerConnection.java:81) [server.jar:git-Spigot-1463] at net.minecraft.server.v1_7_R3.MinecraftServer.v(MinecraftServer.java:713) [server.jar:git-Spigot-1463] at net.minecraft.server.v1_7_R3.DedicatedServer.v(DedicatedServer.java:283) [server.jar:git-Spigot-1463] at net.minecraft.server.v1_7_R3.MinecraftServer.u(MinecraftServer.java:576) [server.jar:git-Spigot-1463] at net.minecraft.server.v1_7_R3.MinecraftServer.run(MinecraftServer.java:482) [server.jar:git-Spigot-1463] at net.minecraft.server.v1_7_R3.ThreadServerApplication.run(SourceFile:628) [server.jar:git-Spigot-1463] Caused by: java.lang.NullPointerException at net.risenphoenix.ipcheck.objects.ReportObject.outputFoot(ReportObject.java:245) [?:?] at net.risenphoenix.ipcheck.objects.ReportObject.onExecute(ReportObject.java:119) [?:?] at net.risenphoenix.ipcheck.commands.CmdCheck.onExecute(CmdCheck.java:54) [?:?] at net.risenphoenix.commons.commands.Command.onCall(Command.java:163) [?:?] at net.risenphoenix.commons.Plugin.onCommand(Plugin.java:129) [?:?] at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) [server.jar:git-Spigot-1463] ... 13 more
@Fighter88
I'm sorry?
You're wanting IP-Check to pull messages from Essentials, is that correct?
can get around this if I let the news field free?
@Fighter88
Because Essentials and IP-Check each have their own set of ban-messages. IP-Check pulls no information from Essentials. If you do ./seen on the player you've banned, you'll see the message you specified for them. The message you see in IP-Check is just the default message pulled from it's config, and is the result of the auto-synchronization that occurs between IP-Check and Bukkit.
Ingenious plugin have only one prob when I player bane (with essentials) is due to a ban always specified Banned for multi-accounting. How do I stop this? in the config I've already should-manage-bans: false
@fungreenfox
You should be getting an error from IP-Check when your server boots up, before you ever issue any commands. I need to see what error it's throwing (if any).
@fungreenfox
Heard of Paste??
http://dev.bukkit.org/paste/
<player> below is censured, and could be any specific playername. Any lookup will fail. http://dev.bukkit.org/paste/9992/
@tanjx
Oh.
That's not really possible. The way the plugin is designed, some of the features are designed to work before there's every any indication that the player has even logged in (especially given situations where the plugin is kicking banned players with it's logged messages). This also applies to features such as Active Mode and Secure Mode, both of which do something similar to that stated above.
It would make no sense to allow an account that's past the allowed threshold set for a server to login and THEN kick them. :P
@Jnk1296
sorry for my bad english, maybe you haven't understand me.:(
Ip-check works fine on my server too, it will log the data before the player logins in. change into only logs the data after player logins in, i think it will be better:)
@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. :)