> For the complete documentation index, see [llms.txt](https://lethium.gitbook.io/custombeacons-or-65-effects-or-35-hooks/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://lethium.gitbook.io/custombeacons-or-65-effects-or-35-hooks/getting-started/installation-and-first-start.md).

# Installation and first start

## Requirements

| What    | Needed                                                              |
| ------- | ------------------------------------------------------------------- |
| Server  | Paper or Folia, Minecraft **1.21.11 to 26.x**                       |
| Java    | Java 21 on 1.21.11, Java 25 on 26.x                                 |
| License | A valid Lethium license key (the plugin stays disabled without one) |

Everything else is optional. Vault, PlaceholderAPI, your team and claim plugins and the rest are picked up automatically when they are installed. See [Integrations](/custombeacons-or-65-effects-or-35-hooks/reference/integrations.md).

## Install

{% stepper %}
{% step %}

### Add the plugin

Drop `CustomBeacons-<version>.jar` into your server's `plugins/` folder.
{% endstep %}

{% step %}

### Start the server once

The plugin creates its folder `plugins/CustomBeacons/` and your server downloads its database library (HikariCP) on first start.
{% endstep %}

{% step %}

### Enter your license key

Open `plugins/CustomBeacons/config.yml` and paste your key:

```yaml
license:
  key: "YOUR-KEY-HERE"
```

Restart the server.
{% endstep %}

{% step %}

### Run the setup checklist

In game or from the console run `/cbeacon setup`. It shows what the plugin found (database, economy, teams, claims, custom items) and gives you clickable switches for the common settings.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
`/cbeacon setup` only changes a short fixed list of settings. The first time it writes, it keeps a copy of your file as `config.yml.bak`.
{% endhint %}

## What gets created

| File or folder     | What it holds                                                               |
| ------------------ | --------------------------------------------------------------------------- |
| `config.yml`       | Database, language, limits, particles, team boost, integrations, anti-abuse |
| `beacon.yml`       | Pyramid block power, tiers and ranges, power budget                         |
| `beacon-types.yml` | Bronze, Silver, Gold, Platinum and Diamond beacons                          |
| `gui.yml`          | Menu layouts, slots and materials                                           |
| `presets.yml`      | One-click effect groups                                                     |
| `effects/`         | One file per effect (67 ship with the plugin)                               |
| `upgrades/`        | One file per beacon upgrade                                                 |
| `lang/`            | One file per language                                                       |
| `backups/`         | Automatic database backups                                                  |

## Updating

Replace the jar and restart. Shipped files you never edited are updated for you (the old copy goes to `backups/`). Files you edited are **never** touched. Run `/cbeacon files` to see which of your files differ from the new version, and `/cbeacon files update <file|lang|effects|upgrades|gui|all> confirm` to replace specific ones.

## Changing settings

Edit the file, then run `/cbeacon reload`. Reload also prints any mistakes it finds in your effect, upgrade and config files. A few settings (marked in their comments) need a full restart, for example turning the PlaceholderAPI expansion on or off.


---

# 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://lethium.gitbook.io/custombeacons-or-65-effects-or-35-hooks/getting-started/installation-and-first-start.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
