> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sentrystudios.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Installation

> Deployment, environmental prerequisites, and ProtocolLib integration for SentrySettings.

Welcome to the **SentrySettings** installation guide. Engineered for modern high-performance servers, SentrySettings combines player preferences with Netty packet optimization into a single, unified interface.

***

## System Prerequisites

Java 17 / 21 TargetFolia CompatibleProtocolLib Required

> [!WARNING]
>
> **Java Runtime:** SentrySettings compiled targets require **Java 17** or **Java 21**. Running on older JVM runtimes will cause immediate startup failures.

> **Supported Platforms**
>
> Native support for PaperMC, Purpur, and Folia (1.20.x through 1.21.x).

> **ProtocolLib (Mandatory)**
>
> Hard dependency on **ProtocolLib** (v5.1.0+) to intercept network packets and power PvP hit-reg optimizers.

> **PlaceholderAPI (Optional)**
>
> Exposes `%sentrysettings_<setting>%` and `%sentrysettings_<setting>_raw%` identifiers for tablists and scoreboards.

***

## Installation Steps

**1. Download Required Jars**

Download the latest `SentrySettings.jar` from your Sentry Studios client portal or BuiltByBit dashboard. Download the latest release of [ProtocolLib](https://github.com/dmulloy2/ProtocolLib/releases).

**2. Deploy to Plugins Folder**

Upload both `.jar` files into your server root's `/plugins` directory:

**plugins**

**ProtocolLib.jar**

**SentrySettings.jar**

**3. Reboot Server**

Perform a complete server restart. We strongly discourage `/reload` or PlugMan for packet-based plugins, as Netty pipelines must be attached during the initial server socket binding.

**4. In-Game Verification**

Once online, type `/settings` in-game to verify that the menu opens smoothly with active sound feedback. Check your console to confirm database connectivity:

```text Server Console theme={null}
Verifying license key (timeout 3s)...
License verified! Thank you for supporting Sentry Studios.
Dependencies checked: ProtocolLib, PlaceholderAPI, Vault, LuckPerms
[SentrySettings] Enabled v1.0.0 (HWID: e3b0c44298fc1c14) [Hooks: ProtocolLib, PlaceholderAPI]
```

***

## Troubleshooting

> **Plugin fails with ClassNotFoundException: ProtocolLibrary**
>
> SentrySettings requires **ProtocolLib** to operate. Ensure `ProtocolLib.jar` is installed in `/plugins` and is active on your server.

> **Player Visibility toggle isn't hiding players**
>
> If players remain visible after toggling Player Visibility, check for conflict with vanish or spectator plugins (like SuperVanish or PremiumVanish) that forcefully re-show entities. SentrySettings respects administrator visibility overrides by default.

> **Toggles not syncing across servers**
>
> If running a multi-lobby proxy network, ensure all backend instances point to the same centralized **MySQL** database inside `config.yml` with matching table prefixes.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.