COWMODSКаталог модов

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

Автор: TamKungZ_3953обновлён 25 авг. 2026 г.
Механики игрыУтилиты

Описание

SideGate

SideGate Logo

Hybrid Access Control for Online-Mode Servers
Keep online-mode security while selectively allowing administrator-approved guest accounts.

GitHub Documentation CurseForge SpigotMC

In-Game Screenshot

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-usernames can always follow the standard login path.
  • Guest Admission Policy: Use allow-all-guests or allowed-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/

  1. Install ProtocolLib (5.x+).
  2. Optionally install Floodgate and/or Geyser-Spigot for automatic Bedrock detection.
  3. Put the SideGate .jar file in your /plugins folder.
  4. Set online-mode=true in server.properties.
  5. 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.

Галерея

SideGate PluginGuest Chat IdentityGuest ExperiencePremium Name Protection

Последние версии

Все версии →
release

SideGate 1.2.3

1.2.3
25 авг. 2026 г.154Minecraft: 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2bukkit, paper, purpur, spigot
Скачать
Что нового
## SideGate 1.2.3 Release date: 2026-08-25 ### Fixed - Fixed Guest logins bypassing Bukkit's async pre-login event when SideGate advances the login state directly. LuckPerms and similar plugins now receive the offline UUID pre-login event before `PlayerLoginEvent`, allowing permission data to preload correctly.
beta

SideGate 1.2.2

1.2.2
17 июн. 2026 г.64Minecraft: 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2bukkit, paper, purpur, spigot
Скачать
Что нового
## SideGate 1.2.2 Release date: 2026-06-10 ### Added - Added `proxy-mode.enabled` for Bukkit backends connected through SideGate for Velocity. - Added platform-neutral `LoginDecision` results and `evaluateLogin(String)` to the public API. - Added `isProxyModeEnabled()` to the public API. - Added configurable Velocity login-decision logging and a Premium-session failure message. ### Changed - Velocity now owns Premium/Guest login decisions while Bukkit proxy mode only applies Guest tags, gamemode, titles, messages, and chat prefix. - ProtocolLib remains a required dependency for every Bukkit installation, including proxy-mode backends. - Velocity Premium checks now fail closed on invalid usernames, Mojang API errors, and unexpected responses. - Velocity Premium checks now use asynchronous HTTP with request deduplication instead of blocking the pre-login handler. - Velocity now preserves prior Floodgate/authentication-plugin decisions and tracks Guest candidates by connection with expiration. - Velocity login routing is disabled when `online-mode` is false or modern player forwarding is not configured. - Velocity now replaces its generic invalid-session response for Premium-name conflicts with the configured SideGate message. - `allow-all-guests` now defaults to `true` in both editions.
release

SideGate 1.2.1

1.2.1
10 июн. 2026 г.87Minecraft: 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2bukkit, paper, purpur, spigot
Скачать
Что нового
## SideGate 1.2.1 Release date: 2026-06-10 ### Added - Optional Floodgate and Geyser-Spigot integration. Detected Bedrock players stay on the Floodgate/Geyser authentication path and are not classified or tagged as SideGate guests. - Soft dependencies for `floodgate` and `Geyser-Spigot`; neither plugin is required when Bedrock support is not used. - Added configurable `premium-session-failure.action` with `KICK_WITH_MESSAGE` and `FALLBACK_TO_GUEST` modes. - Added a configurable Premium-name conflict message. SideGate compares the login UUID with the official Mojang profile before encryption so cracked launchers that abort on HTTP 401 receive the configured message. - Added Guest fallback for Premium-name UUID mismatches before encryption, plus same-connection fallback when an invalid encrypted session response is available. ### Changed - Mojang profile lookups now run through ProtocolLib's asynchronous listener path to avoid blocking the packet thread. - Premium lookup cache entries now expire after 10 minutes and use bounded eviction instead of clearing the entire cache. - Premium lookup cache entries now retain the official Mojang UUID for early Premium-name conflict detection. - Mojang API errors, invalid responses, and invalid Java usernames now fail closed by leaving authentication to the server instead of granting guest access. - Guest connection selection now requires an exact address match or matching login profile name; unsafe cross-connection and port-only fallbacks were removed. - Removed duplicate `[SideGate]` text from plugin logger messages because Bukkit already adds the plugin name. - Compatibility and issue-report startup notices now use `INFO`; the ProtocolLib dev-build warning is skipped when a development build is already installed. ### Fixed - Fixed Floodgate/Geyser Bedrock players being treated as non-premium guests. - Fixed a possible guest injection mix-up when multiple login connections were pending. - Fixed a ProtocolLib `TemporaryPlayer` warning and stack trace caused by reading an unavailable UUID during early login.
release

