Skip to content

v0.1.0

Choose a tag to compare

@TitanEch0 TitanEch0 released this 23 Mar 02:29
e24d0f6

Release Notes - Version 0.1.0

Release Date: March 23, 2026

๐ŸŽ‰ Initial Release

Welcome to BSoftware Bans v0.1.0 - the comprehensive ban management system for your Minecraft server!


โœจ New Features

Core Ban System

  • โœ… Permanent Bans - Ban players indefinitely with customizable reasons
  • โœ… Temporary Bans - Ban players for a specific duration with flexible time formats (days, hours, minutes, seconds)
  • โœ… Ban Management - Unban players with a single command
  • โœ… Local SQLite Database - Fast, reliable local ban storage with automatic database initialization

Temporary Ban System

  • โœ… Flexible Duration Format - Support for combined duration specifications (e.g., 1d2h30m)
  • โœ… Automatic Cleanup - Periodic cleanup task removes expired bans every 5 minutes
  • โœ… Remaining Time Display - Players see their remaining ban time when trying to join
  • โœ… Asynchronous Operations - All database operations run asynchronously to avoid server lag

API Integration

  • โœ… Central API Support - Optional integration with central ban database
  • โœ… Global Ban Checking - Check against global ban list to maintain network security
  • โœ… Ban Reporting - Automatically report local bans to central system
  • โœ… Fail-Safe Design - Graceful degradation if API is unavailable

Player Management

  • โœ… Login Event Handling - Comprehensive ban verification on player login
  • โœ… Kick Messages - Customizable ban messages with reason and expiration time
  • โœ… UUID-Based System - Uses player UUIDs for reliable identification

Admin Features

  • โœ… Three Core Commands - /ban, /tempban, /unban
  • โœ… Permission System - Fine-grained control with individual permissions per command
  • โœ… Configuration System - Easy-to-use YAML configuration files
  • โœ… Customizable Messages - Full control over all in-game messages with placeholder support

๐Ÿ“‹ Commands

Command Permission Description
/ban <player> <reason> bans.ban Ban a player permanently
/tempban <player> <duration> <reason> bans.tempban Ban a player temporarily
/unban <player> bans.unban Remove a player from ban list

๐Ÿ“Š Database Structure

Tables

  • local_bans - Stores permanent bans with reason, banner name, and timestamp
  • temp_bans - Stores temporary bans with duration tracking in milliseconds

Data Storage

  • SQLite database: plugins/BSoftware_Bans/bans.db
  • Configuration: plugins/BSoftware_Bans/config.yml

๐Ÿ”ง Configuration

Default Settings:

  • Server name: server-01
  • Central API: Enabled
  • Global ban checking: Enabled
  • Ban reporting: Enabled

Customizable Messages:

  • Ban success/failure messages
  • Temporary ban messages with remaining time
  • Permission denied messages
  • Player not found messages

๐Ÿ“ฆ Technical Details

Requirements:

  • Minecraft Server 1.21+ (Spigot/Paper compatible)
  • Java 21+
  • Maven (for building)

Dependencies:

  • Spigot/Paper API 1.21+
  • SQLite JDBC
  • Google Gson
  • JetBrains Annotations

Size: ~50KB JAR file


๐Ÿ› Known Issues

  • None reported for initial release

โš ๏ธ Important Notes

Security

  • Keep your API key private and secure
  • Regularly backup the bans.db file
  • Monitor the logs for any suspicious activity

Performance

  • Large ban lists (1000+ entries) may increase login verification time
  • The cleanup task runs asynchronously and has minimal performance impact
  • Consider periodic database optimization for production servers with high traffic

Compatibility

  • Fully compatible with Paper servers
  • Supports Spigot servers running API version 1.21+
  • No conflicts with other ban plugins (exclusive use recommended)

๐Ÿš€ Installation Instructions

  1. Download the plugin JAR file
  2. Place it in your server's plugins/ folder
  3. Start the server - configuration will be generated automatically
  4. [Optional] Create API Key:
  5. Configure the config.yml file and add your API key (optional)
  6. Restart the server to apply configuration changes

First Steps

  • Set your server_name in config.yml
  • [Optional] Get an API Key:
    • Visit https://api.bsoftware.xyz/
    • Create a new API key to enable network-wide ban synchronization
    • Add the key to config.yml under database.central.api_key
  • Customize ban messages if desired
  • Grant permissions to administrators/moderators

๐Ÿ“ Changelog

Version 0.1.0 (Initial Release - March 23, 2026)

Added:

  • Permanent ban system with SQLite storage
  • Temporary ban system with automatic expiration
  • Central API integration for global ban management
  • Three core admin commands: /ban, /tempban, /unban
  • Automatic cleanup task for expired bans
  • Comprehensive ban verification on player login
  • Customizable configuration system
  • Full message customization support
  • Permission system with three permission nodes
  • Asynchronous database operations
  • Detailed logging of ban-related events
  • Complete README documentation

Documentation:

  • Comprehensive README.md with installation and usage guide
  • This Release.md with feature overview
  • Inline code documentation and comments
  • Configuration examples

๐Ÿค Support & Feedback

For issues, suggestions, or feedback:

  • Website: https://bsoftware.xyz
  • Documentation: See README.md for detailed information
  • Configuration Help: Refer to the default config.yml

๐Ÿ“œ Version Information

  • Version: 0.1.0
  • Release Date: March 23, 2026
  • Plugin Name: BSoftware_Bans
  • Developer: BSoftware Team
  • API Version: 1.21+
  • Status: Stable Release

๐ŸŽฏ Future Roadmap

Planned features for upcoming releases:

  • Ban appeals system
  • Admin logging and audit trails
  • Duration-based automatic unbans
  • Integration with Discord webhooks
  • Web dashboard for ban management
  • Ban statistics and analytics
  • Import/export functionality

Thank you for using BSoftware Bans! We hope it helps keep your server safe and secure. ๐ŸŽฎ

For the latest updates and information, visit: https://bsoftware.xyz