PlayerAccessList

A plugin for managing server access with white and black lists

21

PlayerAccessList

🛡️ PlayerAccessList (PAL)

PlayerAccessList is a powerful and flexible access management system for your Minecraft server, providing whitelist and blacklist functionality.

bStats Servers

bStats Players

Software

Modrinth Downloads

GitHub License

img

✨ Features

* Multi-language support — The plugin can connect to external databases. * Multi-language support — Uses the modern formatting system from Adventure API. * Multi-language support — Most access checks are performed asynchronously. * Multi-language support — Allows copying data from the vanilla whitelist into the plugin database. * Multi-language support — Ability to log all actions to console or moderator chat. * Multi-language support — Configure custom access scenarios using Overrides. * Multi-language support — Several localization files are built in. Multi-language support * %%MD1%%

🚀 Commands

| Command | Aliases | Description | Permission | |-------|--------|-------------|------------| | `/whitelist` | `/wl, /whl` | Manage the whitelist | `pal.whitelist` | | `/blacklist` | `/bl, /bll` | Manage the blacklist | `pal.blacklist` | | `/pal` | `/playeraccess, /playeraccesslist` | Main plugin command (reload, migration) | `pal.admin` |

📈 bStats Analytics

View **PlayerAccessList on bStats**

bStats

Configurations

Main configuration:

```yaml

█████▄ ██ ▄████▄ ▄█████ ▄█████ ██ ██ ▄█████ ██████

██▄▄█▀ ██ ██▄▄██ ██ ██ ██ ██ ▀▀▀▄▄▄ ██

██ ██████ ██ ██ ▀█████ ▀█████ ██████ ██ █████▀ ██

#

» Support: https://dsc.gg/bytepl

#

⚠ Found a bug? Please contact support before leaving a low rating.

We value your trust and will help you quickly!

❤ Like the plugin? Leave a review, it's the best motivation.

Plugin prefix in messages. (placeholders: %prefix%)

prefix: '&#6EADFF&lPAL &8»&7'

Color code and text formatting mode.

All methods support HEX colors.

#

Options:

» LEGACY (Classic: &6, &#aabbcc)

» LEGACY_UPDATED (Extended: &6, &#aabbcc, <#aabbcc>)

» MINIMESSAGE (Tags: <red>, <gradient>)

serializer: "legacy"

Plugin localization (the corresponding file must be in the /lang/ folder)

#

Available localizations:

» ru (Russian) [By SuperCHIROK1]

» en (English) [By SuperCHIROK1]

#

Help us improve!

If you've made a high-quality translation into another language,

suggest it on our Discord server: https://dsc.gg/bytepl

language: en

Player data storage settings

database:

Database type.

It is recommended to change this while the server is offline.

#

Types:

sqlite - local file (recommended for small servers)

mysql - remote DB (recommended for server networks/BungeeCord)

type: "sqlite"

SQLite file name/path (will be created in the plugin folder)

sqlite_path: 'data.db'

MySQL connection parameters (used if type: mysql)

mysql: host: "0.0.0.0" # Database IP address port: 3306 # MySQL port username: "pal_user" # Database username password: "password" # User password database: "pal_db" # Created database name

Connection parameters string.

(if you are not sure what this is, we recommend leaving it as is)

args: "?useSSL=false&autoReconnect=true&characterEncoding=utf8"

Synchronization section for multiple servers (MySQL only)

polling:

Should the automatic cache update be enabled?

If you have multiple servers connected to the same DB,

this allows them to see changes made on other servers.

enabled: false

Update check interval (in seconds).

Lower values mean players can join faster after being added,

but the plugin will "query" the database more frequently.

Recommended: 30-60 seconds.

delay: 60 ```

access.yml:

