iPAV pre1.8
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 allows them to view user connections easier.
More images at http://dev.bukkit.org/bukkit-plugins/ipav/images/
Compatibility
Versions 1.0 though 2.2 of iPAV were developed using the bukkit-1.6.2-R0.2-20130829.060124-15 API. Although versions 1.0 through 2.2 were made for 1.6.2, they also work with Minecraft versions 1.6.4 and 1.7.2. No known Minecraft-version-specific bugs have been discovered. If you find a bug, please report it to me (iPyronic) via the comment section below, iPAV ticket page, or through a private message on Bukkit so that I can attempt to fix it. When reporting a bug, please include the error you received in your server console if available, and any other information that I might need in order to reproduce the bug/error. If I can't reproduce it, I can't fix it.
Features
Legend:
Available in the latest versions (v2.2)
Done coding, will be released in the next update (v2.3) <sub>(I usually upload right after finishing any new features, so if you see blue, then the file is probably just waiting for Bukkit to approve the new version [unless you see purple too])</sub>
Feature is being made right now, not just planned for later
Removed feature in iPAV v2.3
Not coded yet, will develop later
- View someone's IP when he/she connects to the server
- Optionally give some players a permission to not be seen by this
- When a player connects to the server, optionally see if he/she has connected with other accounts or IPs before
- Optionally give some players a permission to not be seen by this when connecting
- Use commands to show this information in detail for a certain IP or player whenever you want to see it
- List all online players numerically by their IPs by using /ipav list
- Optionally give someone a permission to not be seen by this
- Optionally give someone a permission to see all even if some are exempt
- Optionally give someone a permission to not be seen by this
- List everyone online that can see connections/alias stats/ports
- Optionally give someone a permission to not be seen by this
- Optionally give someone a permission to see all even if some are exempt
- Optionally give someone a permission to not be seen by this
- Optionally view the port a player is connected with
- When he/she connects
- When you list all online players with /ipav list
- View IPs in different colors for different meanings
- List the color legend with /ipav colors
- Colors are configurable
- Affects the message displayed to staff when a user connects
- Affects the online player list when you use /ipav list
- Coloring available for:
- Regular (unrelatable) IPs
- Somewhat-Similar IPs (first part of the IP matches another online player)
- More-Similar IPs (first two parts of the IP match another online player)
- Very-Similar IPs (first three parts of the IP match another online player)
- Same IPs (user has the same exact IP as another online player)
- Blacklisted IPs (the IP the user is using is blacklisted in the config file)
- Whitelisted IPs (the IP the user is using is whitelisted in the config file)
- Whitelisted Players (the player is connecting through a blacklisted IP, but his/her name is whitelisted)
- Locked Player-IPs (the player is connecting though an IP that he/she is allowed to use [if he/she tries to use a different IP, he/she is kicked and a different color is shown])
- Blacklist IPs in the config file
- Users connecting with a blacklisted IP will be shown in a differnt color for iPAV messages
- Optionally don't allow any users to connect through that IP
- Optionally whitelist a player for a blacklisted IP so it won't block him/her
- You can specify per-blacklisted-IP kick messages
- You can specify a full IP, or partial IP
- Partial IPs give you the option of banning certain regions of the world from your server
View/edit the blacklisted IPs in-game using commandsAuto-blacklist an address if someone connects with too many accountsChoose whether or not the old players are whitelisted on the blacklisted addressChoose whether all old players are allowed on the IP or only a few (depending on the limit size in your config)
- Whitelist IPs in the config file
- Users connecting with a whitelisted IP will be shown in a different color for iPAV messages
- This allows you to allow specific IPs to connect from a region you have blocked
- Or you can just use it to change IP colors to something else (like maybe "whitelisted IPs are staff IPs, so other staff knows when they are on different accounts")
- This allows you to allow specific IPs to connect from a region you have blocked
View/edit the whitelisted IPs in-game using commands
- Users connecting with a whitelisted IP will be shown in a different color for iPAV messages
- Lock Players to IPs
- Make it so someone can only connect through certain IPs
- You can use partial IPs instead of full IPs
- You can specify multiple IPs
View/edit the locked player IPs in-game using commands
- Make it so someone can only connect through certain IPs
- Censor IPs
- Make it so that some IPs show up as question marks or something instead of being shown in iPAV
- Can be used to hide staff IPs from other staff members that also use iPAV
- Make it so that some IPs show up as question marks or something instead of being shown in iPAV
- If you have a supported authentication plugin, optionally see if a player logged in with the right password when you use a data log checking command
- This feature is also used for activating a staff member's seeDefaults and update checking when he/she logs in with a correct password.
- Set custom join/quit/kick messages
- Replaces "[player] joined the game." and "[player] left the game."
- Can optionally turn off these messages
- View player joindates using the /joindate [player] command
- Due to Bukkit (bugs?), this sometimes doesn't work correctly.
- Search through all players logged in iPAV and list the ones that contain certain text.
- Helpful if you know part of someone's name, but don't remember it all
- UUID support
- Logging
- Whitelists/Blacklists/Restrictions/Ignores
- Viewing on player login
- Optional geo location add-on plugin
- Geo location integration meshes with iPAV as if they were one plugin (the addon still needs its own tweaks though)
Commands
Command | Description |
---|---|
/ipav | Displays all iPAV commands |
/ipav toggleSee [ip/alias/port] [on/off] | Lets you change what you see when a user connects to the server. The [on/off] part is optional. |
/ipav seerList | Gives you a list of who has their different seeing options from toggleSee turned on. |
/ipav list | Lists online players by their connection addresses |
/ipav colors | Displays the different colors used for IPs and explains what they mean |
/ipav player | Displays the player checking commands. Requires the playerFile to be enabled in the config. |
/ipav player check [player] | Lists the IPs that someone has connected to the server with before. Requires the playerFile to be enabled in the config. |
/ipav player alias [player] | Lists all of the players connected to the specified player's IPs. Multiple players on this list represent that those players are connected to more than one of the specified player's IPs. Requires the playerFile and addressFile to be enabled in the config. |
/alias [player] | Same as above. |
/ipav player list [page] | Gives a list of all players logged in iPAV. The results come from the playerLog.yml file, which (unedited) means the players are in chronological order of who was logged first. That also means you will be able to see who the newest players are by looking at the end of the list. |
/ipav player search [searchText] [page] | Searches through the list of logged players in the playerLog.yml file and shows you all player names that contain the searchText. |
/ipav ip | Displays the address checking commands. Requires the addressFile to be enabled in the config. |
/ipav ip check [ipAddress] | Lists the different players that have connected to the specified IP address. It will also record when someone uses different uppercase and lowercase variations of their name. Partial IPs are allowed (but be careful if you have a large playerbase). Requires the addressFile to be enabled in the config. |
/ipav unlink [player] [ipAddress] | Removes the connection between a player and IP. The player name is case-sensitive and will not function completely if spelled wrong. Requires the playerFile and addressFile to be enabled in the config. |
/ipav setJoinMessage<</color>> | Shows more information about setting the player join message |
/ipav setQuitMessage<</color>> | Shows more information about setting the player quit message |
/ipav setKickMessage<</color>> | Shows more information about setting the player kick message |
/ipav versionCheck | Manually checks to see if there's an update to iPAV on Bukkit |
/ipav perm | Shows the separate permissions used by the plugin |
/ipav reload | Reloads the plugin config file |
/joindate [player] | Check to see when a player first joined the server according to their player ".dat" file. Sometimes gives inaccurate dates (can't be fixed, Bukkit problem). Sometimes can't retrieve OfflinePlayer ".dat" file (can't be fixed, Bukkit problem). |
Permissions
Permission Node | Description | Inherited by |
---|---|---|
ipav.* | Gives access to all iPAV permissions | |
ipav.command.* | Gives access to all iPAV commands | ipav.* |
ipav.command | Gives access to the basic /ipav command. It is required in order to execute any other commands. | ipav.command.* |
ipav.command.toggleSee.* | Gives access to toggle seeing all data types. | ipav.command.* |
ipav.command.toggleSee.ips | Gives access to toggle seeing addresses when a user connects to the server. | ipav.command.toggleSee.* |
ipav.command.toggleSee.aliases | Gives access to toggle seeing alias stats when a user connects to the server. | ipav.command.toggleSee.* |
ipav.command.toggleSee.ports | Gives access to toggle seeing ports when a user connects to the server or when you use the listing command. | ipav.command.toggleSee.* |
ipav.command.seerList | Gives access to the command which allows you to list who has their seeing toggled on. | ipav.command.* |
ipav.command.list | Gives access to the listing command. | ipav.command.* |
ipav.command.colors | Gives access to the color legend command. | ipav.command.* |
ipav.command.player.* | Gives access to all player checking commands. | ipav.command.* |
ipav.command.player.check | Gives access to view the different IPs that a user has connected with before. | ipav.command.player.* |
ipav.command.player.alias | Gives access to view all of the players linked to all of a certain player's IPs. | ipav.command.player.* |
ipav.command.player.list | Gives access to view a list of all logged players. | ipav.command.player.* |
ipav.command.player.search | Gives access to be able to list all logged players whose player name contains certain text. | ipav.command.player.* |
ipav.command.ip.* | Gives access to all address checking commands. | ipav.command.* |
ipav.command.ip.check | Gives access to view all of the players that have connected to a specific address or address range. | ipav.command.ip.* |
ipav.command.joindate.* | Gives full access to the "/joinDate [player]" command. | ipav.command.* |
ipav.command.joindate | Gives access to "/joinDate", which only shows results for the player that executed it. | ipav.command.joindate.* |
ipav.command.joindate.others | Gives access to "/joinDate [player]" | ipav.command.joindate.* |
ipav.command.perm | Gives access to view the available permissions in-game. | ipav.command.* |
ipav.command.setJoinMessage | Gives access to "/ipav setJoinMessage" | ipav.command.* |
ipav.command.setQuitMessage | Gives access to "/ipav setQuitMessage" | ipav.command.* |
ipav.command.setKickMessage | Gives access to "/ipav setKickMessage" | ipav.command.* |
ipav.command.versionCheck | Gives access to manually check for plugin updates released on Bukkit. | ipav.command.* |
ipav.command.reload | Gives access to reload the plugin configuration file. | ipav.command.* |
ipav.exempt.* | Makes you not show a connection or alias stat notification when you join. | ipav.* |
ipav.exempt.connections | Makes you not show a connection address notification when you join. | ipav.exempt.* |
ipav.exempt.aliases | Makes you not show an alias stat notification when you join. | ipav.exempt.* |
ipav.exempt.ipList | Makes you not show up when someone uses /ipav list. | ipav.exempt.* |
ipav.exempt.seerList | Makes you not show up when someone uses /ipav seerList. | ipav.exempt.* |
ipav.bypass.* | Gives access to all iPAV bypass nodes. Not configured correctly, currently useless | ipav.* |
ipav.bypass.ipListExempt | Makes you see someone even if he/she is exempt when using /ipav list. | ipav.bypass.* |
ipav.bypass.seerListExempt | Makes you see someone even if he/she is exempt when using /ipav seerList. | ipav.bypass.* |
ipav.seeUpdates | Checks for updates when a player with this permission logs in and update checking is set to true in the config | ipav.* |
All permissions default to OP<sub>Except "ipav.command.joindate" which defaults to true (meaning everyone has that permission by default)</sub>
Configuration
Default file values can be seen here:
http://dev.bukkit.org/bukkit-plugins/ipav/pages/configuration/
Notes
APIs used in iPAV:
- Bukkit API (used for almost everything in iPAV)
- AuthMe APIs (used for authentication checking, iPAV doesn't require it)
- xAuth API (used for authentication checking, iPAV doesn't require it)
- Curse ServerMods API (used while checking for iPAV updates [api.curseforge.com])