Mask - Easy Anti-VPN / Anti-Bot. Mask is a plugin used to run commands against users of different IP levels

This is a discussion topic for the Ore project, Mask. View the full project on Ore for downloads and more information.


Mask

Mask is a plugin used to run commands against users of different IP levels. These levels include:

  • Residential
  • Non-Residential (VPN, Cloud Provider, etc)
  • Mixed(If an IP is marked both residential / Non - Residential)

The primary use of this plugin is to prevent abuse of VPN clients to ban-evade on the server.
Because you can run any commands against people in the different groups, you can:

  • Log when VPN users access the server
  • Combine with things like a discord link to message in your server discord when
  • Remove their perms and put them into a ‘greylist’ mode which requires a staff member to interact with them for them to play.
  • Prevent them from logging into the server via a VPN at all with kick / ban commands
  • Jail / Teleport them

This plugin requires you setup an account on https://iphub.info to get an API key. Whether you use a free or paid account is up to you!

Permissions

mask.admin.command.reload - Reload the config (and api key) in game
mask.command.user.base - Shows /mask usage
mask.ignoreplayer - ignores running check against a player with this permission

Command Usage

  • /mask reload - Reloads the GiveRandom config

Config

This plugin uses a YAML configuration file.
To ensure the yaml is valid you can put it through any yaml linter, such as this one.
This is formatted like the below:

modes:
    0:
        executeCommands: true
        commands: {commandOne: 'broadcast {player} logged in', commandTwo: 'give {player}
                minecraft:stone'}
    1:
        executeCommands: true
        commands: {commandOne: 'broadcast {player} logged in', commandTwo: 'give {player}
                minecraft:stone'}
    2:
        executeCommands: true
        commands: {commandOne: 'broadcast {player} logged in', commandTwo: 'give {player}
                minecraft:stone'}```

Available replacements include:
    - {player} - The player name
    - {ip} - The player's ip address
    - {countryCode} - The country code received of the player
    - {countryName} - The country name received of the player
    - {asn} - The ASN received of the player
    - {isp} - The ISP received of the player
    - {mode} - The block mode received of the player

A new version has been released for Mask, it is available for download here.


Fixes Sponge Version (Shadows okhttp)

A new version has been released for Mask, it is available for download here.


Add UUID placeholder

Just wanted to say that this is a really solid tool - easy to install and configure, works extremely well. My only requests would be a) include examples in the config file so it’s a bit more obvious how to insta-kick players, and b) please please please expand on this for 1.16.5 (e.g. under Mohist, which handles Forge mods reasonably well).

I had some scumbag attack my server, and put your tool in place to reduce the chances of it in future. Took me all of 5 minutes (including the reboot) to set it up and it worked instantly. Thank you.

Just wanted to say that this is a really solid tool - easy to install and configure, works extremely well. My only requests would be a) include examples in the config file so it’s a bit more obvious how to insta-kick players, and b) please please please expand on this for 1.16.5 (e.g. under Mohist, which handles Forge mods reasonably well).

I had some scumbag attack my server, and put your tool in place to reduce the chances of it in future. Took me all of 5 minutes (including the reboot) to set it up and it worked instantly. Thank you.