Repository navigation
Admin Panel
Wawel Auth provides a built-in admin web UI for server administration.
When enabled, it is available at:
-
https://your-host:your-port/adminwhenserver.http.httpsEnabled=true(default) -
<publicBaseUrl>/adminfor bootstrap/status only, ifpublicBaseUrluses plain HTTP
The admin panel is enabled/disabled by server.admin.enabled (server.json).
The admin login token is resolved in this order:
-
server.admin.tokenEnvVar, if that environment variable is set and non-empty - otherwise
server.admin.token
The default environment variable name is WAWELAUTH_ADMIN_TOKEN.
Admin login and authenticated admin API calls require HTTPS. Plain HTTP can load the UI and bootstrap/status data, but it cannot log in or use admin actions.
Note
If HTTPS is terminated by nginx or another reverse proxy, proxy to Wawel Auth from loopback. Forwarded HTTPS headers are ignored for non-loopback clients.
Wawel Auth can accept HTTPS on the same port as Minecraft and plain HTTP.
This is controlled by server.http.httpsEnabled and is enabled by default.
The generated admin URL is:
https://<publicBaseUrl host and port>/admin
Same-port HTTPS uses a self-signed certificate generated in:
config/wawelauth/data/https-cert.derconfig/wawelauth/data/https-private.der
The browser will warn about the certificate. Verify the SHA-256 fingerprint shown by the admin page or printed in the server log before accepting it.
The certificate includes hosts from publicBaseUrl, the effective API root, serverAddress, localhost, 127.0.0.1, and ::1 when it is generated. If those SAN entries become stale after configuration changes, startup shows an FML confirmation prompt. Confirming backs up the existing HTTPS certificate files under config/wawelauth/data/https-certificate-backups/ and regenerates the self-signed certificate with the existing HTTPS private key. Cancelling aborts server startup. Headless setups can answer the prompt with -Dfml.queryResult=confirm or -Dfml.queryResult=cancel.
The admin UI can manage:
- Local Wawel Auth users and profiles
- Profile UUID changes, including setting a profile to its offline UUID
- Password resets
- Texture resets
- Invites
- Provider-aware profile resolution
- Provider-aware whitelist entries using provider + username resolution
- Provider-aware op entries using provider + username resolution
server.jsonserver.properties
It also displays server stats:
- User count
- Profile count
- Token count
- Invite count
- Database size
- Texture storage size
Note
Most server.properties changes require a server restart.