iP Address Viewer
When updating to a new iPAV version, make sure that you check the changelog
to see if you need to edit/delete your old configuration file!
iP Address Viewer
iPyronic's Address Viewer
Internet Protocol Address Viewer
A plugin for server administrators that shows them info about users that are joining.
More images at http://dev.bukkit.org/bukkit-plugins/ipav/images/
Compatibility
Versions 1.0 through 2.2 of iPAV were developed using the bukkit-1.6.2-R0.2-20130829.060124-15 API and are designed for minecraft 1.6.2 through 1.7.10.
Versions 2.4 through 3.1 of iPAV were developed for minecraft 1.8 and higher. Specific information about what they were built and tested with can be viewed on each version's download page.
Tests usually aren't run on older versions, but iPAV should work for server versions it wasn't built against. For instance, the new 1.8 versions should work as long as your server version has UUID support and the original /tellraw. As such, the new 1.8 versions of iPAV are compatible with servers running minecraft versions like 1.7.6 and 1.7.10.
What does it do?
iPAV started off with the simple idea of showing admins someone's IP when they logged in. Over time, new features were added to increase its capabilities and make it so that admins were able to gain more information about a user that is logging in. The following are iPAV's main features:
- Keeps records of player logins and lets you view those records later by searching for a player name, IP, or UUID
- Creates a list of all online players ordered by their IP so that you can see who is using more than one account on the same connection
- Lets you specify that certain players can only log in on specific IP address(es)
- Lets you specify that a certain IP is blacklisted. Players on a blacklisted IP are shown in red, and blacklisted IPs can optionally work as an IP ban. Together with the ability to use partial IPs, you can effectively ban entire IP ranges all at once.
- Lets you see a list of all logged players, and lets you search through all of those players for names that contain a specific phrase
- Lets you see the geographical location of an IP (when used together with iPAVGeoGrabber)
Commands
A list of available commands can be found here:
http://dev.bukkit.org/bukkit-plugins/ipav/pages/commands/
Permissions
A list of the permission nodes can be found here:
http://dev.bukkit.org/bukkit-plugins/ipav/pages/permissions/
Configuration
Default file values can be seen here:
http://dev.bukkit.org/bukkit-plugins/ipav/pages/configuration/
Changes In Next Version
cough<sub> so I don't have to remember later when writing the changelog </sub>cough
- Nothing, bwahahahaha! >: D
Possible Future Changes
<sub>this is just an idea list of things I might do</sub>
- Create a "/av ip list [page]" command
- Create a "/av ip search [text] [page]" command
- Create a "/av uuid list [page]" command
- Create a "/av uuid search [text] [page]" command
- Edit blacklist/whitelist/restrictions/ignores/censors in-game or through console
- Edit or view config settings in-game or through console
Notes
APIs used in iPAV:
- Bukkit API (used for almost everything in iPAV)
- AuthMe APIs (used for authentication checking, iPAV doesn't require them)
- xAuth API (used for authentication checking, iPAV doesn't require it)
- CrazyLogin API (used for authentication checking, iPAV doesn't require it)
- Curse ServerMods API (used while checking for iPAV updates [api.curseforge.com])
- iPAVGeoGrabber API (used to allow iPAV to look-up the location of a player's IP when they log in. Requires putting iPAVGeoGrabber on your server if you want the feature)
Feel free to leave any suggestions or feedback that you might have~
@The_PC_Tech_Guy
I've been quite busy avoiding rewriting this plugin (anime, sleeping, private plugins, anime, playing other games, sleeping). I like having fun writing stuff, and this rewrite is the opposite of fun D:
No idea how to get an IPv6 address through bukkit/spigot either D;
@Anyone Interested
I've changed the license from All Rights Reserved to a custom one that basically means "Do whatever the heck you want". I'd rather not try to figure out github/pullRequests/pushing, so I guess I won't be posting the code for iPAV :/ Good luck for anyone that tries to decompile this~ I'm sure your cringe level will rise from the inevitable bad practices present as a result of it being my first plugin >.<
In reply to iPyronic:
Hmm, maybe it's time for a recode? Minecraft finally supports ipv6 in 1.9, and this plugin simply doesn't support that :P
@CoolLord22
This is just an error stating that it was unable to contact curseforge, which is used to determine if there is an update available for this plugin. Just ignore it.
Hi I just had an error in my console, it says [iPav] Unable to get JSON data from CurseForge!
What can I do to fix it? Let me know if you need more from the console!
This plugin is excellent! Not sure why it couldn't find it when initially searching for alt account logging plugins, but I'm glad I found this one! Super informative!
@JBuscus101
If you meant literally like the picture above, you can give someone the permission node ipav.command.view.logins so that they can see the info when a player logs in. If you do give someone that node, I also recommend giving ipav.command.view.deniedLogins so that the person can see when someone is stopped from logging in.
Players with either of those two nodes will also gain access to the commands /av view logins and /av view deniedLogins respectively. Using those commands will allow the player to toggle their viewing. This is most convenient when a banned player continuously tries to connect to the server, which could spam server staff with deniedLogin messages. In that case, the staff members could just toggle off their deniedLogins for a little bit so that they can still read their chat.
@JBuscus101
If you mean hover over their name next to any of the stuff they say in chat, no.
The hovering is because of the /tellraw command that iPAV uses to display some of it's information, which is different from chat. Player chat messages are usually handled by Bukkit itself or a plugin like Essentials. It is possible for a chat plugin to hook into iPAV and retrieve the data for each thing someone says and then allow admins to hover over to view it, but I doubt any chat plugins use /tellraw for their output (let alone hook into iPAV as well).
If you just want a way to see the info after a player is already online:
Most iPAV messages that contain information about a player can be hovered over, such as when using /ipav online (or /av on if you like short commands). Using /av on will give a list of all online players ordered by their IPs. Each player name in the list can be hovered over to see the information. The permission node for /av on is ipav.command.online
Example: http://i.imgur.com/KhxfrE9.png
(the purple-ish color just means the IPs are similar)
Is there a permission i can give player that lets then hover over other players name in chat like the picture above?
@unclemark
iPAV currently logs players by their UUID when they log in, but I haven't made a command to search through it yet. I suppose I might do that next~
Edit: Added "/av uuid c [uuid]" command. Accepts the name of an online player instead of a UUID. Will be available in v3.1
@usunofbeach
I'll have to mess around with it a bit. I saw a method called isLoggedIn() in the CrazyLogin github, but I have no clue how to check players with it. I might have to also link into CrazyCore, but I dunno yet cuz CrazyCore's github link just 404s. No promises x:
Edit: iPAV v3.1 will check if CrazyLogin is present when a player joins. If so, it will wait for the player to successfully log in before turning on their viewing.
Could you please add crazylogin support for authentication ? thanks:)
http://dev.bukkit.org/bukkit-plugins/crazylogin/
Looks promising.
Any way to lookup all a players name changes ?
Like Name Changes:
Marki Mak10101 XXmarkXXmarkLOL
?? I don't change my name but many people do - monthly ... I need something to know what other names that player has been using as well.
Thanks for the great plugin !
@jessefjxm
Haha, hopefully it stays that way xD
@iPyronic
Updated to v3.0, haven't found any bug or error yet this time ;)
@jessefjxm
I may have just found the problem with the NullPointerException from before. I'll have v3.0 uploaded in a lil while once I apply a fix and test a bit.
Also, a bit late for it now, but I totally didn't think to mention that the NullPointerException wouldn't occur if the ignores.yml had "enabled" set to false.
@jessefjxm
D: There were two errors for you before?
I thought you only had the NullPointerException one x:
The java.lang.NoClassDefFoundError error was an obvious one that I somehow missed when writing the authentication check... It should work fine in the next release.
Is the NullPointerException still occurring for you every time someone logs in though? It should still be happening since I didn't change anything that should have completely fixed it. I did change stuff to narrow down what was wrong though. I'm kinda just remembering right now that some server hosts don't give people a complete console with everything that appears in a regular server console, so I suppose making the new shortErrors option 'on' by default was a bad idea...
If you do not have the NullPointerException anymore, could you change your shortErrors config setting to false and see if it gives it again?
@iPyronic
IP recording functions in v2.9, but the error about xAuth still occurs, really strange ;)
http://www.wepaste.com/err2/
@TotallyALF5
That's not how it works...
What you trying to do? DDoS Everyone? Not downloading...
@jessefjxm
Alright, thanks. I'm going to use some changes in v2.9 to help narrow down the problem and make it so the error doesn't negatively affect the login events like it's doing now. I suppose I'll probably skip updating "/av ip c" to get v2.9 out faster, so once I get all the new security measures into the login-code I'll release it to bukkit.
I would appreciate it if you'd tell me the error you get in v2.9 so that I have more of an idea of what's going wrong. It'll probably look mostly the same as v2.8's error, but it'll be more precise with the line location of the error.
Edit: I lied, the error in v2.9 won't look the same xD I made it so any code caught by the 'security measures' will show a shortened error message in red text (if people have a color-capable console) by default.