Skip to content
This repository has been archived by the owner on Jun 27, 2023. It is now read-only.

1.7.10 Forge alternate Minecraft authentication system

License

Notifications You must be signed in to change notification settings

trollogyadherent/OfflineAuth

Repository files navigation

OfflineAuth 1.7.10 (Forge)

Beta Minecraft authentication system contained in a Forge mod. (Please note the beta) Please report any bugs, especially security holes.

image

Showcase

youtube.com/watch?v=mB4DD_z5lvQ

Motivation

Microsoft forcing people to migrate from Mojang to Microsoft. Oh, and now chat reports.

Tell me more

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.

Getting started

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 /fingerprint command 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 mods folder.
  • Add server in the multiplayer menu. Go to the Manage auth menu.
  • 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.

Features

  • Registration and deletion of accounts, changing account password and displayname
  • Working skins and capes implementation, you can even change your skin and cape in-game. Also, single-player support
  • Allowing registration only to those who have one time tokens (generate those with the /gentoken command)
  • 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
  • Integration with Et Futurum Requiem elytras (you will have to wait for its next release, for now Et Futurum breaks OfflineAuth's skin preview)
  • 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
  • Experimental integration with FTB Library and FTB utils (skins appearing in the friends menu). You will need a special fork of the first, found here, and a GT:MEGA or GT:NH build of FTB Utils. GT:NH builds can be found here (Built against version 1.0.18.7-GTNH).

Commands

  • /changename <player> <displayname> - Changes the username of a player (warning: this resets the user's progress)
  • /deleteplayer <identifier> (alias: delplayer) - Delete a player account
  • /listusers (alias: luser) - List registered users
  • /playerexists <identifier/displayname> - Display username and displayname of 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
  • /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)

Credits

Building

gradlew build should do the trick.

Contact

License

LGPLv3+SNEED

Feel free to help translate the mod, open PR's or send lang files directly to me

Coming soon (with Et Futurum update):

elytra_capes

Buy me a coffee