Mods
Resource Packs
Data Packs
Modpacks
Shaders
Plugins
Mods Resource Packs Data Packs Plugins Shaders Modpacks
Get Modrinth App Upgrade to Modrinth+
Sign in
ModsPluginsData PacksShadersResource PacksModpacks
Sign in
Settings
LimboAuth Client Mod

LimboAuth Client Mod

Implement auto-login with the LimboAuth plugin, the client mod and optionally using a custom launcher

1,444
7
Utility

Compatibility

Minecraft: Java Edition

1.19.x
1.18.x
1.17.x
1.16.x
1.15.x
1.14.4

Platforms

Fabric
Forge

Supported environments

Client-side

90% of ad revenue goes to creators

Support creators and Modrinth ad-free with Modrinth+

Links

View source Join Discord server
Donate

Creators

hevav
hevav Owner

Details

Licensed AGPL-3.0-or-later
Published 2 years ago
Updated 2 years ago
DescriptionChangelogVersions
Elytrium

LimboAuth Client Mod

Join our Discord

A client mod for LimboAuth
Test server: ely.su

Mod dependencies

  • Architectury API

Features of LimboAuth Client Mod

  • Saves session tokens to the config file (.minecraft/config/limboauth.yml)
  • You can set your own session token via the custom launcher

How does session token work

  1. The server makes a token - a struct that contains an issue timestamp
  2. The server signs this token with a private verify key (which you can see in the LimboAuth config)
  3. The server sends the token to the client, the client saves it to the config file
  4. When player joins the server, servers asks client if he has a session token
  5. If the player has a session token, it sends it to the server
  6. The server verifies the token via the private verify key

How to generate a session token

Pseudocode

# This key must be the same in the plugin config and in the server hash issuer
verify_key = "testkey123"
issue_timestamp = unix_timestamp_millis()
player_username = "TestPlayer123"

username_bytes = utf8.string_to_bytes(lower(player_username))
timestamp_bytes = big_endian.long_to_bytes(issue_timestamp)

# siphash 2-4 (default siphash) is used here
tokenhash = siphash.hash(verify_key, byte_concat(username_bytes, timestamp_bytes))
hash_bytes = big_endian.long_to_bytes(tokenhash)

token = base64.encode_to_string(byte_concat(timestamp_bytes, hash_bytes))

When does the token expire?

  • The token expires if the player changes his password
  • See ISSUEDTIME database field

Donation

Your donations are really appreciated. Donations wallets/links/cards:

  • MasterCard Debit Card (Tinkoff Bank): 5536 9140 0599 1975
  • Qiwi Wallet: PFORG or this link
  • YooMoney Wallet: 4100 1721 8467 044 or this link
  • Monero (XMR): 86VQyCz68ApebfFgrzRFAuYLdvd3qG8iT9RHcru9moQkJR9W2Q89Gt3ecFQcFu6wncGwGJsMS9E8Bfr9brztBNbX7Q2rfYS

Modrinth is open source.

fix-window-open@1656e14

© Rinth, Inc.

Company

TermsPrivacyRulesCareers

Resources

SupportBlogDocsStatus

Interact

Discord X (Twitter) Mastodon Crowdin
Get Modrinth App Settings
NOT AN OFFICIAL MINECRAFT SERVICE. NOT APPROVED BY OR ASSOCIATED WITH MOJANG OR MICROSOFT.