Tags
Creators
Details
Licensed GPL-3.0-only
Published 3 years ago
Updated 2 months ago
All versions
1.1
Release
BackyardBan 1.12 months ago 11
Compatibility
Minecraft: Java Edition
26.2
26.1.x
1.21.x
1.20.x
Platforms
BungeeCord
Velocity
Changes
Velocity support
BackyardBan now runs natively on both BungeeCord and Velocity.
Same jar, same commands, same config.\
🐛 Fixed
/backyardban unban(and/backyardban pardon) no longer suggestsbanin tab-completion — it now correctly suggestsunban.- Self-ban and self-unban protections (
/ban,/banip,/unban) now actually trigger. They previously compared UUIDs and IP addresses by reference (==) instead of by value, so the check silently never fired. - Malformed or excessively large ban durations (e.g. a typo'd unit, or
t:100yoverflowing) are now rejected with a usage message instead of silently becoming a permanent ban. - Banned players could still connect to the network. The login handler was disconnecting the incoming connection without cancelling the proxy's own login event, so the proxy carried on connecting them to a backend server anyway. Login is now correctly denied, and the check runs at the highest listener priority so no other plugin (e.g. an auth plugin) can flip the decision afterward.
- Online players are now reliably kicked the instant they're banned — a fragile null-check in the kick path could previously skip it silently.
/banand/banipnow consistently match players by username rather than display name, avoiding mismatches for nicknamed players.
🔧 Internal
- Extracted a platform-agnostic core (config/locale loading and migration, ban-duration parsing, message formatting, ban-record storage) shared verbatim between the BungeeCord and Velocity implementations, so a fix on one platform can't quietly go missing on the other.
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:3tYrcBjk:UkDl6oYx"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:3tYrcBjk:UkDl6oYx"
}

