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

# Installation

Install MotionNPC, activate your license, and prepare MineSkin.

This guide covers the basic installation process for MotionNPC.

### Requirements

* Java 21.
* Paper or Folia 1.21+.
* A valid MotionNPC license key.
* A MineSkin API key for player limb textures.

### 1. Install the plugin

Download the jar, `MotionNPC.jar`, and place it in your server's `plugins` folder.

Start the server once. MotionNPC creates the following folders:

```
plugins/MotionNPC/
├── models/
├── NPC/
├── cache/
```

The default model is automatically placed in `plugins/MotionNPC/models/default.bbmodel`.

### 2. Activate your license

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

```yml
license:
  key: "YOUR-LICENSE-KEY"
```

Restart the server. MotionNPC validates the key before loading its runtime.

### 3. Configure MineSkin

MotionNPC uses MineSkin to create the skin profiles required by player limbs.

Create a key at [account.mineskin.org/keys](https://account.mineskin.org/keys/), then add it to `config.yml`:

```yml
mineskin:
  enabled: true
  api-key: "YOUR-MINESKIN-KEY"
```

Restart the server or run `/mnpc reload` after saving the file.

### 4. Check the startup log

When setup is complete, the console should confirm that the license is valid and MotionNPC is enabled. You can then continue with [Creating Your First NPC](/getting-started/creating-your-first-npc.md).

Need help? Join the [MotionNPC Discord](https://discord.gg/WHBWBWWYDq).


---

# 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://motionnpc.nemesismc.net/getting-started/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.
