User wants name to literally be 'auth-limbo' to match the auth_limbo world the plugin manages. Same functionality, same code, just renamed.
51 lines
3.7 KiB
Markdown
51 lines
3.7 KiB
Markdown
# 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](https://github.com/s8n-ru/auth-limbo/issues/new?template=bug_report.md)
|
|
or PR an update to this table.
|