AmkMcAuth
Update:
16-03-2022: AmkMcAuth-v1.5.3 version is out and available for download. If this version is not available on bukkit.org (due to some "technical difficulty" on bukkit.org), you can download it from: https://www.spigotmc.org/resources/amkmcauth.90252/ (Like other plugins).
This version is tested and running on a MC 1.18+ Spigot servers.
This plugin also protects (to some extend, its not a replacement for whitelist) your server against the "Operation Copenheimer" bots/griefers as it adds an extra login/password layer on your server so the bots mark your server as "protected" and not as "open".
See ChangeLog for information on Changes in this version.
Quick info.
AmkMcAuth is Minecraft Vs. 1.15+ , 1.16+, 1.17+, 1.18+, 1.19+ (and 1.20) ready. Works out of the box!
Preface:
AmkMcAuth (Big-Server edition) is a fork/continued RoyalAuth plugin (developed by jkcclemens). Jkcclemens was not updating his plugin and it stopped working at MC-Version 1.9+.
So i took the original sourcecode from jkcclemens and i fixed all the errors that occurred using it on MC 1.9+ servers creating a new version that i named AmkMcAuth.
But, all the credits go to jkcclemens who is the original creator of RoyalAuth i am using as the base for this plugin.
AmkMcAuth is an authentication plugin. It requires players to register their account with a password and use that password to login, adding another layer of security to any server. (If you are using email registration: the player has to register his email address after wich AmkMcAuth sends a random password to that email address so the player can login using that password, and possibly change it afterwards).
You can see it in action (and try it if you like) on my private AmkSoft Linux MineCraftServer
What options has the AmkMcAuth plugin.
This, the "Big-Server" version of AmkMcAuth, contains Email-Registration and MySQL support (larger plugin filesize). The AmkMcAuth(se) (Small-Server) Edition does not have MySQL Support and Email-registration (and the plugin file-size is much smaller).
So, if you have a small server or have a small playerbase then you can use the AmkMcAuth(se) version.
If you have a big server and/or you need MySQL support or Email registration, than you need this "Big-Server" version.
See the config.yml AmkMcAuth config.yml file in the Pages section. This file also has all the options documented.
First-time Install+Setup:
Just drop the plugin in your plugins folder and (re)start the server.
AmkMcAuth works default "out of the box", no special configuration needed, meaning: your players need to register a password (first time) and log in using that password.
Using the Admin commands you can manualy manage players.
Upgrading existing Setup:
You can just drop the plugin in your plugins folder and (re)start the server, but you have te check your existing config.yml and lang/en_us.properties files as there may be missing some entries (check the pages section for details) and you probably have to restart your server when you did some updates to those files.
As of version1.4.3 AmkMcAuth updates your config.yml in place if it finds missing config settings after backing up your previous config.yml file (this removes the comment lines from the config file).
If you are updating to an older version (pre 1.4.3) you have to rename your config.yml manualy, start the server and merge the old and new config.yml files.
Setup MySQL connection:
See the MySQL-SetUp file in the Pages section.
Commands and Permissions:
See the Commands and Permissons files in the Pages section.
Other Language Files:
Language files can be downloaded from the "Pages/lang" section.
SourceCode and Downloads:
The sourcecode can be viewed on github
Metrics:
AmkMcAuth uses bstats.org for collecting anonymous plugin stats:
- Total number of Servers running this plugin
- Total numer of players playing on servers
- Server Online/offline mode
- Mincraft server version
- Plugin version
- Server Core count
- System architecture
- Operating system
- Server location (country)
- Installed Java version
- AmkMcAuth Registered player count%100
- Plugin usage (Options used)
Notes on using AmkMcAuth e-mail:
This plugin uses the SMTP java library written by GermanCoding due its small size.
But, you cannot just use every mailserver, it has to be a SSL/TLS mailsever, like gmail.com .
Review/Usage:
If you see something weird to happen or you want something added, please let me know so i can help you. Also: if you use this plugin, please let me know and leave a 'like', much appreciated. You might even send me some buck's (Donate) so i can enjoy a coffee while updating this plugin :D .
Who donated to me: thank you. I appriciate it. The coffee tasted great.
In reply to pixelplayzlv:
Hello.
You can try to set a new password for your friend or unregistering his playername using the amka admin commands.
Like
amka help
amka changepassword [playername] [newpassword]
or
amka unregister [playername]
Hope this helps.
Greetings and stay safe.
Martie
hello I'm french, I wanted to use your plugins to replace AuthMeReloaded which is not made for 1.16.5 but the concern is that your plugins have the mail function but not the recover function because users who forget their password can do for example /email recover to recover the password ( choice in the config on the mail gives the current password or if the mail create a new password or if it sends a temporary password to change the password)
In reply to laboriens:
Hi laboriens,
Yes you are right, AmkMcAuth does not have the recover functionality yet.
Others have asked for it too. It is a request i'm working on.
Hi!
This is a great plugin, I have been using it for a while, and it works great, but can I ask for one small thing to be added? Players keep using their own names as their password and I don't need to tell you how insecure that is. Could you maybe add an otpion to disallow that?
In reply to Tacumoto:
Hi tacumoto.
Thanks for the kind words.
I will try to implement your question. You have a good point.
It will think of something.
Grtz and stay safe.
Martie
Registered, but it says my password is wrong. Doesn't let me change it since I should know my old one. Tried uninstalling and reinstalling the plugin but i still cant register again? Help?
Is there a way to completely reset the plugin so i can register again?
In reply to celestialrage1:
Yes. If you stop the server, delete the amkmcauth folder, remove all entries from the mysql table if you use mysql and start the server it is reset.
But it is probably easier to use the op/console command
/amka changepass playername newpassword
To set your password.
This will give you a list of all op/console commands
/amka help
In reply to MartieAmk:
Even if the other op-ed players tried to type in this command it just said "there was an error, please try again". I tried reinstalling the plugin multiple times and it still didn't work. I think it would be a great addition to the mod if there was a command to reset everything.
In reply to celestialrage1:
Hi,
If you stop the server,
delete the AmkMcAuth Folder
remove the player table itself (or delete the database and recreate the database)
and start the server
AmkMcAuth just start over as there is no data left, all is gone as a clean reset.
AmkMcAuth stores all the data in the Folder and in the Database (table).
In reply to celestialrage1:
You could even unregister your player bu using the op/console command:
/amk unregister playername
After the "unregister" the player has te "reconnect" to get the "register' prompt again.
The new version i'm working on right now is doing a "kick player" after the "unregister" so he reconnects anyway.
Hello, my name is anton, I did a translation of your plugin into Portuguese, my native language, if you want to use it just contact me, I don't charge anything, I just did the translation because I loved the plugin, anyway ...
email: [email protected]
Hi Anton,
thanks for the kind words.
I love to put your translation in the laguage section.
Great Plugins! the local database works perfectly.
But, somehow password and hash entry have NULL value on SQL server, UUID username and IP have value, it just password and hash that have a NULL value.
How to fix this? Do I have to enable email verification?
In reply to mdfm28:
Hi mdfm28,
Thank you for your kind words.
The database is not updated immediately (to prevent server-lag) but you can configure this by setting the saving: interval parameter (default every 10 minuts). It also get updated on server-stop. I saw this too on my serfver, but still it stores the password. I'm investigating this and try to update the database userid+password change is immediately on updates.
you can enable email verification by setting this but it is not needed to fix the null values (different system):
login:
# New players have to register,
registration: "email"
# Configure: "password" if (default) password registration is used.
# Configure: "email" if email registration is to be used,
# AmkMcAuth will then send a computer generated password to the player's
# email address so they can log in using that password.
# Force players to set Email-Address when they do not have set one? (true/false)
forcesetmail: true
# Interval (in seconds) to remind players to set email address if forcesetmail=true.
emailremindtime: 120
# If you are Using email for player registration (registration: "email") you need to set these too:
regemlfromnice: "Server Nice Name"
regemlfromemail: "Sender-Email-Address"
regemlsmtpservr: "Smtp-Mail-Server"
regemlloginname: "Smtp-Login-name"
regemlloginpswd: "Smtp-Login-Password"
emailsubject: "MineCraft Player Registration Information"
emailbodytxt: "Login Password for Player: %1$s is set to %2$s\nYou can change this after login using the changepassword command\nHappy Mining on our MineCraft Server."
confirmbodytxt: "Confirm your new email-address by issuing\nthis player command: %1$s"
In reply to Forge_User_92118576:
Hi MartieAmk.
Thanks for replying!
The database is not updated immediately
I already tried to wait 10 min. and stop-start the server again. Password and hash still has NULL value. I set the sql update in config to 1 and watch it every minutes or so, the result still the same.
Other than that I tried:
delete user data and drop player tables.
Set Session to false.
check_old_userdata to false -> player have to re-register after server stop and restarted.
This is the query logs.
although, after I set 'godmode' to false, I start getting something like this:
Lastly I test setting the hash to MD5, and player just cant relogin at all.
In reply to Forge_User_92118576:
Hi Martie! I think I knew what's wrong.
after reading the source, I see that password and hash SQL didn't update regularly or when the server stopped, only updated when there are changes in the password when ap.setHashedPassword executed. but.
Registering execute ap.setpassword not sethashedpassword, and ap.setpassword have no SQL update in it.
The only time I got the password SQL to update was when the server starts and forces the SQL to update, INSERTing SQL data when there was a user data found in the file but not in SQL. That time I tried to delete the SQL data but keep the file and start the server.
This is just a deduction based on my limited knowledge. I don't know whether this was really the case, but I hope this will help.
also amkmcauth resetdbcon, INSERT IGNORE didn't work when there are already the userdata registered in SQL, is it because my SQL settings? Maybe I should disable SQL strict mode?
I have configured the plugin so that you are teleported to worldspawn on join, where you need to enter your password. Then you are teleported to your last location. There is a problem with boats. If I sit in boat when I disconnect, I am not teleported to spawn the next time I join. I am also off the boat drowning. I suppose that this could be the case with other riding entities as well.
In reply to arkadst:
Hi.
I will check on that.
Thanks for mentioning.
Any way to add aliases?
In reply to mereevee:
Hi mereevee.
Do you mean command aliases?
You can try to open the jar file and edit the file that contains the aliasses?
Never tried this. But there is a chance it will work.