ServerProtection

ServerProtection is a lightweight plugin that protects your server from new players attempting to grief using dangerous items and blocks.

12

Quick challenge

How far can you run before the mobs catch you?

ServerProtection

ServerProtection

ServerProtection is a lightweight plugin that protects your server from new players attempting to grief using dangerous items and blocks.

🔒 How it works

New players are restricted from using certain blocks and items until they reach a configured playtime threshold. Once they've played long enough, all restrictions are lifted automatically.

✨ Features

- Hot reload — players are blocked until they reach the required playtime - Hot reload — block any item or block completely - Hot reload — restrict blocks only in specific dimensions (beds in Nether/End, respawn anchors in Overworld) - Hot reload — restrict items to specific blocks and faces (flint & steel only on top of obsidian) - Hot reload — get notified instantly when a player triggers a restriction - Hot reload — reload config without restarting the server

📋 Commands & Permissions

| Command | Description | Permission | |---|---|---| | `/serverprotection reload` | Reload the config | `serverprotection.reload` |

| Permission | Description | |---|---| | `serverprotection.bypass` | Bypass all restrictions | | `serverprotection.reload` | Reload the config |

⚙️ Configuration

config.yml

```yaml server: id: "Survival"

webhook: url: "https://discord.com/api/webhooks/..." message: >- ⚠️ Player %playtime_minutes% tried to use %playtime_minutes% on %playtime_minutes% in world %playtime_minutes% (x: %pos_x%, y: %pos_y%, z: %pos_z%) on server %playtime_minutes%, playtime: %playtime_minutes% min.

playtime: required-hours: 5 requirement-message: "<red>⚠ You have not played enough time. Minimum: %playtime_hours% h."

rules:

Fully blocked blocks and items

blocked: - TNT - END_CRYSTAL - TNT_MINECART - WITHER_SKELETON_SKULL - LAVA_BUCKET

Blocked only in certain worlds

world-restricted: - materials: [RESPAWN_ANCHOR] requires-item: GLOWSTONE # optional blocked-in: [NORMAL, THE_END]

- materials: [RED_BED, ORANGE_BED, YELLOW_BED, LIME_BED, GREEN_BED, CYAN_BED, LIGHT_BLUE_BED, BLUE_BED, PURPLE_BED, MAGENTA_BED, PINK_BED, WHITE_BED, LIGHT_GRAY_BED, GRAY_BED, BLACK_BED, BROWN_BED] blocked-in: [NETHER, THE_END]

Allowed only on a specific block and face

placement-restricted: - materials: [FLINT_AND_STEEL, FIRE_CHARGE] allowed-block: [OBSIDIAN] allowed-face: UP # optional ```

📦 Requirements

- Java 21+

ADS