ghast-auth
Authentication and connection setup for the ghast Minecraft: Java Edition client library — everything that happens before the game protocol takes over a socket:
- Offline identities:
offline::offline_uuidderives the UUID vanilla and Bukkit / Paper servers assign to an offline player. - SOCKS5 (RFC 1928 / RFC 1929): username / password authentication, remote DNS only
(
socks5h://), and aconnect::Connectorthat opens the game connection directly or through a proxy under aconnect::ProxyPolicy(for example "proxy required except for local addresses"). - Login encryption: shared secret, RSA PKCS#1 v1.5 with the server's key, the session-server hash.
- Microsoft accounts (feature
microsoft, off by default): OAuth device-code flow, Xbox Live, XSTS, Minecraft services, a token cache, and the session-serverjoincall.
use ;
use Socks5Proxy;
# async
Examples: cargo run -p ghast-auth --example offline_socks5, cargo run -p ghast-auth --features microsoft --example microsoft_device_code.
Secrets (SecretString: proxy passwords, tokens) are never printed by Debug / Display.
Licensed under MIT OR Apache-2.0.