[INACTIVE][ADMN] IPGet v0.5 - Allows OPs to see the IP address of other players [860]

Discussion in 'Inactive/Unsupported Plugins' started by Yoharnu, Apr 4, 2011.

  1. Offline

    Yoharnu

    IPGet - IP Acquisition:

    Version: v0.5
    Allows OPs to see the IP address of other players. It's that simple. I created it to help ban players by IP.

    Features:
    • /ip Player = returns Player's IP address
    • /ip = returns your IP address
    • Keeps logs of players login times and IP addresses
    To install, simply copy the IPGet.jar to your plugin directory and start CraftBukkit normally.

    Download The Plugin (.jar)
    Source Code

    [​IMG]

    Permissions:
    • IPGet.self - player can get their own IP
    • IPGet.other - player can get the IP of another player
    To do:
    • Change Permissions to have a different permission for getting your own IP
    • See a player's last known IP if that player is offline
    • Implement "/ip ban <player>"
    • Alert OPs (or people with permission) when two players are logged in with the same IP
    • Find "known associates" of a player. "/ip ka Player1" displays "Player2 is a known associate of Player1" if they have ever logged in from the same IP
    Changelog:
    Version 0.5 - June 16, 2011
    • Added ability to see a player's last known IP if that player is offline
    Version 0.4 - April 09, 2011
    • Changed Permissions
    • Added log to track players' login times and IPs
    Version 0.3 - April 09, 2011
    • Fixed a problem where servers without Permissions couldn't run the plugin
    Version 0.2 - April 08, 2011
    • Added support for Permissions
    • Add IPGet.* or IPGet.getIP to Permissions to be able to use /ip
    Version 0.1 - April 05, 2011
    • Initial Release
     
    Finer1, finchson, Wolf and 3 others like this.
  2. Offline

    DaClowns

    It's .zip when I download it... how do i set it up..?
     
  3. Offline

    Dslayer40

    Would be great to have this plugin updated. It would be very useful on my server.
     
  4. Offline

    Hretsam

    Due to the lack of updates, and KiloWhiskey asking for one i took the liberty to fork the repo and update it.
    I send a pull request to Yoharnu, will see what he does.
    (Will post a new thread or something if he doesn't respond in a week)

    Anyways here is IPget v0.6
    New Features:
    - Saves players in a .yml file (gets automaticly created)
    - Added command /iplist <player>
    This command will list all the ip's the user has used to login, with the last date he used it
    - Added command /ipusers <player>
    This command will list all the users that use the same IP as the given player.
    (This will accept an IP in a future update)
    - /ip will now give your own ip, or the ip of the given user
    - To see anything related with yourself (so your own playername) you need the node "IPGet.self"
    - To see anything not related with yourself (so of other players) you need the node "IPGet.other"

    Download it here
    Github here

    Hope you enjoy
     
    KiloWhiskey and M1sT3rM4n like this.
  5. Offline

    M1sT3rM4n

    Very nice. You should probably just take over the project and make your own thread.
     
  6. Offline

    KiloWhiskey

    Can you add a warn-on-first-join true/false to the config. I should check the full list of known players and see if that player matches anyone who is on or has joined in the past by that IP. Could be like KiloWhiskey joined the server - IP changed to x.x.x.x or KiloWhiskey joined the server - IP shared by name, name and name. The offline check would be the key there though. So if I ban a player and he tries to come back the next day or if a trouble maker goes to the house of a banned player and joins, the accounts still show up as linked. Also, does this convert the old files to .yml or will I need to start the ip logs over from scratch? I can see me having a lot of questions and making a few requested tweaks :D
     
  7. Offline

    Hretsam

    First of all, thank you for your support KiloWhiskey!


    I present IPget v0.7
    Changes:
    - Commands /iplist and /ipusers accept offline player
    - Command /ipusers accepts an ip address
    - Fixed permission bug!
    - Added config file
    - When no permissions it will not fall back automatic to OP. (this can be adjusted in config file)
    - Made possible to customize the syntax of the date string
    - Added warning when a new player joins (will say how maby users have the same ip address)
    - Code Cleanup
    - If no config file, the plugin will create one for you.

    Download it here
    Github here

    Config file here:
    config.yml (open)

    ---

    ## Version of the config file, do not touch
    configversion: 1

    ## Permissions node:
    ## These can be used with or without the permissions plugin
    ## set to something you like (for example 'gills.admin') to make use it in Permissions
    ## set it to 'none' to disable the node
    ## set it to 'all' to make the node available to all users
    ## set it to 'op' to make the node available to op's
    ## the warning has an extra option 'server' where the warning is only printed to the server

    ## This node is to get information about yourself.
    ## Like your own ip, or connected accounts to own ip address
    self node: IPGet.self
    ## This node is to get information about someone else
    other node: IPGet.other
    ## Node to get the warning messages
    warning node: IPGet.warning

    ## Sends a warning to all players with the warning node and the server.
    ## The warning will only be send if the player's ip is used by multiple accountsx
    warn on first join: true

    ## Syntax on how the data is printed
    ## See folling website for more info: http://download.oracle.com/javase/1.4.2/docs/api/java/text/SimpleDateFormat.html
    date syntax: dd-MMM-yyyy hh:ss


    ...

    This commit is also send as a pull request to the first developer.

    Hretsam
     
  8. Offline

    KiloWhiskey

    No problem man! Now for the new requests. :p First would be support of the console. Logging the warning info to the console and access to the commands. Next would be a way to get all of the old ip info that I've gathered converted into the new file. Manually adding the 1127 files I have now to input the info into the new file is a bit more work than I'd like to get into. I still have to add all of the ip connections from my datalog backups as is. With more that 2500 connections in the last couple of months and more than 380 bans, you can see why I needed this plugin. Thanks again for jumping on this. I never expected you to knock it out so fast.
     
  9. Offline

    Hretsam

    No problem, this is a nice plugin to update.
    Could you send me one of your log files? Then i can make a converter for it.
    And the console commands will be there in the next update.

    Edit:

    Nevermind, found a log file
     
  10. Offline

    KiloWhiskey

    I have a problem with the old system that it would be nice if your converter can work around. Look at this log. http://kitecraft.net/files/Player.log and you'll see that his system was logging even port changes. For some reason this only affected some of the players. It always bugged me since it was useless info.
     
  11. Offline

    Hretsam

    Yeah, i noticed will filter that out.
     
  12. Offline

    KiloWhiskey

    What is the result if no time is put in? I'm trying to write something to dump the MySQL info from DataLog for each player join into a file so I can put it into the log as well. I'm not sure how to convert the date and time so I was going to just leave it blank or make all of them the same (some date I'd see as a symbol of them being from the old log like 3 march).
     
  13. Offline

    Hretsam

    Well, the date how its printed in the old logs is bad..
    I convert them so i can parse them and get back a Long so you can change it to an other format without doing much.

    You also want to add the data that are in a MysqlDump? If you send a part of it, i can add it in the converter?
     
  14. Offline

    KiloWhiskey

    I'm not really even sure how to do it. :/ I have my normal mysql db called 'minecraft'. In that db is a table called 'oldlog' that is an old 1gig table of all player action on the server from early May to early July.

    The way datalog used to work, I would be able to take parts of that table. The primary parts I'd be after would be "player" "date" "action" and "data" The 'date' is in this format "2011-05-09 13:32:39", 'player' is just each players name. 'action' would be '5' (datalog saw action 5 as connection to the server) and 'data' for action 5 is just an ip address. nothing more. I have a friend who is good with php and such so I was going to have him write a script that would just dump the info from that table out by reading out each line where action=5 and dumping 'player' 'date' and 'data' so I'd get a list of playername, login date/time and IP used. From that I'd have every login from '9 May' to '2 July' all in one file. Not sure where to go from there, but it would be a start. If you can figure out from all that mess how to pull the info, it would be awesome. Sorry I'm not more help. I guess if I understood all of this better I wouldn't be asking for help.

    Edit: Here's an example of how the 'oldlog' table from the 'minecraft' db looks in phpMyAdmin http://kitecraft.net/files/table.txt
    You can see that I'd need to change over the date, list the player (if not already found in the .yml) but only for action "5" and then put in the IP (again, only if not already listed in the .yml)
     
  15. Offline

    Hretsam

    I get what your saying, and i can make a small converter for that.
    There is no need to dump it btw, as i can make an SQL connection to your mysql db and get the results from the table itself.

    I'll start on it probably tomorrow.

    For now i got 0.8!


    I present IPget v0.8
    Changes:
    - Fix bug where iplist was to long for the chat cutting stuff off
    - Added console commands (/iplist & /ipusers)
    - /ipusers will print different now, like a /players or /who list
    - You can set the max amount of ip's printed
    - Added converter to convert old logs to new (only latest logindate for each ip will be stored)
    - Fixed typo in Date syntax
    - /iplist will sort ip's on last used (so the first is the most recent)

    Download it here
    Github here

    (New) Config file here:
    config.yml (open)

    ---

    ## Version of the config file, do not touch
    configversion: 2

    ## Permissions node:
    ## These can be used with or without the permissions plugin
    ## set to something you like (for example 'gills.admin') to make use it in Permissions
    ## set it to 'none' to disable the node
    ## set it to 'all' to make the node available to all users
    ## set it to 'op' to make the node available to op's
    ## the warning has an extra option 'server' where the warning is only printed to the server

    ## This node is to get information about yourself.
    ## Like your own ip, or connected accounts to own ip address
    self node: IPGet.self
    ## This node is to get information about someone else
    other node: IPGet.other
    ## Node to get the warning messages
    warning node: IPGet.warning

    ## This is the maximum size of the iplist (for command /iplist)
    max iplist size: 6

    ## Sends a warning to all players with the warning node and the server.
    ## The warning will only be send if the player's ip is used by multiple accountsx
    warn on first join: true

    ## Syntax on how the data is printed
    ## See folling website for more info: http://download.oracle.com/javase/1.4.2/docs/api/java/text/SimpleDateFormat.html
    date syntax: dd-MMM-yyyy HH:mm


    ...


    This commit is also send as a pull request to the first developer.
    Will give him till Wednesday to respond, otherwise i make a new post.

    Hretsam
     
    KiloWhiskey likes this.
  16. Offline

    KiloWhiskey

    I actually can't think of anything more that I'd like this plugin to do. You've got it all in there and it's awesome. Now I need to think of some other plugin ideas to throw at you. :D This does need it's own thread. It's almost a whole new plugin at this point.
     
  17. Offline

    Snowy007

    Does it have an ip-ban command? If not.. then that might just make it even better!
    My moderators are not OP and can't use the already in-game ipban command.
    Most other plugins only have name bans.
     
  18. Offline

    KiloWhiskey

    I use MCBans, so I doubt I'd use this as a ban solution, but I fully support the addition.
    @Hretsam did you ever work out that converter? When you move this to its own thread you might rename it since it does more than get an ip now. Maybe something like IPNotify...dunno.
     
  19. Offline

    Hretsam

    No, i tought you didn't need it anymore. But i'll work on it.

    For the plugin, i'll add a ipban command, and i am working on a second addition. If its done, i'll make the new thread. (as i havn't heard from the yoharnu)
     
  20. Offline

    KiloWhiskey

    Always appreciated. :D I'll keep an eye on the thread.
     
  21. Offline

    Hretsam

  22. Offline

    Buckethead

    stipp work in 1060?
     
  23. Offline

    Buckethead

    can u add pex support / superperms?
     
  24. Offline

    dark_hunter

    This guy has lost interest, I suggest you look for another plugin.
     
  25. It still does work?
     
  26. Offline

    Omnitv

    Update to 1.2.5 please
    plugin defective for 1.2.5
     

Share This Page