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

# Install NxShards on Paper or Folia Servers

> Drop the NxShards JAR into your Paper or Folia plugins folder, restart, and configure SQLite or MySQL storage in seconds.

NxShards installs as a single JAR. The plugin generates its configuration on first start, so the only decision you need to make upfront is which storage backend to use — SQLite works out of the box with zero setup.

## Requirements

| Requirement    | Version                                        |
| -------------- | ---------------------------------------------- |
| Paper or Folia | Modern release                                 |
| Java           | 17 or newer                                    |
| PlaceholderAPI | Optional — enables `%shards_*%` placeholders   |
| MySQL          | Optional — only required for multi-server sync |

## Installation Steps

<Steps>
  <Step title="Download NxShards">
    Grab the latest `NxShards-x.x.x.jar` from the official release source.
  </Step>

  <Step title="Drop the JAR into plugins/">
    Copy the JAR into your server's `plugins/` directory:

    ```bash theme={null}
    cp NxShards-1.0.0.jar /your/server/plugins/
    ```
  </Step>

  <Step title="Start or restart the server">
    Perform a full server restart (not `/reload`). On first start, NxShards generates the following files:

    ```text theme={null}
    plugins/
    └── NxShards/
        ├── config.yml
        └── database.db   # only when storage type is SQLite
    ```

    Check the console for a line confirming NxShards enabled successfully.
  </Step>

  <Step title="Choose your storage backend">
    Open `plugins/NxShards/config.yml`. The default storage type is `SQLITE`, which keeps everything in `database.db` and needs no additional setup.

    To use MySQL for multi-server synchronisation, switch the type and fill in your connection details:

    ```yaml theme={null}
    storage:
      type: MYSQL          # MYSQL | SQLITE
      host: "127.0.0.1"
      port: 3306
      database: "minecraft"
      username: "root"
      password: "yourpassword"
    ```

    <Note>
      Use MySQL only when you need a shared Shards balance across several servers. SQLite is faster and zero-config for single-server setups.
    </Note>
  </Step>

  <Step title="Install PlaceholderAPI (optional)">
    Drop PlaceholderAPI into `plugins/` if you want to use `%shards_balance%` or the leaderboard placeholders on scoreboards, holograms, or tab. NxShards auto-registers its expansion on startup — no eCloud download required.
  </Step>

  <Step title="Create your first AFK zone">
    Join the server with admin permissions and run `/shards wand` to grab the selection tool. See the [AFK Zones](/shards/afk-zones) page for the full workflow.
  </Step>
</Steps>

## Folia Notes

NxShards is natively compiled for Folia. Every periodic task — AFK timers, zone scans, BossBar refreshes — is dispatched through the dedicated **entity scheduler**, so there is no global tick contention. No extra configuration is needed when running on a Folia fork.

## Verifying the Installation

After restarting, run `/shards`. The plugin should respond with your current balance (0 by default). If you see a `Unknown command` message, ensure the JAR is present in `plugins/` and that there are no startup errors in the console.
