Compatibility
Minecraft: Java Edition
Platforms
Tags
Creators
Details
SideGate
Hybrid Access Control for Online-Mode Servers
Keep online-mode security while selectively allowing administrator-approved guest accounts.
What is SideGate?
SideGate is a Bukkit-compatible plugin (Spigot/Paper/Purpur) designed for servers that want to keep online-mode=true while selectively allowing administrator-approved guest accounts.
Authenticated players continue using the server's standard login flow, while approved guest accounts are handled through configurable SideGate access policies.
Why use SideGate?
- Keep standard online-mode behavior for authenticated players.
- Avoid changing the entire server authentication mode.
- Control exactly which guest accounts may join.
- Apply restrictions and visual labels to guest accounts.
Core Features
- Hybrid Login Flow: Authenticated players use the standard server login process, while approved guest accounts follow SideGate access rules.
- Manual Account Override:
premium-usernamescan always follow the standard login path. - Guest Admission Policy: Use
allow-all-guestsorallowed-guests. - Optional Account Detection: Optional account status lookup with internal cache (
auto-detect-premium). - Floodgate/Geyser Support: Automatically bypass guest classification for detected Bedrock players when either Bukkit plugin is installed.
- Guest Handling: Apply guest tags, GameModes, titles, subtitles, and messages.
- Guest Chat Prefix: Prefix applies to guest-tagged players only.
- Runtime Reload:
/sidegate reload. - Public API: Addon plugins can integrate through SideGate API services.
Installation
Required dependency: ProtocolLib (SpigotMC)
https://www.spigotmc.org/resources/protocollib.1997/
- Install ProtocolLib (5.x+).
- Optionally install Floodgate and/or Geyser-Spigot for automatic Bedrock detection.
- Put the SideGate
.jarfile in your/pluginsfolder. - Set
online-mode=trueinserver.properties. - Start or restart the server.
Configuration Example
# SideGate Configuration
enable-guest-mode: true
auto-detect-premium: true
allow-all-guests: false
premium-usernames:
- "TamKungZ"
premium-session-failure:
action: "KICK_WITH_MESSAGE" # or FALLBACK_TO_GUEST
message: "&cThis username belongs to a Premium account.\n&eChange your username and try again."
allowed-guests:
- "FriendName1"
- "FriendName2"
guest-settings:
default-gamemode: "SURVIVAL"
chat-prefix: "&7[Guest] &r"
messages:
join-title: "&cACCESS RESTRICTED"
join-subtitle: "&7Guest Mode"
join-message:
- "&c=================================="
- "&6 Welcome to SideGate Protocol"
- "&7 Account Status: &cGuest (Non-License)"
- "&7 You have restricted gameplay access."
- "&c=================================="
Requirements
- Java: 17+
- Server: Spigot / Paper / Purpur (Bukkit-compatible)
- Dependency: ProtocolLib 5.x+ (SpigotMC) (GitHub)
- Optional integrations: Floodgate, Geyser-Spigot
Bug Reports
Submit issues at:
https://github.com/TamKungZ/SideGate/issues
Please include:
- Server software + exact version
- Java version
- ProtocolLib version
- SideGate version
- Relevant startup/login logs
Project Status & License
Closed Source
- Normal server usage is allowed.
- Separate addon plugins using the SideGate public API are allowed.
- Modification, redistribution, or repackaging is not allowed without permission.
- Commercial use or monetization requires prior permission via email: kittiwut.pimpromma@gmail.com
Public reference snapshot:
https://github.com/TamKungZ/SideGate (sidegate-1.0.0-rc.1)
Security Notice
Guest account access may introduce identity verification limitations. For trusted/private servers, additional authentication or permission management plugins are recommended.


