FlexibleLogin [v0.17] for Sponge 7+ - Auth plugin - 2FA


At first please forgive me for my bad English
player can discard others items!
Let me take an example to tell you about this big BUG!!!
if a player named XXX. XXX’s bag has a lot of items or blocks.
i can change the usename to XXX.
Then i enter the server.
i do not login in. i can press “G” key or “Ctrl+G” Then XXX’s item will discard. i can discard all items or blocks as long as XXX’s bag have.

Otherwise it will bring big trouble.!!!


What version of FlexibleLogin and what version of Forge and Sponge are you using?


I don’t see the commands in the console. What version do you use? I’m using 5.X


Hi im getting an error pls help…
after i enter my test server there is no warning for register or login
if i try to move or break a block or change my held item im getting disconnected after a long moment (at first everything seem normal but i cant break a block or use anything i just can move around after a while-nearly 30 sec-im getting disconnected…)
Most important thing is that my client tries to change my held item but i think flexiblelogin tries to block me so my held item doesnt changes but selected slot at bottom flashes through 2nd-3rd slots… so i think plugin works but some things gone wrong…

im using 1.10.2 spongeforge server and last release of this plugin…

Here is the error message in console

[02:10:32] [Server thread/ERROR] [Sponge]: Could not pass ClientConnectionEvent$Join$Impl to org.spongepowered.mod.plugin.SpongeModPluginContainer@2fcba489
java.lang.NoSuchMethodError: org.spongepowered.api.entity.living.player.Player.setLocation(Lorg/spongepowered/api/world/Location;)V
at com.github.games647.flexiblelogin.ProtectionManager.protect(ProtectionManager.java:59) ~[ProtectionManager.class:?]
at com.github.games647.flexiblelogin.listener.ConnectionListener.onPlayerJoin(ConnectionListener.java:74) ~[ConnectionListener.class:?]
at org.spongepowered.common.event.listener.JoinListener_ConnectionListener_onPlayerJoin20.handle(Unknown Source) ~[?:?]
at org.spongepowered.common.event.RegisteredListener.handle(RegisteredListener.java:95) ~[RegisteredListener.class:1.10.2-2044-5.0.0-BETA-1661]
at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:349) [SpongeModEventManager.class:1.10.2-2044-5.0.0-BETA-1661]
at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:332) [SpongeModEventManager.class:1.10.2-2044-5.0.0-BETA-1661]
at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:377) [SpongeModEventManager.class:1.10.2-2044-5.0.0-BETA-1661]
at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:362) [SpongeModEventManager.class:1.10.2-2044-5.0.0-BETA-1661]
at org.spongepowered.common.SpongeImpl.postEvent(SpongeImpl.java:138) [SpongeImpl.class:1.10.2-2044-5.0.0-BETA-1661]
at net.minecraft.server.management.PlayerList.initializeConnectionToPlayer(PlayerList.java:392) [mp.class:?]
at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.completeServerSideConnection(NetworkDispatcher.java:260) [NetworkDispatcher.class:?]
at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.access$100(NetworkDispatcher.java:73) [NetworkDispatcher.class:?]
at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher$1.func_73660_a(NetworkDispatcher.java:209) [NetworkDispatcher$1.class:?]
at net.minecraft.network.NetworkManager.func_74428_b(NetworkManager.java:287) [eo.class:?]
at net.minecraft.network.NetworkSystem.func_151269_c(NetworkSystem.java:180) [md.class:?]
at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:732) [MinecraftServer.class:?]
at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:387) [ld.class:?]
at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:613) [MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:471) [MinecraftServer.class:?]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_101]


Plugin needs to be updated for API 5.0.0.


You are properly using the 4.X version of FlexibleLogin. As you can see on the Github page 9.2 of FlexibleLogin is made for 4.X. If you use Sponge 5.X you should use 0.9.1


games647 u are a life saver :smile: i was nearly trying 1.8.9 server thank you :smile: and pls add a notice for others to see 0.9.1 is for 5.x easily thx again :slight_smile:


i started to plugin coding just this week and i made a very simple plugin…
i was planning to make another plugin that teleports player at first join and teaches him some rules or asks some questions…
My first thought was this FlexibleLogin plugin was using some permissions to check whether if player is logged in or not…
i looked to the source code and i was like :scream: WOOAAAAAT…
Even understanding listeners took an hour or so :open_mouth:
Using Sql for all informations and whole calling functions in functions in functions… :fearful:
Im both amazed and excited about these Source Codes and i will study them in order to learn professional coding…
i didnt searched for source codes of other plugins and i dont know whether if they are complicated like urs too, But this plugin is an actual masterpiece… :+1::+1::+1::+1::+1::+1::+1::+1:
I hope i learn so much that i can make amazing plugins, programs etc. like you… Good Luck and Thanks for this perfect plugin… :sweat_smile:


is there a way to understand whether if a player logged in simple?
or only from .db file…
if there is not, i will have to listen players events and if he can move in another block etc. this will mean he registered or logged in successfully…


Never thought that it actually helps anyone. It’s one of my first Sponge plugins, so I thought the code would be very bad atm. Glad that I could help you.

I wouldn’t rely on listing on move events.

It would be much easier and safer if you do this:

  1. Access the FlexibleLogin main instance through the plugin manager or FlexibleLogin.getInstance()
    (Check if the plugin is actually loaded and that you load your plugin after FlexibleLogin)
  2. Access the database instance .getDatabase()
  3. Get the loaded account .getAccountIfPresent
    This will be null if the account isn’t loaded yet or the player is unregistered. So check it for null.
  4. Then you can access the isLoggedIn method from that account instance.


Theres an issue.

I putted the plugin on my pixelmon server and players are able to throw stuff and talk without being registered or logged in. is this a bug or can be edited in the console?


Please check for error messages


what do u mean? im new with console and stuff but yet the issues are:
(On Cracked)

  1. you can just get on someones account and throw stuff execute comments etc…
  2. you can just start doing stuff without even registering it will just spam register msg and ur just walking freely. is it something with config or just a problem with the plugin? im using this on a pixelmon server cause it was the only one i was able to find.


Just check the log files for errors.


there arent any errors simple u can just throw stuff and talk while ignoring the login or register msg coming up


Which sponge version do you use?


not exactly sure i just customized it on the host so i can run pixelmon for mc 1.8.9 i downloaded the newest version of ur plugin


If you are using the last version of FlexibleLogin, then you are using the wrong version. The last uploaded version is only for Sponge 5.X


ok so i tried many of them and it seems like in 0.7 everything works but sadly u can still toss out items, means peoples can go on OP account and toss out items from gmc, i am using minecraft 1.8.9, do i need another version? and im making this because 0.7 has the change password feature


Why don’t you use 0.9.2?