> For the complete documentation index, see [llms.txt](https://docs.mipcraft.eu/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.mipcraft.eu/hide-and-seek/setup-guide.md).

# Setup Guide

Learn how to install, configure arenas, and enable Bedrock cross-play for Hide and Seek.

## 📋 Prerequisites & Optional Dependencies

### Requirements

* **Spigot**, **Paper**, or **Purpur** server (`1.8` - `26.2` / `1.21+`).
* **Java 17** or higher (depending on your server version).

### Optional Plugins

* [**PlaceholderAPI**](https://www.spigotmc.org/resources/placeholderapi.6245/): For custom scoreboard/TAB placeholders and leaderboards.
* [**Lib's Disguises**](https://www.spigotmc.org/resources/libs-disguises-free.81/): Forces block disguises to display as Falling Blocks across all versions.
* [**GeyserMC**](https://geysermc.org/) + [**Floodgate**](https://geysermc.org/download/?project=floodgate): Enables Bedrock & Mobile Edition players to join and play seamlessly.

## 🚀 Server Installation Steps

{% stepper %}
{% step %}

### Download HideAndSeek.jar

{% endstep %}

{% step %}

### Place the file into your server's `plugins/` folder

{% endstep %}

{% step %}

### Start or restart the server

This generates default configuration files under `plugins/HideAndSeek/`.
{% endstep %}

{% step %}

### Configure settings

(Optional) Edit `config.yml` to configure database credentials, timers, or localization text.
{% endstep %}

{% step %}

### Apply configuration changes

Reload or restart the server.
{% endstep %}
{% endstepper %}

## 🏗️ Single Game per Server vs Multi-Arena Mode

Hide and Seek supports two server operational modes controlled by `is_game_per_server` in `config.yml`:

### Multi-Arena Mode (`is_game_per_server: false`)

* Run multiple game arenas on a single server (e.g., Lobby + Arenas).
* Players use `/has join <game_name>` or click a GUI sign/item to join.

### BungeeCord Standalone Server (`is_game_per_server: true`)

* Dedicate an entire server to one game instance.
* Players automatically join the game upon connecting.
* When the game ends, players are sent back to `return_server` (e.g., `lobby`).

## 🛠️ In-Game Arena Setup Walkthrough

Setting up a new arena is fast and fully interactive:

{% stepper %}
{% step %}

### Create the Arena

Run `/has create <game_name>` to initialize a new arena and launch the **Editor Mode**.
{% endstep %}

{% step %}

### Use Editor Wands & Commands

While in editor mode, configure arena locations using hotbar tools or chat commands:

* **Set Lobby Spawn**: Click to set where players wait before the match starts.
* **Set Seeker Waiting Spawn**: Set the cage/room where Seekers are frozen during the hiding phase.
* **Set Hider Spawn**: Set where Hiders spawn when the match begins.
* **Set Spectator Spawn**: Location for eliminated players.
* **Set Arena Boundaries**: Set Corner 1 and Corner 2 to define the play area.
* **Set Max Players**: Type `max players <number>` in chat (e.g., `max players 24`).
* **Set Map Name**: Type `map name <name>` in chat (e.g., `map name Office`).
  {% endstep %}

{% step %}

### Verify & Save

1. Open the **Setup Dashboard GUI** (Slot 8) to verify all elements show green status indicators.
2. Click **Save & Exit** (Slot 9) to finalize the arena.
   {% endstep %}
   {% endstepper %}

## 📱 Geyser & Floodgate (Bedrock) Compatibility Setup

To allow Minecraft Bedrock (iOS, Android, Windows 10, Console) players to join:

{% stepper %}
{% step %}

### Install Geyser-Spigot and Floodgate

Install **Geyser-Spigot** and **Floodgate** into your `plugins/` directory.
{% endstep %}

{% step %}

### Configure Floodgate

Ensure `Floodgate` is configured on your proxy or server.
{% endstep %}

{% step %}

### Connect Bedrock players

Hide and Seek automatically detects Bedrock players connecting via Floodgate and adapts menu interactions and entity disguises for Bedrock clients.
{% endstep %}
{% endstepper %}
