
SideGate
SideGate is a Minecraft server plugin that provides a hybrid authentication system for mixed-access environments. Premium players can join normally through Mojang authentication, while administrators may optionally allow specific non-authenticated accounts
Tags
Creators
Details
1.2.0
Compatibility
Changes
SideGate 1.2.0
Release date: 2026-05-18
Added
- Runtime API service (
SideGateApi) exposed through BukkitServicesManagerfor addon/plugin integration. - Runtime reload support with
/sidegate reloadto re-read config and rebind listeners. - Guest handling improvements: guest scoreboard tag, configurable join title/subtitle/messages, and guest-only chat prefix.
Changed
- ProtocolLib is now
compileOnlyto avoid shading/packaging ProtocolLib into SideGate and prevent classloader conflicts. - Login-state injection path was adjusted to prefer stable accept states (
READY_TO_ACCEPT, fallbackACCEPTED) to reduce non-premium login timeouts. - Defensive ProtocolLib runtime checks were added to avoid
NullPointerExceptionwhen ProtocolManager is temporarily unavailable. - Guest login injection now cancels login at
STARTand immediately injects approved guests, with delayed fallback retained for packet-order edge cases. - Post-auth login pipeline now supports modern
GameProfilemethod signatures (verifyLoginAndFinishConnectionSetup,startClientVerification,finishLoginAndWaitForClient) for newer Paper builds.
Fixed
- Fixed startup failure where
ProtocolLibrary.getProtocolManager()could benulland crash plugin enable/disable. - Fixed guest login flow instability causing repeated guest injection and disconnect timeout behavior in hybrid mode.
- Fixed
Invalid session/timeout on Paper 1.21.11 when guest login state advanced incompletely.
Compatibility
- Server: Paper/Spigot/Purpur (Bukkit-compatible)
- Tested: Paper 1.20.1, Spigot 1.20.1, Paper 1.21.11
- Practical compatibility range from implementation behavior: 1.20.1-1.21.11 (with ProtocolLib dev build recommended for 1.21.9+)
- Java: 17+
- Dependency: ProtocolLib 5.x+
Notes
- For hybrid guest mode operation, set
enforce-secure-profile=falseinserver.properties. - Keep
online-mode=true; SideGate handles approved guest flow without globally switching offline mode. - Added startup warning for Minecraft
1.21.9-26.xto recommend ProtocolLib dev build:https://github.com/dmulloy2/ProtocolLib/releases/tag/dev-build.
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:9Qpsvo2Z:SmGP9r6u"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:9Qpsvo2Z:SmGP9r6u"
}