```yaml

█████▄ ██ ▄████▄ ▄█████ ▄█████ ██ ██ ▄█████ ██████

██▄▄█▀ ██ ██▄▄██ ██ ██ ██ ██ ▀▀▀▄▄▄ ██

██ ██████ ██ ██ ▀█████ ▀█████ ██████ ██ █████▀ ██

#

» Support: https://dsc.gg/bytepl

#

⚠ Found a bug? Please contact support before leaving a low rating.

We value your trust and will help you quickly!

❤ Like the plugin? Leave a review, it's the best motivation.

whitelist:

Enable whitelist?

enabled: false

Kick message shown to the player.

kick_message: - '&cYou are not whitelisted on this server!' - '&7yourserver.net'

List of players who cannot be added to the whitelist.

cannot_be_added: - TestPlayer - player1234

blacklist:

Enable blacklist?

enabled: false

Kick message shown to the player.

kick_message: - '&cYou are blacklisted from this server!' - '&7yourserver.net'

List of players who cannot be added to the blacklist.

cannot_be_added: - TestPlayer - player1234

overrides:

Enable overrides system?

enabled: true

Override files. Must be located in the plugin folder.

You can add your own files here.

files: - 'overrides/overrides.yml'

nickname_check:

Enable nickname validation?

enabled: true

Kick message if the player's name doesn't match the standards.

kick_message: - '&cYour nickname does not meet the server standards!'

Regex pattern for nickname validation.

regex: '^[a-zA-Z0-9_]{3,16}$' ```

logging.yml:

```yaml

█████▄ ██ ▄████▄ ▄█████ ▄█████ ██ ██ ▄█████ ██████

██▄▄█▀ ██ ██▄▄██ ██ ██ ██ ██ ▀▀▀▄▄▄ ██

██ ██████ ██ ██ ▀█████ ▀█████ ██████ ██ █████▀ ██

#

» Support: https://dsc.gg/bytepl

#

⚠ Found a bug? Please contact support before leaving a low rating.

We value your trust and will help you quickly!

❤ Like the plugin? Leave a review, it's the best motivation.

moderator_log: true console_log: true

Type of message sent to moderators.

Options:

CHAT_MESSAGE - Chat message

ACTIONBAR - Actionbar message

message_type: CHAT_MESSAGE

Sound played to moderators.

Format: 'sound_id volume pitch'

sound: 'entity.item.pickup 1 0.2'

messages: whitelist: 'Player &f%player% (%ip%) &7tried to join, but they are not whitelisted.' blacklist: 'Player &f%player% (%ip%) &7tried to join, but they are blacklisted.' kick: 'Player &f%player% (%ip%) &7tried to join.' ```

overrides/overrides.yml:

```yaml ##

overrides:

<name>: (can be anything, it doesn't affect functionality)

enabled: <true|false> <- Enabled?

conditions: <- Conditions under which the player will be kicked from the server. (usage and list below)

- "list of conditions.."

kick: <- Kick message

- '&cYou have been kicked from the server'

##

List of conditions and their descriptions:

1. nickname: <nickname> - Checks the player's name.

Example: - 'nickname: Notch' (will kick the player with this nickname)

2. uuid: <id> - Checks the player's unique ID.

Example: - 'uuid: 069a79f4-44e9-4726-a5be-fca90e38aaf5'

3. ip: <address> - Checks the player's IP address.

Example: - 'ip: 127.0.0.1'

4. permission: <permission> - Checks for the presence of a permission node.

Example: - 'permission: group.guest' (will kick anyone who has this permission)

5. world: <world> - Checks which world the player is in.

Example: - 'world: world_nether' (will kick the player if they are in the nether)

Using the ! operator (NEGATION):

If you put ! before a condition, it will trigger for those who DO NOT match the description.

Example: - '!permission: server.vip' (will kick all who DO NOT have vip status)

Example configuration: (all are disabled by default)

overrides:

Check by player nickname.

nickname_check: enabled: false conditions: - 'nickname: BadPlayer' # Kick the player with the nickname BadPlayer kick: - '&cBad players are not allowed in!' - '&6server.net'

Check for the presence of a permission. (if they have it, let them in, otherwise kick)

The "negation" operator works here.

permission_check: enabled: false conditions: - '!permission: techwork.work' # Kick the player who does not have the "techwork.work" permission kick: - '&cServer is currently under maintenance.' - '&6server.net' ```

ADS