Only players who come through your proxy can join your backend servers. Anyone who connects to a backend server directly - bypassing BungeeCord or Velocity - is kicked before they get in.
ServerSwitchLite is the free, lightweight version of ServerSwitch: just the proxy-join protection, no extra modules, no license key, no limits. A simple alternative to OnlyProxyJoin that works with player names and a shared database instead of IP lists.
Why
Backend servers behind a proxy run in offline mode. If their port is reachable, anyone can join them directly with any name - including your staff's. ServerSwitchLite closes that hole, even when you cannot firewall the ports.
How it works
- Your proxy sends a player to a server. ServerSwitchLite on the proxy writes a short-lived ticket (player + server) into MySQL.
- The backend server checks for that ticket when the player logs in. Ticket found: the player joins and the ticket is used up. No ticket: the player is kicked and staff is notified.
- Tickets nobody used expire after a few seconds.
The check runs off the main thread, so a slow database never lags your server. If the database is unreachable, nobody gets in unchecked.
Features
- One jar for everything: Spigot, Paper and Purpur 1.8 – 26.3, BungeeCord/Waterfall and Velocity
- Bypass IPs, and a switch to turn the check off for maintenance
- Staff notification on direct join attempts (
serverswitch.notify) - Keep, customise or disable join/leave messages
reloadandstatuscommands on every platform- Optional auto-update from Modrinth
- Same database table as ServerSwitch Pro - upgrade any time
Requirements
- MySQL or MariaDB, reachable from the proxy and from every backend server
- ServerSwitchLite on the proxy and on every backend server
- Velocity only: JSMySQLFix - Velocity ships no MySQL driver
- Java 8 or newer
Setup
- Put the jar on your proxy and on every backend server (on Velocity also JSMySQLFix).
- Start once, then enter the same database in each config:
config.yml(backend),bungeeconfig.yml(BungeeCord) orvelocityconfig.yml(Velocity). - On each backend server set
server.servernameto the name of that server in your proxy config (servers:in BungeeCord,[servers]in velocity.toml). - Restart everything.
Commands and permissions
/serverswitch reload|status(alias/ss) - backend server/ssb reload|status- BungeeCord/ssv reload|status- Velocityserverswitch.admin- use the commands (default: op)serverswitch.notify- get told about direct join attempts (default: op)
Updates
- Update check (on by default): on startup the plugin asks Modrinth (api.modrinth.com) whether a newer release exists and writes a notice to the console. Nothing is downloaded. Only the plugin version is sent. Turn it off with
settings.update-check: false. - Manual update:
/serverswitchlite update(proxies:/ssb update,/ssv update) shows the new version, file name, size and when it will be installed. Only/serverswitchlite update confirmdownloads exactly that file from Modrinth and checks it against Modrinth's SHA-512 checksum. - Automatic updates (off by default): new releases are downloaded and installed automatically only if you set
settings.auto-update: trueyourself.
Need more?
ServerSwitch adds rate limiting, cooldowns, statistics, audit logs, webhooks, smart routing, maintenance mode and much more.
Support: Discord
No gallery available for this project.
| Version | Minecraft | Loader | Download |
|---|---|---|---|
|
ServerSwitchLite 1.0.0 1.0.0 |
1.8.8, 1.8.9, 1.9, 1.9.1, 1.9.2, 1.9.3, 1.9.4, 1.10, 1.10.1, 1.10.2, 1.11, 1.11.1, 1.11.2, 1.12, 1.12.1, 1.12.2, 1.13, 1.13.1, 1.13.2, 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4, 1.15, 1.15.1, 1.15.2, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 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.11, 26.1, 26.1.1, 26.1.2, 26.2, 26.3
|
bukkit, bungeecord, paper, purpur, spigot, velocity, waterfall
|
Download |