Tags
Creators
Details
2.7.0
Compatibility
Changes
VoidAC 2.7.0
Fixed
Punishments and unbans now stay synchronized. /void unban removes the
native Void ban and can execute the configured external unban command. This
fixes cases where Void reported that a player was not banned, but Essentials,
LiteBans, or the vanilla ban list still prevented them from joining.
Offline-mode punishment handling. Active bans can now fall back to a case-insensitive player name lookup when the UUID generated by an offline-mode server or proxy does not match the UUID stored when the punishment was issued.
Self punishment is now blocked. Staff members can no longer accidentally
ban themselves with /void punish or add themselves to a ban wave. Console
commands are not affected.
Invalid punishment durations are rejected. Values such as exploiting
can no longer be interpreted as a duration. Void accepts seconds, minutes,
hours, days, weeks, compound values such as 1d12h, and permanent bans.
Ban wave scheduling. The first automatic wave now waits from the oldest queued entry. Later waves wait from the previous execution time, preventing waves from executing immediately after a restart.
Version-specific false positives. PacketOrderA, PacketOrderH, PacketOrderK, BadPacketsG, BadPacketsZ, CrashI, VehicleE, and VehicleF now run only on client versions where their packet behavior is valid.
Added
-
/void punish <player> [duration] [reason]now accepts custom reasons with multiple words. -
/void banwave add <player> [duration] [reason]now accepts custom reasons. -
Missing reasons fall back to
Cheating. The fallback can be changed withpunishments.manual-punish.default-reasonandban-wave.default-reason. -
Manual punishment and ban wave templates now support the
{reason}placeholder. -
Custom ban wave reasons are stored in
banwave.datand survive server restarts. Existing queue files remain compatible. -
Ban wave list output now displays the reason assigned to every queued player.
-
Added
punishments.unban-commandfor integrations with vanilla bans, EssentialsX, LiteBans, AdvancedBan, and other punishment plugins. -
Added
viaproxy-warn-on-jointo disable ViaProxy join warnings on multi-version and Geyser networks.
Changed
-
Manual punishments and ban waves now normalize durations before storing or executing them.
-
Existing punishment templates without
{reason}automatically receive a reason line, so customized server configurations continue working. -
Offline ban wave entries are also stored in Void when an external ban command is used, preventing the external plugin and Void from disagreeing.
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:aauFRVwy:3gZmgeFi"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:aauFRVwy:3gZmgeFi"
}

