> For the complete documentation index, see [llms.txt](https://advion.gitbook.io/advion-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://advion.gitbook.io/advion-docs/installation.md).

# 📥 Installation

## 📥Installation & Requirements

***

### 📋 System Requirements

Before installing, ensure your server meets the following minimum requirements:

* Java: Version 17 or higher.
* Server Software: Spigot, Paper, or their forks (Purpur, etc.).
* Minecraft Version: 1.20 and above (API support).

### 🧩 Dependencies

To ensure the plugin functions correctly, specific components are required.

#### Required:

* Vault — Essential for economy and permission handling.

#### Optional (Recommended):

* PlaceholderAPI — Allows the use of placeholders (e.g., `%player%`, `%server_online%`) in messages.
* PlayerPoints — Required if you intend to sell messages for premium currency (points).

***

### 🚀 Installation Steps

1. Download the `UniversalMessages.jar` file.
2. Stop your server.
3. Move the plugin file into your server's `/plugins/` folder.
4. If you are using PlaceholderAPI or PlayerPoints, ensure they are also installed in the `plugins` folder.
5. Start the server.

Upon the first launch, the plugin will create a `plugins/UniversalMessages/` folder containing the following files:

* `config.yml` — Main configuration settings.
* `database.db` — Local database file (if SQLite is selected).
* `languages/` folder — Translation files (`en.yml`, `ru.yml`, etc.).
* `messages/` folder — Message categories (`join`, `quit`, `death`, `kill`).

***

### 💾 Database Configuration

The plugin supports two types of data storage. You can select the type in the `config.yml` file under the `storage` section.

#### Option 1: SQLite (Default)

Ideal for single servers. Requires no additional configuration.

YAML

```
storage:
  type: SQLITE
```

All data will be stored in the local file `plugins/UniversalMessages/database.db`.

#### Option 2: MySQL

Recommended for server networks (BungeeCord/Velocity) or high-traffic servers.

1. Open `config.yml`.
2. Set `type: MYSQL`.
3. Fill in the connection details:

YAML

```
storage:
  type: MYSQL
  mysql:
    host: "localhost"
    port: 3306
    database: "minecraft"
    username: "root"
    password: "your_password"
    properties: "?useSSL=false&autoReconnect=true"
```

***

### ✅ Verification

To verify that the plugin is working correctly, join the server and run the command:

/um help or /messages

If the menu opens or help messages appear, the installation was successful!


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://advion.gitbook.io/advion-docs/installation.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
