# Getting Started


> **Documentation baseline:** VoxelCore `main` at `452b569` · 14 September 2026.  
> **Repository:** [https://github.com/VoxelHorizons/VoxelCore](https://github.com/VoxelHorizons/VoxelCore)


## Choose the correct distribution

Install **one** VoxelCore distribution JAR for the server's compatibility family. Do not install multiple family JARs simultaneously. See [[Products/Voxel-Horizons/VoxelCore/Version-Support]] for the exact mapping.

## Build from source

The repository is a Maven reactor. Build all distributions with:

```bash
mvn -U clean package
```

A targeted build includes dependent modules with `-am`, for example:

```bash
mvn -pl voxelcore-v1_21_4 -am clean package
```

For the 26.2 distribution:

```bash
mvn -pl voxelcore-v26_2 -am clean package
```

The current CI build environment uses JDK 25 so it can compile the Java 25 module while Maven `release` settings preserve the lower bytecode targets of older modules.

## First startup

Place the appropriate shaded JAR in the server's `plugins/` directory and start the server. VoxelCore creates/uses:

```text
plugins/VoxelCore/
├── config.yml
├── render-allocations.yml
├── content/
└── build/
    └── resource-packs/
```

An empty `content/` directory is valid. If authored content is present but fails loading or platform validation, plugin enable is aborted rather than publishing partial state.

## Readiness marker

Successful initialisation ends with a log line in this form:

```text
VOXELCORE_READY revision=1 items=<count> platform=<version>
```

CI uses this readiness point rather than treating an early plugin-enable message as success.

## Add a content pack

Create a self-contained pack below `plugins/VoxelCore/content/`:

```text
plugins/VoxelCore/content/example/
├── pack.yml
├── content/
│   └── items.yml
└── assets/
    └── example/
        ├── models/item/
        └── textures/item/
```

Continue with [[Products/Voxel-Horizons/VoxelCore/Content-Packs]] and [[Products/Voxel-Horizons/VoxelCore/Item-Authoring]].
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9