games647 / flexiblelogin Goto Github PK
View Code? Open in Web Editor NEWA Sponge minecraft server plugin for second factor authentication
Home Page: https://forums.spongepowered.org/t/8872
License: MIT License
A Sponge minecraft server plugin for second factor authentication
Home Page: https://forums.spongepowered.org/t/8872
License: MIT License
Could you put the jar file with the last hotfix?
Some users are being douche bags and are logging into players who are already logged in which causes them to be kicked, can a command be added to /lockaccount which won't let anyone else login while they are authenticated?
I have filled config user and password, but It looks like empty during startup so I cannot connect to database.
My config:
http://pastebin.com/YhGmsEeg
FML log:
http://pastebin.com/rMieAHCw
Error starts on line 1195
Just like any website / email:
If a user attempted more than the allowed amount of tries (config option) it will tempban the account for X amount of time (config option)
Make a command like "/flexiblelogin" to be a Admin Command.
I think this is great, because it is more convenient for the administrator.
Running:
Flexible Login 12.3
Sponge API: 5.1.0 Snapshot 6459642
SpongeForge 1.10.2-2221-5.1.0 Beta 2142
MinecraftForge 12.18.3.2221
EDIT:
Removed config for space
I suggest to add a command to reload the config file. I trust it will be more convienient to edit the config file.
/flexiblelogin resetpw|reload|unregister|register
Register : When use /flexiblelogin register Account Password
, it show "Force register success", but account still not find in database...
#34 (comment)
The problem is still existing. Now, if people use "q" to try to drop some items before login, items will not be dropped on the ground, but items will be deleted.
Hello,
Can I ask you about AuthMe DB compatibility? I want to run new server on SpongeForge for 1.10.2, but I have to use AuthMe 'cause of web login connected with game. And on other servers I can't run Sponge.
I found when I logined the game, the system had restricted me to move to left, right, forward or back successfully. However, when I tried to move up or move down, the system did not stop me. Yep, for most players, they cannot fly, but ops can do it. I hope you can improve this plugin(or mod?).
Thank you very much.
I see you worked on the plugin. But don't put the jar file. Plan something else to add or just forgot?
I have mentioned this issue, but I think this is very important, so put forward again, please forgive me.
Attract more users, rather than let them update their own language.
message_en
message_zhcn
message_ru
message_(country code)
We don't need a file suffix (like *.lang), because the meaning of "message" is very clear ( But, this is not a problem, too... What do you want to do, just like that).
3. In config file, users can change what language file they need to use(For example: Language "message_en").
4. Then accept the pulls from other users, it is perfect.
5. Done!!!
If you login on the server you will only get 1 message telling you to /login or /register. I think it should be replaced with if the user hasn't registered it will tell them they have to /register because saying /login might confuse them.
An unregistered user can also walk around and when they try to interact they don't get any messages reminded them to /register or they won't be able to do anything, because most think it's an issue with the server. And to go with that, add a maximum distance they can walk before being teleported back to their log out location usually something like 2-10 blocks.
Hi! Add the lang file/class please. I wanna translate your plugin ^_^
[00:26:38] [Server thread/ERROR] [Sponge/sponge]: Could not pass FMLInitializationEvent to org.spongepowered.mod.plugin.SpongeModPluginContainer@64b0774
java.lang.NoClassDefFoundError: org/spongepowered/api/event/entity/DisplaceEntityEvent$TargetPlayer
at java.lang.Class.getDeclaredMethods0(Native Method) ~[?:1.8.0_101]
at java.lang.Class.privateGetDeclaredMethods(Unknown Source) ~[?:1.8.0_101]
at java.lang.Class.privateGetPublicMethods(Unknown Source) ~[?:1.8.0_101]
at java.lang.Class.getMethods(Unknown Source) ~[?:1.8.0_101]
at org.spongepowered.common.event.SpongeEventManager.registerListener(SpongeEventManager.java:181) ~[SpongeEventManager.class:1.10.2-2026-5.0.0-BETA-1599]
at org.spongepowered.common.event.SpongeEventManager.registerListeners(SpongeEventManager.java:225) ~[SpongeEventManager.class:1.10.2-2026-5.0.0-BETA-1599]
at com.github.games647.flexiblelogin.FlexibleLogin.onInit(FlexibleLogin.java:176) ~[FlexibleLogin.class:?]
at org.spongepowered.common.event.listener.GameInitializationEventListener_FlexibleLogin_onInit3.handle(Unknown Source) ~[?:?]
at org.spongepowered.common.event.RegisteredListener.handle(RegisteredListener.java:95) ~[RegisteredListener.class:1.10.2-2026-5.0.0-BETA-1599]
at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:354) [SpongeModEventManager.class:1.10.2-2026-5.0.0-BETA-1599]
at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:395) [SpongeModEventManager.class:1.10.2-2026-5.0.0-BETA-1599]
at org.spongepowered.mod.SpongeMod.onStateEvent(SpongeMod.java:205) [SpongeMod.class:1.10.2-2026-5.0.0-BETA-1599]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_101]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_101]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_101]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_101]
at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) [minecraft_server.1.10.2.jar:?]
at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) [minecraft_server.1.10.2.jar:?]
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) [minecraft_server.1.10.2.jar:?]
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) [minecraft_server.1.10.2.jar:?]
at com.google.common.eventbus.EventBus.post(EventBus.java:275) [minecraft_server.1.10.2.jar:?]
at net.minecraftforge.fml.common.LoadController.sendEventToModContainer(LoadController.java:239) [LoadController.class:?]
at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:217) [LoadController.class:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_101]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_101]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_101]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_101]
at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) [minecraft_server.1.10.2.jar:?]
at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) [minecraft_server.1.10.2.jar:?]
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) [minecraft_server.1.10.2.jar:?]
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) [minecraft_server.1.10.2.jar:?]
at com.google.common.eventbus.EventBus.post(EventBus.java:275) [minecraft_server.1.10.2.jar:?]
at net.minecraftforge.fml.common.LoadController.redirect$onPost$0(LoadController.java:53) [LoadController.class:?]
at net.minecraftforge.fml.common.LoadController.distributeStateMessage(LoadController.java:142) [LoadController.class:?]
at net.minecraftforge.fml.common.Loader.initializeMods(Loader.java:788) [Loader.class:?]
at net.minecraftforge.fml.server.FMLServerHandler.finishServerLoading(FMLServerHandler.java:107) [FMLServerHandler.class:?]
at net.minecraftforge.fml.common.FMLCommonHandler.onServerStarted(FMLCommonHandler.java:333) [FMLCommonHandler.class:?]
at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:214) [ld.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:431) [MinecraftServer.class:?]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_101]
Caused by: java.lang.ClassNotFoundException: org.spongepowered.api.event.entity.DisplaceEntityEvent$TargetPlayer
at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:191) ~[launchwrapper-1.12.jar:?]
at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_101]
at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_101]
... 40 more
Caused by: java.lang.NullPointerException
Hi,
Would you mind providing installation instructions?
I have placed the FlexibleLogin plugin in the mods directory of the Forgeserver in which also Sponge is placed, sponge gets registered during start, but the plugin does not and no configuration file is generated.
Kind regards
Hello, here #15 said
FastLogin tries to set safe-location using the Sponge API.
but they still don't solve this.
My question is, when not using FlexibleLogin, no problem happened, login will stand on last logout location, but using FlexibleLogin will change login location then may enters the door into the room.
Why not cancel searching safe-location function? I think iron-door is a safe-location, even that location where player logout is also a save location. Is it not?
Packages in use:
forge-1.8-11.14.4.1563-universal.jar
spongeforge-1.8-1577-3.0.0-BETA-1000.jar
FlexibleLogin.jar (0.3.2)
When attempting to register:
[19:19:26] [pool-2-thread-1/ERROR] [flexiblelogin]: Error registering account
java.sql.SQLException: [SQLITE_CONSTRAINT] Abort due to constraint violation (NOT NULL constraint failed: users.UserID)
at org.sqlite.core.DB.newSQLException(DB.java:890) ~[DB.class:1.8-1577-3.0.0-BETA-1000]
at org.sqlite.core.DB.newSQLException(DB.java:901) ~[DB.class:1.8-1577-3.0.0-BETA-1000]
at org.sqlite.core.DB.execute(DB.java:810) ~[DB.class:1.8-1577-3.0.0-BETA-1000]
at org.sqlite.jdbc3.JDBC3PreparedStatement.execute(JDBC3PreparedStatement.java:50) ~[JDBC3PreparedStatement.class:1.8-1577-3.0.0-BETA-1000]
at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) ~[ProxyPreparedStatement.class:1.8-1577-3.0.0-BETA-1000]
at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) ~[HikariProxyPreparedStatement.class:1.8-1577-3.0.0-BETA-1000]
at com.github.games647.flexiblelogin.Database.createAccount(Database.java:272) ~[Database.class:?]
at com.github.games647.flexiblelogin.tasks.RegisterTask.run(RegisterTask.java:33) ~[RegisterTask.class:?]
at org.spongepowered.api.scheduler.Task$Builder.lambda$execute$9(Task.java:138) ~[Task$Builder.class:1.8-1577-3.0.0-BETA-1000]
at org.spongepowered.common.scheduler.SchedulerBase.lambda$startTask$55(SchedulerBase.java:177) ~[SchedulerBase.class:1.8-1577-3.0.0-BETA-1000]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_66]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_66]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_66]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_66]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_66]
Hi ! Sir ! I had a suggest for you !
Don't put the language file in the conf, but on the outside.
This is not conducive to multi language.
Any way, this plugin is amazing !!!
I think we need a more complete help documentation system, or, we need a frequently updated document system. I think we should make good use of Github's Wiki system.
I can't change the text string "logged in" and string "Type /register or /login to login in" on the textConfiguration
Hello, when I stand on front of a iron_door, and I logout and then login, I am teleported into the room! The situation is that Iron_door and me are on the same block, door is on the north size of the block, then I am teleported to the north size block of the door. But not using FlexibleLogin will be normal. my version is spongevanilla-1.8.9-4.2.0-BETA-343, spongevanilla-1.8.9-3.1.0-BETA-248, both of them the same bug!
Using 0.4.1.
[20:27:54] [pool-2-thread-1/ERROR] [Sponge]: The Scheduler tried to run the task flexiblelogin-A-0 owned by Plugin{id=flexiblelogin, name=FlexibleLogin, version=0.4}, but an error occured.
java.lang.NullPointerException
at com.github.games647.flexiblelogin.listener.PlayerConnectionListener.lambda$onPlayerJoin$0(PlayerConnectionListener.java:34) ~[PlayerConnectionListener.class:?]
at org.spongepowered.api.scheduler.Task$Builder.lambda$execute$9(Task.java:138) ~[Task$Builder.class:1.8-1577-3.0.0-BETA-1000]
at org.spongepowered.common.scheduler.SchedulerBase.lambda$startTask$55(SchedulerBase.java:177) ~[SchedulerBase.class:1.8-1577-3.0.0-BETA-1000]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_66]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_66]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_66]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_66]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_66]
Hello!
Not sure if is known bug, but one can dupe almost everything.
you can check this video: https://www.dropbox.com/s/jjzop7dx8wczhsr/2.avi?dl=0
expected: nothing happens, cell should be empty
actual: item duplicate to your inventory
(See title)
When I use the latest version it deletes the current database and requires everyone to re-register again.
People can drop items before they login into the account.
spongeforge-1.10.2-2073-5.0.0-BETA-1684
Since it looks like API 5 won't be stable for some time, and players can run command, chat, move around which is a huge issue
Not working for me anymore.
When you unregister some player (/unregister nickname), He is removed from database, but still remains in some running server cache and unregistered player can login, logout and login after disconnection from server again and again until server's restart.
ipAutoLogin=true
Is it possible to make a list of users who always need to enter a password to log on to the server? Like a black list.
You can impersonate other people.
Could you add a command for administrators to check users' e-mail address? If the server doesn't set mysql, it is impossible for administrators to check users' passport, e-mail address, etc. It is not convienient very much.
Hello,
I am using FlexibleLogin with LuckPerms on Sponge with the FTB Infinity modpack. When I give my users the flexiblelogin.bypass permission, although they are not spammed with the /register message, they still get kicked after the login timeout. I would like to only require staff members to /register and to disable it for regular users.
Screenshot of default group's permissions:
Versions:
Luckperms: v3.0.41
Minecraft: 1.10.2
SpongeAPI: 5.2.0-SNAPSHOT-a3257a0
SpongeForge: 1.10.2-2254-5.2.0-BETA-2230
Minecraft Forge: 12.18.3.2254
FlexibleLogin: 0.12.3
In my latest pull request #6 I added a safe getInstance() method in the main plugin class, which allows you to easily get an instance of Game and Logger. Because of this, the Game and Logger parameters in the constructor of most classes are no longer required.
(You also removed the getInstance() method I created, I want it back)
ipAutoLogin=true
Stopped working! For all. Requires login.
forge-1.11-13.19.1.2195-universal.jar
spongeforge-1.11-2195-6.0.0-BETA-2004.jar
FlexibleLogin.jar latest
Title.
I don't know what's the relationship between API 5 and 6......
Hello @games647 !
Can you please update EMAIL_REGEX
here to allow emails like [email protected] (2nd and 3rd level domains) ?
Also is there any reason for not allowing lowercase characters?
A message appears on successful login. You can play, run commands... But after a few seconds automatically exit and the message that the time for entry has expired.
timeoutLogin=50
public LoginCommand(FlexibleLogin plugin) {
this.plugin = plugin;
}
Look at this constructor. The plugin parameter should not be needed, as I have FlexibleLogin.getInstance() for this reason.
FlexibleLogin v0.9.2
spongeforge-1.8.9-1890-4.2.0-BETA-1653
forge-1.8.9-11.15.1.1902-1.8.9-universal
[03:39:42] [Server thread/ERROR] [Sponge/]: Could not pass ClientConnectionEvent$Disconnect$Impl to org.spongepowered.mod.plugin.SpongeModPluginContainer@5e395b5f
java.lang.NullPointerException
at java.util.concurrent.ConcurrentHashMap.replaceNode(Unknown Source) ~[?:1.8.0_101]
at java.util.concurrent.ConcurrentHashMap.remove(Unknown Source) ~[?:1.8.0_101]
at com.github.games647.flexiblelogin.listener.ConnectionListener.onPlayerQuit(ConnectionListener.java:53) ~[ConnectionListener.class:?]
at org.spongepowered.common.event.listener.DisconnectListener_ConnectionListener_onPlayerQuit31.handle(Unknown Source) ~[?:?]
at org.spongepowered.common.event.RegisteredListener.handle(RegisteredListener.java:95) ~[RegisteredListener.class:1.8.9-1890-4.2.0-BETA-1653]
at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:201) [SpongeModEventManager.class:1.8.9-1890-4.2.0-BETA-1653]
at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:184) [SpongeModEventManager.class:1.8.9-1890-4.2.0-BETA-1653]
at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:229) [SpongeModEventManager.class:1.8.9-1890-4.2.0-BETA-1653]
at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:214) [SpongeModEventManager.class:1.8.9-1890-4.2.0-BETA-1653]
at org.spongepowered.common.SpongeImpl.postEvent(SpongeImpl.java:129) [SpongeImpl.class:1.8.9-1890-4.2.0-BETA-1653]
at net.minecraft.network.NetHandlerPlayServer.redirect$onDisconnectHandler$0(NetHandlerPlayServer.java:439) [lm.class:?]
at net.minecraft.network.NetHandlerPlayServer.func_147231_a(NetHandlerPlayServer.java:704) [lm.class:?]
at net.minecraft.network.NetworkManager.func_179293_l(NetworkManager.java:449) [ek.class:?]
at net.minecraft.network.NetworkSystem.func_151269_c(NetworkSystem.java:183) [ll.class:?]
at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:724) [MinecraftServer.class:?]
at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:344) [ko.class:?]
at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:605) [MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:481) [MinecraftServer.class:?]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_101]
The admin command problem:
When I use:
/flexiblelogin reload
Console show me this:
Not enough arguments!
Usage: /flexiblelogin <account> resetpw|reload|unregister|register
Need a account name?! What is the relationship between "reload" and "account"?
So I think the Reload command should be independent.
In offline mode, a player can use any name to join game. Although FlexibleLogin can stop people who are not the owner of the account to do bad thing, people still can use F3 to check the position of the account used. For some people, they may utilize this fuction to set a trap to kill others.
Could you add a function to protect innocent players from these spiteful actions?
I think if there is a function which teleporates all of the unlogin players to world spawn point forcely, and teleporate players back after they login into the game successfully, it will protect players better.
For example, when use this command:
/pex group defualt permission flexiblelogin.command.logout false
Users always can logout..........
i just translate your job to chinese,can you add it into future releases?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.