Beta Minecraft authentication system contained in a Forge mod. (Please note the beta) Please report any bugs, especially security holes.
Original: "Microsoft forcing people to migrate from Mojang to Microsoft. Oh, and now chat reports."
My: "Authentication method independent of any external servers (Mojang/Microsoft/Other third party services). A.K.A. My server - My authentication"
This mod runs a small rest server (spark) alongside the main Minecraft process. This keeps everything contained on the server which could even run on a local network, independent of any external auth servers.
If you are a server operator:
- Drop the mod jar into mods folder. Let it generate a config.
- Your hosting solution needs to provide you with the option to open additional ports. Pick a port and set it in the config (default:
4567). Minecraft and the rest server can not both listen on the same port. - Tell your players about the port they need to input in order to be able to register accounts.
- Use the
/fingerprintcommand to get a fingerprint of the server public key. Tell players about it too.
If you are a player:
- Drop the mod jar into your
modsfolder. - Add server in the multiplayer menu. Go to the
Manage authmenu. - Change the auth port if needed, and register an account. Afterwards you should be able to join the server. If you are registering an account for the first time, you will have to confirm the public key fingerprint, and retry.
- Registration and deletion of accounts, changing account password and displayname
- Working skins implementation (with the ability to change them without leaving the game, just re-enter on server). Also, single-player support
- Allowing registration only to those who have one time tokens (generate those with the
/gentokencommand) - Config options can be changed via file or server console
- End-to-end encryption of credentials
- Possibility of logging in with a keypair, rather than with a password
- Backport of player faces in the multiplayer tab menu (But I recommend using TabFaces)
- Integration with Custom Main Menu, if a button or label has a name specified in config, a default server auth menu and server join action will be added to them
- Integration with Server Utilities (skin in the GUIs)
- Integration with TabFaces (skin)
/changename <player> <displayname>- Changes the username of a player (warning: this resets the user's progress)/deleteuser <identifier> (alias: deluser)- Delete a player account/listusers (alias: luser)- List registered users/playerexists <identifier/displayname> (alias: playerex)- Displayusernameanddisplaynameof a user, if registered/gentoken- Generates a one time use account creation token/fingerprint- Displays the fingerprint of the public key of the server (if users know it in advance, this can tell them if someone is performing a man in the middle attack on them)/deleteskin <identifier> (alias: delskin)- Deletes the skin of a user- [DEPRECATED: use CPM for capes]
/deletecape <identifier> (alias: delcape)- Deletes the cape of a user /oaconfig <list|help|get|set> [config_string] [value]- Changes given config option, only usable in the server console (more granular permissions might be added)/myname- Displays all possible name variables in the chat/myuuid- Displays all possible player UUID's in the chat/registrationCooldown <(<ip> <delete/del>)/(<clear>)> (alias: regCD)- Remove IP from cooldown list / clear entire list
- TechnicianLP for his ReAuth mod. I ripped off the config and GUI to adapt them to my mods needs.
- SinTh0r4s, basdxz, and TheElan for their ExampleMod 1.7.10 and the included gradle buildscript.
- Greg and all the people on his IRC who sometimes get my dumb ass unstuck :D
- The player 3D render code was taken from bspkrsCore (CC BY-NC-SA 3.0), by bspkrs.
- Et Futurum Requiem devs
- Translations: nocturni, kotmatross28729
gradlew build should do the trick.
- This project GitHub repo, create an issue if something is broken, or you have a suggestion.
- Matrix
#boysgregified:matrix.thisisjoes.site. - Website: mcdrama.net.
LGPLv3+SNEED
- ko-fi.com/jackisasubtlejoke
- Monero:
86aNAyad1scfNpiZ9DM7rMPsM3gbQHBhqPefbgfPunyBiGAaaTH3SvWB66HRjRMNJj9Yu7tHizYej3E7V7BEVkmNMWpWC5f