SideGate 1.2.0

1.2.0
19 мая 2026 г.62Minecraft: 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2bukkit, paper, purpur, spigot
Скачать
Что нового
## SideGate 1.2.0 Release date: 2026-05-18 ### Added - Runtime API service (`SideGateApi`) exposed through Bukkit `ServicesManager` for addon/plugin integration. - Runtime reload support with `/sidegate reload` to 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 `compileOnly` to avoid shading/packaging ProtocolLib into SideGate and prevent classloader conflicts. - Login-state injection path was adjusted to prefer stable accept states (`READY_TO_ACCEPT`, fallback `ACCEPTED`) to reduce non-premium login timeouts. - Defensive ProtocolLib runtime checks were added to avoid `NullPointerException` when ProtocolManager is temporarily unavailable. - Guest login injection now cancels login at `START` and immediately injects approved guests, with delayed fallback retained for packet-order edge cases. - Post-auth login pipeline now supports modern `GameProfile` method signatures (`verifyLoginAndFinishConnectionSetup`, `startClientVerification`, `finishLoginAndWaitForClient`) for newer Paper builds. ### Fixed - Fixed startup failure where `ProtocolLibrary.getProtocolManager()` could be `null` and 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=false` in `server.properties`. - Keep `online-mode=true`; SideGate handles approved guest flow without globally switching offline mode. - Added startup warning for Minecraft `1.21.9-26.x` to recommend ProtocolLib dev build: `https://github.com/dmulloy2/ProtocolLib/releases/tag/dev-build`.
release

SideGate 1.0.1

1.0.1
1 янв. 2026 г.26Minecraft: 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11bukkit, paper, purpur, spigot
Скачать
Что нового
# SideGate v1.0.1 Changelog ## New Features & Enhancements * **Hybrid Auto-Detection System** * Implemented intelligent Mojang API integration. The plugin now automatically verifies if a connecting username belongs to a paid Minecraft account. * **Premium Players:** Automatically routed through the standard secure login process (preserving skins and UUIDs). * **Guest/Cracked Players:** Automatically redirected to the guest injection protocol without manual intervention. * _Config Option:_ `auto-detect-premium: true` (Enabled by default). * **Premium Override List** * Added a `premium-usernames` configuration list. * Allows administrators to manually force specific usernames to be treated as Premium, bypassing the API check. This is useful for staff security or in cases of API downtime. * **Performance Optimization** * Introduced `ConcurrentHashMap` caching for API results. This minimizes external HTTP requests and prevents login lag during peak traffic. * Added a cache cleanup mechanism to prevent memory overflow. ## Bug Fixes & Stability * **UUID Handling:** Refined the logic for detecting Offline UUIDs (Version 3) to ensure guest restrictions are applied correctly only to non-premium players. * **Packet Injection:** Improved the stability of the `Login.Client.START` packet listener to reduce potential conflicts with other protocol-based plugins. ## Configuration Changes * Added `auto-detect-premium` (boolean) to toggle the hybrid detection system. * Added `premium-usernames` (list) for manual premium overrides. * Updated default messages to clearer, more professional wording. **Upgrade Instructions:** To utilize the new features, please regenerate your `config.yml` or manually add the new `auto-detect-premium` and `premium-usernames` keys to your existing configuration.