games647 / FastLogin

Checks if a minecraft player has a valid paid account. If so, they can skip offline authentication automatically. (premium auto login)
https://www.spigotmc.org/resources/fastlogin.14153
MIT License
506 stars 123 forks source link

Fastlogin / AuthMe - autounregister if premium and if user not logged x-days and if premium name y-days #192

Open minecraft7net opened 6 years ago

minecraft7net commented 6 years ago

Hi,

i have a request for AuthMeReloaded addon and for FastLogin addon

Addon description:

solutions for server using AuthMeReloaded and after 3-4 years start using FastLogin

addon that will:

check if player is premium
check if the same username exists in AuthMeReloaded database
check if the player in AuthMeReloaded database is inactive for configured time 600+ days
check if premium user has this Name/Nickname in mojang history more than configured time 300+ days

5A. and option for manual unregister by oplayer premium /force-login 5B. auto unregister

or maybe someone had idea how to code it in AuthMe?

commands.yml (?) onJoin: {} ? onRegister: {} ?

games647 commented 6 years ago

Waiting for https://github.com/AuthMe/AuthMeReloaded/issues/616

games647 commented 6 years ago

If FastLogin purges the players independently from AuthMe, what should be removed (only the player row from database)?

minecraft7net commented 6 years ago

basically unregister player from authme:

[02:11:52] [Thread-81/INFO]: /authme unregister: Unregister a player

[02:12:51] [Thread-81/INFO]: ==========[ AuthMeReloaded HELP ]========== [02:12:51] [Thread-81/INFO]: Command: /authme unregister [02:12:51] [Thread-81/INFO]: Short description: Unregister a player [02:12:51] [Thread-81/INFO]: Detailed description: [02:12:51] [Thread-81/INFO]: Unregister the specified player.

[02:12:51] [Thread-81/INFO]: player: Player name

[02:12:51] [Thread-81/INFO]: Default: OP's only (You have permission) [02:12:51] [Thread-81/INFO]: Result: You have permission

[02:12:51] [Thread-81/INFO]: /authme unreg [02:12:51] [Thread-81/INFO]: /authme unr

but just unregister if premium login with the same username will be too simple.

upper/lowecase names are checked by authme if you set option so names can be with different cases.

"..." [19:40:41] [Netty Worker IO Thread #2/INFO]: [Lorenzo] disconnected with: Kicked whilst connecting to fantasy1: You should join using username lorenzo, not Lorenzo. "..."

and those checks are important

  1. check if player is premium
  2. check if the same username exists in AuthMeReloaded database
  3. check if the player in AuthMeReloaded database is inactive for configured time 600+ days
  4. check if premium user has this Name/Nickname in Mojang history more than configured time 300+ days

/authme lastlogin username TacoSpigot-b29-mysqlodbc-5.1.45.jar is running... executing command [02:18:05] [Thread-81/INFO]: [AuthMe] username last login: Wed Nov 02 23:40:49 CET 2016 [02:18:05] [Thread-81/INFO]: [AuthMe] The player username last logged in 460 days 2 hours 37 mins 16 secs ago [02:18:05] [Thread-81/INFO]: [AuthMe] Last player's IP: xxx.xxx.xxx.xxx

and it can be done on 1st login (but it may take time - those checks) or login player as non-premium and give him possibility to remove non-premium player by command/item and re-login

or another special hub for this sitiation with more information (options for dedicated hub for this/those players)

minecraft7net commented 6 years ago

and i think - remove player from group / command send to hub server

i have mix permissionex on some servers but mostly groupmanager