Описание
# Simple Whitelist
A simple, username-based whitelist for Minecraft servers — available both as a **Fabric mod** and as a **server plugin**.
## Features
- **Whitelist based on usernames:** The whitelist is keyed on usernames, not UUIDs. Names are case-sensitive — `Steve` and `steve` are treated as different players.
- **Database storage:** Store the whitelist data in a JSON file or a MySQL database.
- **ModMenu screen (Fabric client, 1.21+):** With [ModMenu](https://modrinth.com/mod/modmenu) installed, a minimal config screen lets you toggle the whitelist — handy when you open a singleplayer world to LAN.
## Fabric mod
### Dependencies
Required:
- **[Fabric API](https://modrinth.com/mod/fabric-api)**
- **[Fabric Language Kotlin](https://modrinth.com/mod/fabric-language-kotlin)**
Optional:
- **A [fabric-permissions-api](https://github.com/lucko/fabric-permissions-api) provider** (e.g. **[LuckPerms](https://modrinth.com/mod/luckperms)**) for permission-based command access. Without it, commands fall back to vanilla operator level 4.
### Installation
1. Download the latest release for your Minecraft version from [Modrinth](https://modrinth.com/mod/simple-whitelist).
2. Place the `.jar` file in your `mods` folder.
## Server plugin
The same whitelist is available as a **server plugin** — one jar for Spigot, Paper, Purpur and Folia. It reuses the mod's JSON/MySQL storage and the same case-sensitive, username-based rules, and needs no client mod.
- **Config:** `plugins/SimpleWhitelist/config.json` — same schema as the mod (see below).
- **Permission:** `simplewhitelist.command` (default: op) — grant it via any permissions plugin, e.g. LuckPerms.
### Installation
1. Download the latest **plugin** release from [Modrinth](https://modrinth.com/mod/simple-whitelist).
2. Place the `.jar` file in your `plugins` folder.
Client-only features (the ModMenu config screen) are mod-only and have no plugin equivalent.
## Configuration
The default configuration file is `config/SimpleWhitelist/config.json` (mod) or `plugins/SimpleWhitelist/config.json` (plugin):
```json
{
"whitelist": true,
"databaseType": "json",
"mysqlUrl": "jdbc:mysql://:@:/",
"jsonFileName": "whitelist.json"
}
```
**Configuration options:**
- `whitelist`: Enable or disable the whitelist.
- `databaseType`: The type of database to use. Can be either `json` or `mysql`.
- `mysqlUrl`: The connection string for the MySQL database.
- `jsonFileName`: The name of the JSON file to store the whitelist data.
## Commands
- **`simplewhitelist list`:** List all players on the whitelist.
- **`simplewhitelist add `:** Add a player to the whitelist.
- **`simplewhitelist remove `:** Remove a player from the whitelist.
- **`simplewhitelist on`:** Enable the whitelist.
- **`simplewhitelist off`:** Disable the whitelist.
**`simplewhitelist` aliases:** `swl`, `swh`, `swhitelist`
## Permissions
- **`simplewhitelist.command`:** Allows players to use the whitelist commands.