User wants name to literally be 'auth-limbo' to match the auth_limbo world the plugin manages. Same functionality, same code, just renamed.
3.7 KiB
3.7 KiB
Compatibility
Tested matrix
| Component | Version | Status | Notes |
|---|---|---|---|
| Paper | 1.21.11 | Verified | Primary target. Builds against 1.21.11-R0.1-SNAPSHOT. |
| Purpur | 1.21.11 | Expected to work | Purpur is a Paper fork with a superset of the Paper API used here. Untested in CI but the relevant API surface (teleportAsync, setChunkForceLoaded, modern ChunkGenerator) is identical. |
| Folia | any | Untested | Folia's regionised threading model changes how LoginEvent is dispatched. The current Bukkit.getScheduler().runTaskLater calls would need to be reworked to use Folia's region scheduler. Do not run this plugin on Folia until it has been audited. |
| Java | 21 | Required | pom.xml targets Java 21. |
| Java | 22 / 23 / 24 | Expected to work | Source compatibility level is 21. No reflection or unsafe APIs are used. |
Auth plugins
| Plugin | Version | Status | Notes |
|---|---|---|---|
| AuthMe-ReReloaded (HaHaWTH fork) | b49 | Verified | Hard dependency. The fork's SQLite schema is the one we read. |
| AuthMe-ReReloaded (other 5.x forks) | any | Expected to work | Other forks track the same upstream schema (authme table with username, x, y, z, world, yaw, pitch). The plugin will compile and load against any 5.x AuthMe binary because we depend on fr.xephi.authme.events.LoginEvent which has been stable since 5.0. |
| AuthMe-ReReloaded (6.x) | any | Untested | API likely the same; no reason to expect a break. |
Original AuthMe (fr.xephi:authme 5.x) |
any | Expected to work | Same Java package, same event class. |
| nLogin / FastLogin / SimpleAuth / others | n/a | Not supported | This plugin is hard-coupled to AuthMe events. It will refuse to load without AuthMe in plugin.yml. |
| MySQL-backed AuthMe | n/a | Not supported (yet) | The plugin reads authme.db directly via SQLite JDBC. If your AuthMe stores data in MySQL, the LoginEvent restore is a no-op. |
Other plugins
| Plugin | Status | Notes |
|---|---|---|
| Multiverse-Core | Untested | Multiverse intercepts teleports for portals and respawn. The two plugins should coexist because AuthLimbo runs at MONITOR priority and overrides whatever Multiverse does to the post-login location. If you only run Multiverse for the limbo world, you do not need it any more — AuthLimbo's LimboWorldManager covers that case. |
| EssentialsX | Untested | Essentials' spawn-on-join (spawn-on-join in essentials.yml) is the most common conflicting feature. With Essentials' default ordering, AuthLimbo's MONITOR listener still runs last and wins. If you see the spawn-on-join location winning, set spawn-on-join: false. |
| WorldGuard | Should not interfere | WorldGuard does not teleport on login. |
| BetterReload / PlugManX | Avoid | Hot-reloading any of (AuthLimbo, AuthMe, Paper itself) will leave dangling listeners. Always restart. |
Database compatibility
The plugin opens plugins/AuthMe/authme.db with a fresh JDBC connection
per query. AuthMe also keeps a connection open to the same file. SQLite
supports multiple readers under WAL mode, which is AuthMe's default; we
never PRAGMA journal_mode ourselves, never write, and never wrap the
read in a transaction. There is no risk of corruption from this access
pattern.
If AuthMe is configured to use MySQL or PostgreSQL instead of SQLite, this plugin will log a warning on first lookup and the LoginEvent restore will be skipped. A MySQL backend is on the wishlist but not implemented.
Reporting compatibility results
If you run this plugin on a configuration not covered above, please open an issue or PR an update to this table.