Universal FastLogin 1.10

Auto login paid Minecraft accounts on offline mode (cracked) servers | Open Source | Premium UUID

  1. How can we make it so premium players do not need to type /login?
  2. Use autoRegister. It will assume new players with a premium username are paid accounts.
  3. We just made a plugin that checks if a player is in your plugins premium database and then runs a /authme login [player]. Works fine!
  4. Yes i need this please too
    • Agree Agree x 1
  5. last build website?
  6. I'd like to report a bug; http://pastebin.com/xgfrQyYJ

    Code (Text):
    15.01 08:27:31 [Server] SEVERE Task BungeeTask([email protected], id=3, [email protected]c39, ta[email protected]4e5384c2, delay=0, period=0, running=true) encountered an exception
    15.01 08:27:31 [Server] INFO java.lang.IllegalAccessError: tried to access field net.md_5.bungee.BungeeCord.gson from class com.github.games647.fastlogin.bungee.MojangApiBungee
    15.01 08:27:31 [Server] INFO at com.github.games647.fastlogin.bungee.MojangApiBungee.getUUIDFromJson(MojangApiBungee.java:25)
    15.01 08:27:31 [Server] INFO at com.github.games647.fastlogin.core.shared.MojangApiConnector.getPremiumUUID(MojangApiConnector.java:104)
    15.01 08:27:31 [Server] INFO at com.github.games647.fastlogin.core.shared.JoinManagement.onLogin(JoinManagement.java:42)
    15.01 08:27:31 [Server] INFO at com.github.games647.fastlogin.bungee.tasks.AsyncPremiumCheck.run(AsyncPremiumCheck.java:34)
    15.01 08:27:31 [Server] INFO at net.md_5.bungee.scheduler.BungeeTask.run(BungeeTask.java:63)
    15.01 08:27:31 [Server] INFO at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    15.01 08:27:31 [Server] INFO at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    15.01 08:27:31 [Server] INFO at java.lang.Thread.run(Thread.java:745)
    #826 BroPvP, Jan 15, 2017
    Last edited: Jan 15, 2017
  7. http://ci.xephi.fr/job/FastLogin/
    What version of BungeeCord do you use? That field still exists.
  8. Where i can find FastLogin devbuilds?
  9. Does anyone know how to connect to the MySQL plugin?
  10. Hello all ... I tried to re configure the plugin, but this time it gives me an error.

    10:09:40 [WARNING] Exception encountered when loading plugin: FastLogin
    com.zaxxer.hikari.pool.HikariPool$PoolInitializationException: Failed to initialize pool: null, message from server: "Host 'IP' is not allowed to connect to this MariaDB server"
    at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:512)
    at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:105)
    at com.zaxxer.hikari.HikariDataSource.<init>(HikariDataSource.java:71)
    at com.github.games647.fastlogin.core.AuthStorage.<init>(AuthStorage.java:48)
    at com.github.games647.fastlogin.core.shared.FastLoginCore.setupDatabase(FastLoginCore.java:115)
    at com.github.games647.fastlogin.bungee.FastLoginBungee.onEnable(FastLoginBungee.java:43)
    at net.md_5.bungee.api.plugin.PluginManager.enablePlugins(PluginManager.java:227)
    at net.md_5.bungee.BungeeCord.start(BungeeCord.java:272)
    at net.md_5.bungee.BungeeCordLauncher.main(BungeeCordLauncher.java:55)
    at net.md_5.bungee.Bootstrap.main(Bootstrap.java:15)
    Caused by: java.sql.SQLException: null, message from server: "Host 'IP' is not allowed to connect to this MariaDB server"
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:996)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:935)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:924)
    at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1037)
    at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2234)
    at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2265)
    at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2064)
    at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:790)
    at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:44)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:377)
    at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:395)
    at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:325)
    at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:95)
    at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:101)
    at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:341)
    at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:506)
    ... 9 more
  11. You have to configure the host address of your MySQL server in your config.
  12. If the connection of the mysql database lost anytime the plugin don't reconnect and all player can join the server.
  13. The plugin will always try to reconnect to the database from 250ms delay up to every 30 seconds
  14. So you think I'm lying?
  15. That not what I said. Why do think it doesn't reconnect? It should according to the library I'm using.

    Do you waited at least 30 seconds? And yes that all players could join should be fine, because the accounts are still password protected.
  16. Hello.
    I wanted to ask how do I make sure That a player already registered on the server, is automatically AUTO LOGGED premium if it is not to have done the command /premium.

    However, the above problem I solved!
  17. Hello!

    Auto register and autologin is not working with authme. I have latest authme build and AuthMeBridge installed. I have fastlogin on my bungee and on my hub server this is the config:

    Code (Text):
    # FastLogin config
    # Project site: https://www.spigotmc.org/resources/fastlogin.14153
    # Source code: https://github.com/games647/FastLogin
    # You can access the newest config here:
    # https://github.com/games647/FastLogin/blob/master/core/src/main/resources/config.yml

    # Request a premium login without forcing the player to type a command
    # If you activate autoRegister, this plugin will check/do these points on login:
    # 1. An existing cracked account shouldn't exist
    # -> paid accounts cannot steal the existing account of cracked players
    # - (Already registered players could still use the /premium command to activate premium checks)
    # 2. Automatically registers an account with a strong random generated password
    # -> cracked player cannot register an account for the premium player and so cannot the steal the account
    # Furthermore the premium player check have to be made based on the player name
    # This means if a cracked player connects to the server and we request a paid account login from this player
    # the player just disconnect and sees the message: 'bad login' or 'invalid session'
    # There is no way to change this message
    # For more information: https://github.com/games647/FastLogin#why-do-players-have-to-invoke-a-command
    autoRegister: true

    # This is extra configuration option to the feature above. If we request a premium authentication from a player who
    # isn't actual premium but used a premium username, the player will disconnect with the reason "invalid session" or
    # "bad login".
    # If you activate this, we are remembering this player and do not force another premium authentication if the player
    # tries to join again, so the player could join as cracked player.
    secondAttemptCracked: false

    # New cracked players will be kicked from server. Good if you want switch from offline-mode to online-mode without
    # losing players!
    # Existing cracked and premium players could still join your server. Moreover you could add playernames to a whitelist.
    # So that these cracked players could join too although they are new players.
    switchMode: false

    # If this plugin detected that a player has a premium, it can also set the associated
    # uuid from that account. So if the players changes their usernames, they will still have
    # the same playerdata (inventory, permissions, ...)
    # Warning: This also means that the UUID will be different if the player is connecting
    # through a offline mode connection. This **could** cause plugin compatibility issues.
    # This is a example and doesn't apply for every plugin.
    # Example: If you want to ban players who aren't online at the moment, the ban plugin will look
    # after a offline uuid associated to the player, because the server is in offline mode. Then the premium
    # players could still join the server, because they have different UUID.
    # Moreover you may want to convert the offline UUID to a premium UUID. This will ensure that the player
    # will have the same inventory, permissions, ... if they switched to premium authentification from offline/cracked
    # authentification.
    # This feature requires Cauldron, Spigot or a fork of Spigot (PaperSpigot, TacoSpigot)
    premiumUuid: true

    # This will make an additional check (only for player names which are not in the database) against the mojang servers
    # in order to get the premium UUID. If that premium UUID is in the database, we can assume on sucessful login that the
    # player changed it's  username and we just update the name in the database.
    # Examples:
    # #### Case 1
    # nameChangeCheck = false ----- autoRegister = false
    # Player logins as cracked until the player invoked the command /premium. Then we could override the existing database
    # record.
    # #### Case 2
    # nameChangeCheck = true ----- autoRegister = false
    # Connect the Mojang API and check what UUID the player has (UUID exists => Paid Minecraft account). If that UUID is in
    # the database it's an **existing player** and FastLogin can **assume** the player is premium and changed the username.
    # If it's not in the database, it's a new player and **could be a cracked player**. So we just use a offline mode
    # authentication for this player.
    # **Limitation**: Cracked players who uses the new username of a paid account cannot join the server if the database
    # contains the old name. (Example: The owner of the paid account no longer plays on the server, but changed the username
    # in the meanwhile).
    # #### Case 3
    # nameChangeCheck = false ----- autoRegister = true
    # We will always request a premium authentication if the username is unknown to us, but is in use by a paid minecraft
    # account. This means it's kind of a more aggressive check like nameChangeCheck = true and autoRegister = false, because
    # it request a premium authentication which are completely new to us, that even the premium UUID is not in our database.
    # **Limitation**: see below
    # #### Case 4
    # nameChangeCheck = true ----- autoRegister = true
    # Based on autoRegister it checks if the player name is premium and login using a premium authentication. After that
    # fastlogin receives the premium UUID and can update the database record.
    # **Limitation from autoRegister**: New offline players who uses the username of an existing minecraft cannot join the
    # server.
    nameChangeCheck: true

    # If your players have a premium account and a skin associated to their account, this plugin
    # can download the data and set it to the online player.
    # Keep in mind that this will only works if the player:
    # * is the owner of the premium account
    # * the serverconnection is established through a premium connection (paid account authentification)
    # * has a skin
    # This means this plugin doesn't need to create a new connection to the Mojang servers, because
    # the skin data is included in the Auth-Verification-Response sent by Mojang. If you want to use for other
    # players like cracked player, you have to use other plugins.
    # If you want to use skins for your cracked player, you need an additional plugin like
    # ChangeSkin, SkinRestoer, ...
    forwardSkin: true

    # Displays a warning message that this message SHOULD only be invoked by
    # users who actually are the owner of this account. So not by cracked players
    # If they still want to invoke the command, they have to invoke /premium again
    premium-warning: true

    # If you have autoRegister or nameChangeCheck enabled, you could be rate-limited by Mojang.
    # The requests of the both options will be only made by FastLogin if the username is unknown to the server
    # You are allowed to make 600 requests per 10-minutes (60 per minute)
    # If you own a big server this value could be too low
    # Once the limit is reached, new players are always logged in as cracked until the rate-limit is expired.
    # (to the next ten minutes)
    # The limit is IP-wide. If you have multiple IPv4-Addreses you specify them here. FastLogin will then use it in rotating
    # order --> 5 different IP-addreses 5 * 600 per 10 minutes
    # If this list is empty only the default one will be used
    # Lists are created like this:
    #    - 192-168-0-2
    ip-addresses: []

    # How many requests should be established until the plugin uses the third-party API https://mcapi.ca/
    # Once this number is reached in a range of ten minutes it will start connecting to https://mcapi.ca/ for the next ten minutes
    # This option exists in order to workaround the rate-limiting. Name -> UUID are fetched in the same way like heads
    # If you want to join the discussion visit this: https://github.com/games647/FastLogin/issues/27#issuecomment-226954350
    mojang-request-limit: 600

    # This option automatically registers players which are in the FastLogin database, but not in the auth plugin database.
    # This can happen if you switch your auth plugin or cleared the database of the auth plugin.
    # https://github.com/games647/FastLogin/issues/85
    auto-register-unknown: false

    # This disables the auto login from fastlogin. So a premium (like a paid account) authentication is requested, but
    # the player won't be auto logged into the account.
    # This can be used as 2Factor authentication for better security of your accounts. A hacker then needs both passwords.
    # The password of your minecraft and the password to login in with your auth plugin
    autoLogin: true

    # Single file SQLite database
    #driver: org.sqlite.JDBC
    # File location
    #database: '{pluginDir}/FastLogin.db'

    # MySQL
    driver: com.mysql.jdbc.Driver
    host: localhost
    port: 3306
    database: someuser
    username: somedb
    password: somepass
    Can you tell me what am I doing wrong on hub I also have latest protocollib. I am using the same config for bungee. There are no errors but the players are not getting auto logged in.I am also running the dev build of FastLogin.

    Thank you.
  18. FastLogin checks that automatically. Auto register is disabled for already registered players.
    Do you followed the setup guide on Github. https://github.com/games647/FastLogin#bungeecordwaterfall-1