Skip to content

Latest commit

 

History

History
101 lines (77 loc) · 6.34 KB

README.md

File metadata and controls

101 lines (77 loc) · 6.34 KB

AztecTabFilter

IMPORTANT: The name of this plugin has changed and the config and permissions are being renamed to match. If you used to use this plugin while it was named AztecTabCompleter and you don't want to change, you should use the code from the old-name-support branch, but this may not be updated as often.

Spigot 1.13-1.14.3 plugin that filters Command List Suggestions (initial tab complete) by allow/blocklists or groups.

Currently in 1.13, no tab-complete setting seems to stop all commands from being suggested after typing /<tab>, which creates a privacy and configuration issue for you. So, to correct this, this plugin exists to enforce filtering suggestions.

Note: Commands can only be removed from suggestions by this plugin, if the server does not already suggest it without the plugin, this will not add the suggestion.

Table of Contents

Getting the plugin

Downloading the Plugin pre-built

You can find released JARs (that can be added to your plugins folder) on the Releases tab of this project.

If you want something a bit more shiny, you can check out our development builds available through Jenkins CI.

Building the Project yourself

We've recently moved to using Maven! If you used build.xml or a Netbeans Project before, you may need to import the project again as a maven project / from existing POM.

This document may help you import the project in your IDE.

Using the Plugin

This is intended to be used spigot setting tab-complete: 0 which enables all suggestions and tab-completes.

Commands

A couple administrative commands exist to ease use of the plugin

Command Description
/aztabreload Reloads configuration settings from your config file
/aztabdump Toggles whether console-logging of command-suggestion filtering is enabled.

Permissions

Using permissions you can define access to different groups of suggestions, bypassing filtering, or accessing administrative commands.

Permission Default Value Description
aztectabfilter.* True for Ops Inherit all permissions except group behavior (may differ by permissions plugin)
aztectabfilter.suggest True Allows the user to receive filtered suggestions. If you deny this permission, all suggestions are blocked.
aztectabfilter.group.group-name-here Undefined Enables filtering for this user which is defined by this group-name in the configuration file
aztectabfilter.bypass True for Ops Allows the user to bypass filtering, receiving all normal command-suggestions, unmodified.
aztectabfilter.reload True for Ops Allows the user to access the /aztabreload command
aztectabfilter.dump True for Ops Allows the user to access the /aztabdump command

Configuration

The plugin configuration allows you to define whitelist/blacklist filtering of command-suggestions for everyone, or for specific groups, as well as the ability to tweak filtering order and behavior.

Configuration Option Default Value Description
visible-commands A list of commands that are allowed to be displayed for everyone. If a suggestion matches a command listed here it is allowed and no further filtering occurs for it.
invisible-commands A list of command suggestions that are blocked for everyone. If a suggestion matches a command listed here it is blocked and no further filtering occurs for it.
groups A set of group configurations that have their own allow/block lists with the above options
filter-order [blacklist,group-blacklists,whitelist,group-whitelists] A list of types of filters and in which order they should be applied. Can have values: whitelist, blacklist, group-whitelists, group-blacklists
filter-default DENY_FINAL The default action that should occur when no filters match the command. Can have values DENY_FINAL or ALLOW_FINAL. This defaults to DENY_FINAL (blocking the suggestion) if it is not understood.
kick-early-joins true Whether players joining at server startup before the plugin is fully enabled should be kicked (true/false). This option is experimental and may be removed if it is not necessary.
kick-message Please wait a moment for the server to load! The message players see when kicked by the above setting.
Note: allows and blocks

NOTE: All allow/block filter rules are final, meaning they skip all other filtering rules once matched. Suggestions are checked against rules in the order defined by filter-order and their first match determines whether they will appear in the list of suggestions or not.

Example Configuration

For better understanding, let's consider an example configuration like below:

visible-commands:
    - spawn
    - tpahere
invisible-commands:
    - etpahere
groups:
    vip:
        visible-commands:
            - nick
        invisible-commands:
            - seen
    moderator:
        visible-commands:
            - mute
            - v
        invisible-commands:
            - vanish
filter-order: [blacklist,group-blacklists,whitelist,group-whitelists]
filter-default: DENY_FINAL

With this configuration we can see from the filter-order that the global blacklist is processed first (invisible-commands), then all blacklists for groups that apply to the user (for example: invisible-commands in vip and chatmod), the global whitelist, and group whitelists for the user.

spawn and tpahere would be allowed to be displayed to everyone, while the alias etpahere is hidden from suggestions.

For players with the aztectabfilter.group.moderator permission, we can see similarly vanish is not displayed as a suggestion but the alias v is displayed. (assuming both are normally suggested).

Additionally because the default action is deny, any commands not already in a whitelist (visible-commands or group equivalent) will be removed from suggestions.