FirstLastSeen - Track first join and last part times Version: v0.10 FirstLastSeen keeps track of a players first join time, and their last logout/kick time, and provides simple commands with which to access that data. FirstLastSeen also has the ability to important firstseen and lastseen times from Towny, to do this enabled ImportTowny in the config file, once complete it will disable ImportTowny again. FirstLastSeen supports and is tested with PermissionsEx. FirstLastSeen also supports default Bukkit Permissions! And will support any permissions plugin that does the same. FirstLastSeen also tentatively supports Permissions 2.7.4 and 3.1.x, but is not tested against these. Translation can be accomplished with the lang file the plugin will create, simply change the wording and place the <date> and <player> tags accordingly. FirstLastSeen has been translated into German, Spanish, and Polish: Download German lang file. - Thanks to @ST-DDT Download Spanish lang file. - Thanks to kevdama Download Polish lang file. - Thanks to @TGF (Also, check out TGF's readme for FirstLastSeen, it puts me to shame for not having made one at all!) FirstLastSeen will broadcast a message to your server when a player first joins. To modify or disable this feature, simply edit the string in the "lang" file. If you translate this plugin I would be very grateful if you would send me your lang file so that I may share it with others in this post. Features: Logs first join time. Logs last part time. Announces a player's first join. Can import times from towny. Lets server owners edit their first join times all the way back to the age of disco! Impartial name targeting for online users, exact name searching for the offline. Translation file to let you change the messages to whatever language you require. Supports PermissionsEx, Permission 2/3, Bukkit Permissions, and defaults to OP. Has a static methods API to allow other plugins to access FirstLastSeen data easily. Commands: /firstseen [player] - Displays first join date for that player /lastseen [player] - Displays last part date for that player /seen [player] - Displays both first join and last part date for that player Permissions: Nodes (Move your mouse to reveal the content) Nodes (open) Nodes (close) firstlastseen.* - Implies all other firstlastseen permissions nodes. firstlastseen.firstseen - /firstseen firstlastseen.lastseen - /lastseen firstlastseen.seen - /seen API: For Developers (Move your mouse to reveal the content) For Developers (open) For Developers (close) FirstLastSeen contains two static methods in its main class "FirstLastSeen", they are "getFirstSeenLong(String playerName)" and "getLastSeenLong(String playerName)" To use these, you must do the following: Add FirstLastSeen to your "depend" in your plugin.yml Add the FirstLastSeen.jar to your build path Call FirstLastSeen.getFirstSeenLong or FirstLastSeen.getLastSeenLong whenever you need it! The long data returned is of the same type as System.getCurrentTimeInMillis();, which is to say it is the unix timestamp in milliseconds. FirstLastSeen's methods will return -1 when it encounters an error, or when there is no data, so be sure to check for -1 on your returned long! Download FirstLastSeen Changelog: Version 0.10 Updated for new event system Version 0.9 Added static methods API to allow FirstLastSeen data to be easily accessible by other plugins. Version 0.8 Now adds players on first load who were already in the server. Now with ability to color messages in the lang file with the & color codes Older versions (Move your mouse to reveal the content) Older versions (open) Older versions (close) Version 0.7 Supports Bukkit Permissions and Permissions 2/3 Version 0.6 Added announce to server on first join. Version 0.5 Fixed a bug on unix-based hosts relating to file duplication in my fix for case-insensitivity. Version 0.4 Case-insensitive searching of players. Version 0.3 Now with less typo Support for @t3hk0d3 's PermissionsEx added Version 0.2 Multi-language support added Version 0.1 First release.