2.1.1
Compatibility
Changes
ServerSwitch 2.1.1 is a bug-fix release. Two things that silently did nothing now work: the auto-updater actually installs updates, and the Velocity rate limiter no longer blocks players who are being admitted by a queue.
Bug Fixes
- Auto-Update: Updates are now applied. Previous versions downloaded the new jar into plugins/updates/, a folder no server ever reads, so the update was never installed.
- Spigot / Paper: the jar is staged in the server's real update folder (plugins/update/, see bukkit.yml) under the name of the running jar. The server swaps it in on the next restart.
- BungeeCord / Velocity: the jar is staged next to the running one and swapped in when the proxy stops. If the swap is not possible (locked file on Windows), it is retried on the next start. Downloads are checked against the SHA-512 Modrinth publishes; a broken download is discarded.
- Only release versions are installed - betas and alphas are skipped.
- Versions are compared numerically, so 2.1.10 is correctly newer than 2.1.9.
- Velocity now downloads at all - it used to only log that an update exists.
Velocity Rate Limiter
- Fixed "You are switching servers too quickly! Please wait." appearing when a queue plugin admits the player. The limiter counted every connection attempt; a queue's admission one second after the player's request was treated as a second click. It now counts only completed switches.
- Players without a current server (joining, being redirected after a kick) are never rate-limited - denying there dropped them from the proxy.
- features.rate-limiting.* in velocityconfig.yml is now actually read (cooldown-ms, per-player-limit, max-requests-per-minute, bypass-permission). The values were hardcoded before. serverswitch.bypasslimit works (it always returned false).
- New message key messages.rate-limited with {seconds}; added to existing configs automatically.
Upgrading
- Drop in the new jar, or let 2.1.1 update itself from now on. Existing configs are migrated automatically; nothing to change by hand.
Compatibility: Spigot/Paper 1.8 – 1.21.x, BungeeCord/Waterfall, Velocity 3.x. Java 21 recommended.
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:nLpQDoDu:P1le9rln"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:nLpQDoDu:P1le9rln"
}

