Tags
Creators
Details
Licensed MIT
Published 2 months ago
Updated last week
All versions
1.3.0
Release
AuthSecured 1.3.0last week 59
Compatibility
Minecraft: Java Edition
26.3
26.2
26.1.x
1.21.x
Platforms
Folia
Paper
Purpur
Changes
AuthSecured 1.3.0
Two-factor login, session control, and a round of pre-login hardening.
What's new
- Two-factor authentication (TOTP) with an authenticator app:
/2fa enable,/2fa confirm <code>,/2fa disable <code>,/2fa status. Eight backup codes, wrong codes count like wrong passwords. /sessionsshows your saved sessions;/sessions revokeends them without kicking you.- A notice when you log in from a different address than last time.
- Weak passwords are rejected: a bundled list of common passwords, and a password equal to your name.
- Optional
auth.online-mode.trust-proxy-uuidfor offline backends behind an online-mode proxy. /authadmin doctorwarns about PostgreSQLssl-mode: preferon remote hosts and about proxies that do not forward player IPs.
Security and fixes
- Paper: portals, inventory drag, armor stands and item use after a cancelled block use are blocked before login.
- Fabric: players are kicked if AuthSecured fails to start, instead of being left frozen.
sTevecan no longer lock outSteve; parallel/logincommands can no longer outrun the lockout.- SQLite uses WAL, so concurrent writes no longer fail with "database is locked".
- Shutdown waits for running password checks.
Notes
- The default minimum password length is now 8 (was 10). Existing passwords are not affected.
- The database is migrated to a new schema on first start. Back it up first: 1.2.x jars will not start on the migrated database.
- Not tested on a live server yet: the PostgreSQL migrations and Folia are covered only by the unit
tests (SQLite). See
docs/MANUAL_TESTING.md. - Paper and Fabric remain separate downloads; each Fabric file targets one exact Minecraft version and requires Fabric API.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:z4naQApQ:1AFuZrGX"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:z4naQApQ:1AFuZrGX"
}

