BanHammer

BanHammer is a convenient moderation tool for Minecraft servers running on the Fabric platform. This mod provides administrators with advanced player management capabilities, including various types of punishments.
Main Features
The mod allows applying permanent and temporary bans to players, restricting chat communication, and forcibly disconnecting from the server. All messages visible to users can be fully customized with support for advanced text formatting.
The system integrates with Fabric Permissions API, ensuring compatibility with popular permission management plugins. For data storage, support is available for both SQLite and MySQL databases.
Commands and Permissions
The mod offers a comprehensive command system with different permission levels:
Main Management Commands:
/banhammer- mod information (permission: banhammer.commands.main)/banhammer reload- configuration reload (requires op level 4)/banhammer import- import bans from other sources (op level 4)
Punishment Commands:
/banand/tempban- permanent and temporary player bans/ban-ipand/tempban-ip- IP address bans/muteand/tempmute- chat restrictions/kick- forced server disconnection
Punishment Removal Commands:
/unbanand/unban-ip- ban removals/unmute- chat permission restoration/pardon- complete removal of all punishments
For silent punishment application, use the -s parameter before specifying the reason. Time intervals are set in seconds (s), minutes (m), hours (h), days (d), and years (y), with the ability to combine formats.
Configuration Settings
{
"CONFIG_VERSION_DONT_TOUCH_THIS": 1, // Configuration version (do not modify)
"punishmentsAreSilent": false, // Silent mode for all punishments
"storeAllPunishmentsInHistory": true, // Punishment history storage
"muteBlockedCommands": [ // Commands unavailable during mute
"msg",
"me"
],
"standardBanPlayersWithBannedIps": false, // Standard bans with IP blocking
"autoBansFromIpBansAreSilent": true, // Silent auto-bans from IP blocks
"defaultTempPunishmentDurationLimit": "-1", // Temporary punishment time limit (-1 = no limit)
"permissionTempLimit": { // Limit settings via permissions
"example": "31d"
},
"databaseType": "sqlite", // Database type ("sqlite" or "mysql")
"sqliteDatabaseLocation": "banhammer-sqlite.db", // SQLite database location
"mysqlDatabaseAddress": "", // MySQL server address
"mysqlDatabaseName": "", // MySQL database name
"mysqlDatabaseUsername": "", // MySQL username
"mysqlDatabasePassword": "" // MySQL password
}