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.

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
  • 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 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 commands
    • Auto-blacklist an address if someone connects with too many accounts
      • Choose whether or not the old players are whitelisted on the blacklisted address
        • Choose 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")
    • View/edit the whitelisted IPs in-game using commands
  • 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
  • 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
  • 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

CommandDescription
/ipavDisplays 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 seerListGives you a list of who has their different seeing options from toggleSee turned on.
/ipav listLists online players by their connection addresses
/ipav colorsDisplays the different colors used for IPs and explains what they mean
/ipav playerDisplays 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 ipDisplays 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 versionCheckManually checks to see if there's an update to iPAV on Bukkit
/ipav permShows the separate permissions used by the plugin
/ipav reloadReloads 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 NodeDescriptionInherited by
ipav.*Gives access to all iPAV permissions
ipav.command.*Gives access to all iPAV commandsipav.*
ipav.commandGives 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.ipsGives access to toggle seeing addresses when a user connects to the server.ipav.command.toggleSee.*
ipav.command.toggleSee.aliasesGives access to toggle seeing alias stats when a user connects to the server.ipav.command.toggleSee.*
ipav.command.toggleSee.portsGives access to toggle seeing ports when a user connects to the server or when you use the listing command.ipav.command.toggleSee.*
ipav.command.seerListGives access to the command which allows you to list who has their seeing toggled on.ipav.command.*
ipav.command.listGives access to the listing command.ipav.command.*
ipav.command.colorsGives access to the color legend command.ipav.command.*
ipav.command.player.*Gives access to all player checking commands.ipav.command.*
ipav.command.player.checkGives access to view the different IPs that a user has connected with before.ipav.command.player.*
ipav.command.player.aliasGives access to view all of the players linked to all of a certain player's IPs.ipav.command.player.*
ipav.command.player.listGives access to view a list of all logged players.ipav.command.player.*
ipav.command.player.searchGives 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.checkGives 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.joindateGives access to "/joinDate", which only shows results for the player that executed it.ipav.command.joindate.*
ipav.command.joindate.othersGives access to "/joinDate [player]"ipav.command.joindate.*
ipav.command.permGives access to view the available permissions in-game.ipav.command.*
ipav.command.setJoinMessageGives access to "/ipav setJoinMessage"ipav.command.*
ipav.command.setQuitMessageGives access to "/ipav setQuitMessage"ipav.command.*
ipav.command.setKickMessageGives access to "/ipav setKickMessage"ipav.command.*
ipav.command.versionCheckGives access to manually check for plugin updates released on Bukkit.ipav.command.*
ipav.command.reloadGives 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.connectionsMakes you not show a connection address notification when you join.ipav.exempt.*
ipav.exempt.aliasesMakes you not show an alias stat notification when you join.ipav.exempt.*
ipav.exempt.ipListMakes you not show up when someone uses /ipav list.ipav.exempt.*
ipav.exempt.seerListMakes you not show up when someone uses /ipav seerList.ipav.exempt.*
ipav.bypass.*Gives access to all iPAV bypass nodes. Not configured correctly, currently uselessipav.*
ipav.bypass.ipListExemptMakes you see someone even if he/she is exempt when using /ipav list.ipav.bypass.*
ipav.bypass.seerListExemptMakes you see someone even if he/she is exempt when using /ipav seerList.ipav.bypass.*
ipav.seeUpdatesChecks for updates when a player with this permission logs in and update checking is set to true in the configipav.*

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])