Bungee - Spigot IPUserAccess 1.1.2

IP and User/UUID whitelist/blacklist plugin that works with BungeeCord proxies

  1. tk11 submitted a new resource:

    IPUserAccess - IP and User/UUID whitelist/blacklist plugin that works with BungeeCord proxies

    Read more about this resource...
  2. Can you add support for MySQL as soon as possible? I really need a whitelist with MySQL and UUID support. The only plugin I have found that support this is GrimList but it doesn't work.
  3. I was actually just looking at it yesterday to do some pre-planning. I am kind of swamped at work and my new school semester just started, but I will try to get it done as soon as I can. I plan on working on it some over the next few days. Hopefully it will not take too long considering I have integrated SQL into a number of Java programs of mine. I just need to check the API.

    But thanks for your inquiry and considering my plugin.
  4. Sounds great! :)
  5. I am pretty much done with the MySQL support. In the process of testing, I noticed a few things throughout the plugin that I want/need to rework before I release. It should not be too long.
  6. Hi,

    How can I enable the kick message when players connect to the servers directly (outside bungee).

    Any spigot/bungee settings i should change?
    All i get is "If you wish to use IP forwarding enable it in the BungeeCord config as well."
  7. tk11 updated IPUserAccess with a new update entry:

    Added SQL support and made some updates

    Read the rest of this update entry...
  8. Unfortunately there is no current fix for that. The problem right now is that the Bungee-Spigot configuration overrides the custom kick message to display the IPForwarding message. There is nothing anyone can do unless the devs change how that works. This is the forum post that discusses it: http://www.spigotmc.org/threads/ip-forwarding-in-build-1332.14589/ You can test and tell that the kick message WOULD work properly, if you use the plugin on an online server (non-Bungee). But the primary functionality still works.

    By the way, I just updated the plugin, including new SQL support.
  9. I forgot to say that I should have another update in the near future. I just wanted to get this version out for those looking to the MySQL support, plus the small fixes that I made. I added more information on the main page.
  10. @tk11
    This looks like a cool plugin. I have a feature request, if I may.
    Not sure if it fits in this plugin or if it calls for another plugin:

    Could you add the feature, that a player that has played on my server gets kicked with a custom message, when he logs in with another username.
    Background is the name-changing feature from Mojang. I'd like my players to contact me, when the change names so i can unlock them again.

    I haven't found anything like that feature all across spigot.
  11. That certainly is possible. My user filtering tracks username and UUID, it checks both username and UUID, though the primary goal is UUID tracking. This was in anticipation of name changes.

    I could add another step that checks for a mismatch between username and UUID compared to a listed user, and kicks with a separate message.
    • Like Like x 1
  12. That would be really really awesome. :)
  13. I really love this plugin! But I have one problem: whenever a player joins and the UUID checkup is going on there is some serious lag on the server.
    #13 DonGrif, Feb 17, 2015
    Last edited: Feb 17, 2015
  14. It shouldn't cause lag. When a player joins, all of the information is available so the plugin just grabs the UUID from the player. The only time I can think it might have any issue is if you are calling the UUIDFetch when the player is offline because it might try to request from Mojang, but even then it is only a single call.

    What else are you running? Maybe there is a conflict?
  15. @DonGrif - Hey, I was thinking about it. Are you using database storage for the plugin, and if so, is the
    database on a server separate from the MC server? A couple of my servers are hosted and I have a database that comes with it. It mentions in the hosts's FAQ that "It is not recommended to use databases from other services such as web hosting, etc for plugins as it may cause lag on your server."

    One issue that I do see with this is if you are using the same database for multiple Bungee servers. I was mentioning in my documentation about how it would be beneficial to have a cache so that it would not be necessary to fetch a user to list on one server if he or she has been on another server in the network. It may be possible to implement some sort of synchronization so that you could run multiple databases, on with each server, which is something I was considering earlier before the realization that all server could just use the same database with a cache.

    If you are using the database, is it the same one for all servers? Is it located on the hub server (where the initial player check should occur)?
  16. I only have one server and it is hosted. It comes with a mysql database that I use. That's it.
    I have noticed that the lagg doesn't occur when everybody logs in, just sometimes. Can it be that it lags only when the UUID is not cached and it have to do a fetch over at Mojangs servers?
  17. The only time that the UUID is pulled from Mojang is if you add someone to the user/UUID whitelist or blacklist, and they are offline. First it checks if the user is online, in which case it would get the UUID directly from the online player. If the user is offline, then it will use the UUIDFetcher, which uses the Mojang API to fetch the UUID from their servers. Sometimes the servers are down, which may cause an issue. I am also looking at adding another step that checks the default usercache.json for visited players. The reason I want to implement a DB cache is to span across multiple servers in case a user has visited one server but not another on the network.

    As for players logging in, there is no request to Mojang. When the player logs in, the plugin pulls all of the user data directly from the connecting player - name, UUID, their origin IP and proxy IP (if connecting on a Bungee network). It then checks the unsername, UUID and/or IP against the lists, depending on which mode is selected. Then it kicks or allows.

    So unless there is a communication issue to the DB or your list is enormous, I cannot think of any reason for it to lag when someone connects. Do you have any other plugins?
  18. I have a bunch of plugins that uses UUID too. Like griefprevention, essentials, lockette and some more.
    In my database I have almost 230 players so it's not that huge.
  19. Hi

    I'm having an odd issue.
    Ipua connects to MySQL and I can do a /ipua list wluser which returns my usersname. But when I try to connect to the server using Minecraft i keep getting the errormessage "IPUseraccess - You are not authorized...". I have tried setting the mode to nolist, then I'm allowed (obviously), but when setting mode to whitelist_user I am back to square one.... any suggestions?
    #19 DaKaKo, Mar 21, 2015
    Last edited: Mar 22, 2015
  20. Hi again

    I did some more testing...

    If I set "/ipua mode nolist", have a user (UserA) join the server and then add the user to the whitelist "/ipua wluseradd UserA", reset the mode to whitelist_user, then UserA is allowed to connect.

    But if I simply add a user to the whitelist when the mode is set to whitelist_user, the user is not being allowed to join the server.

    What am I doing wrong...???