EtriaBans v1.0.0

Complete Banning Suite for all types of Minecraft Servers

  1. MistPhizzle
    [​IMG]
    What is EtriaBans?
    EtriaBans is a banning plugin that was made initially for the EtriaCraft Servers before they went defunct. It is now used primarily by the Paltheon Minecraft Servers. This plugin uses MySQL (or a flatfile alternative) to offer a complete banning suite, records suite, all to make sure that order is easy to maintain in your Minecraft Server.


    Features
    • Everything has a permission node, you can define exactly how much power to give to your Moderators.
    • UUID Support
    • Banning Suite, complete with TempBans.
      • I have worked hard to ensure that commands are full proof. When you mess something up, it'll walk you right through the command.
    • Mute Suite, complete with Temporary Mutes.
    • Kick and Warn players who step out of line, but may not deserve the full ban / mute.
    • Accidentally ban someone when you meant to TempBan? Or mute when you meant to TempMute? You can edit the ban / mute and add a time without having to redo the entire process.
    • MySQL and SQLite support, works right out of installation. Plus, you can convert between the two.
    • Reasonable queries to prevent the server from hanging when processing massive amounts of information.
    • Checks IP addresses against banned players to warn Moderators of potential ban-evasion.
    • You can ban / mute in Seconds / Minutes / Hours / Days. It'll tell a use rhow much time they have left on their ban when they try to sign in.
    • Configurable.
    Installation
    The plugin is built in such a way to where you can just drop it in and go. If you would like to use MySQL, open your config file to do so, then reboot your server.


    Commands
    Ban Commands
    • /ban [Player] [Reason] - Bans a player.
    • /tempban [Player] [TimeDiff] [Reason]
      • Run the command in-game for an example on how to specify time.
    • /editban [Player] [TimeDiff] - Edit information on a player's ban.
    • /unban [Player] - Unbans a player.
    Mute Commands
    • /mute [Player] [Reason]
    • /tempmute [Player] [TimeDiff] [Reason] - Temporarily mute a player.
    • /editmute [Player] [Time] - Changes the time on a mute.
    • /unmute [Player]
    Misc. Punishment Commands
    • /ipban [IP Address] [Reason] - Bans an IP address.
    • /kick [Player] [Reason] - Kicks a player.
    • /warn [Player] [Reason] - Warn a player.
    Record Keeping Commands:
    • /checkip [IP Address] - Tells you who has signed in with the specified IP address.
    • /records [Player] - Returns a general records on a player such as number of bans / mutes / kicks / warns, IP Address, and reasons for current Bans / Mutes.
    • /banrecords [PlayerName|id] [ID#|past|current] - View information on a ban. Specify the playername in the first argument and then past / current in the second for general info on bans. You can use the IDs to get all info on a ban.
    • /muterecords [PlayerName|ID] [ID#|past|current] - See banrecords command.
    • /kickrecords [id|player] [ID#|PlayerName]
    • /warnrecords [id|player] [ID#|PlayerName]
    Other Commands
    • /etriabans info - Displays general info on the plugin.
    • /etriabans export - Exports database to exportedData.yml file (SEE IMPORT/EXPORT INSTRUCTIONS)
    • /etriabans import - Imports database from exportedData.yml file (SEE IMPORT/EXPORT INSTRUCTIONS)

    Permissions

    • etriabans.admin: Gives all permission nodes.
    • etriabans.ban: Allows user to use the /ban command.
    • etriabans.unban: Allows the user to use the /unban command.
    • etriabans.tempban: Allows the user to use the /tempban command.
    • etriabans.editban: Allows the user to use the /editban command.
    • etriabans.kick: Allows the user to use the /kick command.
    • etriabans.warn: Allows the user to use the /warn command.
    • etriabans.mute: Allows the user to use the /mute command.
    • etriabans.unmute: Allows the user to use the /unmute command.
    • etriabans.tempmute: Allows the user to use the /tempmute command.
    • etriabans.editmute: Allows the user to use the /editmute command.
    • etriabans.banip: Allows the user to use the /banip command.
    • etriabans.checkip: Allows the user to use the /checkip command.
    • etriabans.records.all: This user may view records for any player.
    • etriabans.records.own: User may only view records on themselves.
    • etriabans.records.canseeip: User may see IP addresses when checking records.
    • etriabans.banrecords.all: User may see all ban records.
    • etriabans.banrecords.own: User may only see own ban records.
    • etriabans.banrecords.byid: User may look up ban by ID.
    • etriabans.muterecords.byid: User may look up mutes by ID.
    • etriabans.muterecords.all: User may look up all mutes.
    • etriabans.muterecords.own: User may look up their own mutes.
    • etriabans.kickrecords.byid: User may look up a kick using the ID.
    • etriabans.kickrecords.own: User may look up their own kicks.
    • etriabans.kickrecords.all: User may look up all kick records.
    • etriabans.warnrecords.byid: User may look up warn records by ID
    • etriabans.warnrecords.own: User may look up their own warn records.
    • etriabans.warnrecords.all: User may look up all warn records.
    • etriabans.exempt.bans: User cannot be banned.
    • etriabans.exempt.mutes: User cannot be muted.
    • etriabans.exempt.kicks: User cannot be kicked.
    • etriabans.exempt.warns: User cannot be warned.
    • etriabans.exempt.bans.override: User can ban an exempt player.
    • etriabans.exempt.mutes.override: User can mute an exempt player.
    • etriabans.exempt.kicks.override: User can kick an exempt player.
    • etriabans.exempt.warns.override: User can warn an exempt player.
    • etriabans.unban.override: User can unban users they did not ban.
    • etriabans.unmute.override: User can unmute users they did not ban.
    • etriabans.info: User can use the /eb info command.
    • etriabans.import: Users can use the /eb import command.
    • etriabans.export: Users can use the /eb export command.
    • etriabans.announce: Users with this permission node will receive a message whenever a player is kicked / banned / warned / muted.
    Configuration
    Default Config: http://pastie.org/10353936

    Field Explained:

    • SQL
      • engine: Whether to use SQLite or mysql. Valid fields: sqlite/mysql
      • host: (MySQL only) Server where database is hosted.
      • password: (MySQL only) password to database.
      • database: (MySQL only) Name of Database.
      • username: (MySQL only) Username to database.
      • port: (MySQL Only) Port to database, defaults 3306
    • Settings
      • CheckIPOnLogin: true/false: Whether to check a player's IP for ban evasion.
      • CanOnlyUnbanOwnBans: true/false: Whether Moderators can unban another Moderator's bans. (Overridden by etriabans.unban.override)
      • CanOnlyUnmuteOwnMutes: true/false: Whether Moderators can unmute only their own mutes. (Overridden by etriabans.unmute.override)
      • BlockedCommandsDuringMute: List of Strings, commands that players cannot use while muted. They DO NOT require the slash at the beginning.
      • HasBeenConvertedToUUIDs: true/false -- Do not change this. If this is false, the plugin will check and update your SQL database to ensure it has room for UUIDs and update all UUIDs.
    Import / Export Instructions
    These instructions apply to the /eb import/export commands. This feature is used whenever you want to switch from MySQL / SQLite to the other.

    How To Use
    1. Make sure your epxportedData.yml file is empty. (If you delete it, reload the server to re-create the file)
    2. Make sure your config is using the engine that your data is currently stored in. (Default sqlite)
    3. Run the /eb export command. All of the stored data will export to the exportedData.yml file.
    4. Open your config, and change the SQL engine. If you are using sqlite, change it to mySQL. If you were using mysql, change it to sqlite.
    5. Reboot your server.
    6. Run the /eb import command. All data in the exportedData.yml will be imported. This may take several minutes based on how much data you have saved.

Recent Reviews

  1. Blackyvk
    Blackyvk
    5/5,
    Version: v1.0.0
    Seems to fix the problems i had with other bans plugins! would be nice a web interface for the mysql databases. I dont know php but i'll try to use those around and see if i can make it work.

    Thanks! will report if I find any errors when people start to join my server.