CommandNotifier | 1.8 - 1.14 | 1.2.2

Get notified when a command is executed on your server by a player or via console!

  1. Benz56
    Tested Minecraft Versions:
    • 1.8
    • 1.9
    • 1.10
    • 1.11
    • 1.12
    • 1.13
    • 1.14
    Source Code:
    https://github.com/Benz56/CommandNotifier
    [​IMG]

    CommandNotifier (CN) is a notification system for execution of commands on a server. Certain players based on configuration options and permissions will receive notifications when a command is executed either by a player or via the console. Even if you log out you aren't missing anything as any player fulfilling certain criteria are prompted with a log of all executed commands since they left in a nicely partitioned and navigable chat-based list. The plugin is customizable in every aspect!



    Test Server: 142.44.222.241:25602

    [​IMG]
    [​IMG] [​IMG]
    [​IMG]

    Features

    [​IMG] [​IMG]
    On the first GIF you can see how command-notifications are displayed. This is of course configurable. The log browser is showcased on the second GIF.
    • Ignore certain commands.
    • Built-in tab completion.
    • Per player toggle option.
    • Local SQL logging system.
    • Configurable JSON messages.
    • All messages are 100% customizable.
    • Smart login system prompting you with executed commands since your last logout.
    • View executed commands within a specified timespan in an interactive partitioned list.

    Configuration Files

    Config.yml

    Code (YAML):
    ############################################################################################
    # +--------------------------------------------------------------------------------------+ #
    # |     ___                                    _  _  _       _    _   __  _              | #
    # |    / __| ___  _ __   _ __   __ _  _ _   __| || \| | ___ | |_ (_) / _|(_) ___  _ _    | #
    # |   | (__ / _ \| '  \ | '  \ / _` || ' \ / _` || .` |/ _ \|  _|| ||  _|| |/ -_)| '_|   | #
    # |    \___|\___/|_|_|_||_|_|_|\__,_||_||_|\__,_||_|\_|\___/ \__||_||_|  |_|\___||_|     | #
    # |                                                                                      | #
    # | By: Benz56                                                                           | #
    # +--------------------------------------------------------------------------------------+ #
    ############################################################################################

    # Should OPs get command notifications without the commandnotifier.notify permission.
    NotifyOpsByDefault
    : false

    # Don't log and notify players of executed commands that aren't actual commands.
    IgnoreInvalidCommands
    : true

    # Notify players with permission of commands executed by other players.
    PlayerCommandNotifications
    : true

    # Notify players with permission of commands executed by the console.
    ConsoleCommandNotifications
    : true

    # Print a partitioned log containing executed commands from their last logout to now.
    ShowLogOnJoin
    : true

    # By inverting the IgnoreList you're essentially creating a whitelist.
    InvertIgnoreList
    : false

    # Specify commands that shouldn't get logged and shouldn't trigger a notification.
    # The plugin will automatically resolve aliases of the ignored commands an ignore those too.
    IgnoreList
    :
     - commandnotifier
      - broadcast
      - balance
      - tpahere
      - tpdeny
      - back
      - fly
      - god
      - kit
      - tpa
      - is

    # Update Checker.
    # Enable or disable the update checker.
    UpdateCheckerEnabled
    : true

    # false: All OPs are notified of a new update when they join.
    # true: OPs are only notified if they have the commandnotifier.update permission as well.
    # N.B. any user with the commandnotifier.update permission is notified; OP or not.
    UpdateCheckerPermissionOnly
    : false
    Messages.yml
    Code (YAML):
    # This is the Message file for all CommandNotifier messages.
    #
    # All messages are fully customizable and support color codes, formatting and ASCII symbols.
    # Set the Prefix and use %prefix% to add the corresponding prefix to a message.
    # Prepend any message with <ActionBar> to send it as an ActionBar message.
    # Leave a message blank ('') to disable it.
    #
    # You can also create messages with Hover and Click events. Syntax options: (Space between comma and quote is NOT allowed)
    #  - ["Message","/Command"]
    #  - ["Message","Hover"]
    #  - ["Message","/Command","Hover"]
    #  - ["Message","/Command","Suggest"]
    #  - ["Message","/Command","Hover","Suggest"]
    # You can add as many events to a message as you want. Example:
    # '%prefix% &cInvalid arguments! ["&c&n&oHelp","/commandnotifier help","&aClick to get help!"]'
    # The "Suggest" tag is used if the click event should suggest the command. Default is Run.


    Prefix
    : '&7[&9CommandNotifier&7]'
    Messages
    :
      General
    :
        InvalidPermission
    : '%prefix% &cYou do not have permission to do this!'
        NoCommands
    : Unknown command. Type "/help" for help.
        PlayerOnly
    : '%prefix% &cCommand can only be used as a Player!'
        InvalidArguments
    : '%prefix% &cInvalid arguments! ["&c&n&oHelp","/commandnotifier help","&aClick to get help!"]'
        ConfigurationsReloaded
    : '%prefix% &aConfiguration files successfully reloaded!'
      CommandNotifier
    :
        Enabled
    : '%prefix% &aCommand notifications have been enabled!'
        Disabled
    : '%prefix% &aCommand notifications have been disabled!'
        ExecutedCommand
    : '%prefix% &e%player% &aexecuted &e%command%'
        CommandsSinceLogout
    : '%prefix% &eExecuted commands since you last logged out:'
        NoCommandsInSpecifiedTimespan
    : '%prefix% &cThere were no executed commands in the specified timespan!'
        LogEntryHeader
    : '&e&l&m----&e Page &a%page%/%pages% &e&l&m------------'
        LogEntryFormat
    : ' &7&lā— &a%timestamp% &e&l> &e%player% &aexecuted &e%command%'
        LogEntryFooter
    : '&e&l&m----&e ["[&9Previous&f]","/commandnotifier log page previous","&aClick to go to the previous page"] &e&l&m--&e ["[&9Next&f]","/commandnotifier log page next","&aClick to go to the next page"] &e&l&m----'

    Commands

    /commandnotifier:
    Aliases: [commandn, cnotifier, comnotifier, cn]
    All commands below require the
    commandnotifier.commands permission alongside the individual command permission.
    • /cn [help]
      Alias: [h]
      Prints the help menu. The help menu is clickable and contains hover messages with instructions.
      Permission:
      • commandnotifier.commands.help
    • /cn toggle
      Aliases: [tog, t]
      Toggle command notification.
      Permission:
      • commandnotifier.commands.toggle
    • /cn log <time...>
      Alias: [l]
      Print a log of all executed commands from time of execution subtracted the specified amount of time.
      Permission:
      • commandnotifier.commands.log
    • /cn log page <"next"/"previous"/page>
      Alias: [l]
      Navigate in the retrieved log. Go to the next/previous page or specify a page.
      Permission:
      • commandnotifier.commands.log
    • /cn reload
      Aliases: [rel, r]
      Reloads all configuration files.
      Permission:
      • commandnotifier.commands.reload
    Other permissions:
    • commandnotifier.notify
      Players with this permission will receive command notifications.
    • commandnotifier.update
      Players with this permission are notified of new updates.
    • commandnotifier.log.bypass
      Commands executed by players with this permission are not logged.

    Installation & Setup

    Installing CommandNotifer is as simple as with any other plugin.
    1. Download CommandNotifier.
    2. Drag and drop the plugin into your plugins folder.
    3. Start/Restart/Reload your server.
    4. Configure the plugin as you wish.

    Discord Webhook
    By creating a Discord Webhook you can have CommandNotifier log all executed commands to a channel on your Discord server.
    [​IMG]
    Once you have created a Webhook copy the "WEBHOOK URL" and paste it into "WebhookURL" in the config.yml file and that's it!



    Versions & Support
    CommandNotifier only supports Spigot servers. That being said the plugin should work just fine on Spigot forks such as PaperSpigot as well.

    Confirmed working versions:

    • 1.8 - 1.14.x

    [​IMG]

Recent Reviews

  1. iCaitlyn
    iCaitlyn
    5/5,
    Version: 1.1.4
    Works as advertised, developer is quick to respond, and once configured properly, can be quite helpful!
    1. Benz56
      Author's Response
      Thank you for the review, iCaitlyn! :D