> **Can't find what you're looking for?** Use `search_docs` on the docs MCP server at `https://aetherskywarswiki.netlify.app/api/mcp` to find what you need.

# Setup steps

Everything in the order you do it. Work down the list once and you have a server players can
join. The optional extras come after, and none of them block you from opening.

<img src="/flow-setup.svg" alt="Create, place cages, set the spectator point, finish, and the arena is playable" />

Each step links to the page that explains it. This page is the order, not the detail.

## Required

Do these in order. Skipping one leaves the arena unregistered or unjoinable.

:::steps
##### Check the server meets the requirements

Minecraft 1.21.11 or newer, Java 21 or newer, and WorldEdit or FastAsyncWorldEdit installed.
The plugin refuses to enable without all three.

See [Installation](/getting-started/installation).

##### Install the plugin

Stop the server, put WorldEdit and the AetherSkyWars jar in `plugins/`, start the server.

The first start needs outbound HTTPS, because the plugin downloads its runtime libraries
then. Watch the console for `Finished loading`.

##### Stop the server again

Startup generates `config.yml` and the rest of the files. Stopping now lets you edit them
before anyone joins. Most settings can also be changed in game later with `/asw settings`.

See [Configuration](/configuration/configuration).

##### Set the lobby

Start the server, stand where players should land when they leave a match, and run:

```text
/asw setlobby
```

Do this before creating any arena. Without a lobby, players who leave a match have nowhere
to go.

##### Create your first arena

One command builds the arena. Which mode you get depends on how many arguments you give it:

```text
/asw create <name> <worldtype> <islands>                       # Solo
/asw create <name> <worldtype> <islands> <players-per-island>  # Teams
```

Three arguments means Solo, four means Teams. There is no separate mode argument, the count
is the mode, and it cannot be changed later.

| Argument | What to put | Notes |
| --- | --- | --- |
| `<name>` | `Volcano` | For `default`, the arena name you want. For `schematic`, the file name with its extension, such as `Temple.schem`, and the arena is named after it without the extension. Short, no spaces. A prettier name for players comes later with `/asw rename` |
| `<worldtype>` | `default` or `schematic` | `default` gives you an empty void world to build in by hand. `schematic` pastes a file you put in `plugins/AetherSkyWars/maps` first |
| `<islands>` | `8` | How many islands the map has, in both forms. This is also how many cages you place |
| `<players-per-island>` | `2` | Teams only. How many players share an island and a cage. `0` or `1` is the same as leaving it off |

Two real examples:

```text
/asw create Volcano default 12         # Solo, 12 islands, 12 players, empty world you build yourself
/asw create Temple.schem schematic 8 2 # Teams, 8 islands of 2, so 16 players, pasted from Temple.schem
```

You never state the total player count, it follows from the two numbers. Count the islands on the
map, then say how many players share each one.

The plugin tells you what it is about to build before it builds it, so check that line.

The world type decides more than how the world starts:

| | `default` | `schematic` |
| --- | --- | --- |
| Prepare first | Nothing | Put the file in `plugins/AetherSkyWars/maps` |
| You get | An empty void world to build in | A void world with the map already pasted |
| Saved as | A copy of the world folder, written when you finish setup | Your schematic file |
| Reset after a match | The saved world folder is put back | The boundary selection is cleared and the file pasted again |
| Changed later with | `/asw editmap`, build, `/asw finish` | Edit the schematic, save over the file, `/asw reset` |

Full comparison on [Arenas and modes](/features/arenas-and-modes#world-types).

The plugin creates the world, pastes the schematic if you asked for one, and teleports you
into it. You arrive holding the **setup hotbar**, six items that do the rest of the job:

| Item | What it does |
| --- | --- |
| Cage | Right click to put a cage where you are standing, mid air included |
| Island Chest | Right click a chest to mark it as an island chest (`NORMAL`) |
| Middle Chest | Right click a chest to mark it as a centre chest (`MID`) |
| Spectator Point | Sets where spectators watch from, where you stand |
| Settings | Opens the arena settings menu |
| Save | Finishes setup, same as `/asw finish` |

The next steps are those items, in the order to use them.

Full walkthrough, including how to make a schematic:
[Creating an arena](/features/creating-an-arena).

##### Tag the chests

Use the chests the map already has, or place ordinary ones where you want loot. Right click each
one with a chest item from the setup hotbar to say which kind it is.

| Item | Marks the chest as | Where it usually goes |
| --- | --- | --- |
| Island Chest | `NORMAL` | On each player island. The first chest anyone opens |
| Middle Chest | `MID` | In the centre of the map. Worth fighting over |

Each loot tier holds a separate table for the two kinds, so a middle chest is not just a chest
in a different place, it draws from its own list. Which tier a match runs is decided by the vote.

You rarely have to tag every chest. Chests that came with a schematic are marked as island chests
as soon as it is pasted, and anything still untagged when you save is marked the same way, so in
practice you only pick out the centre ones.

##### Place the cages

Fly to where a cage should be and right click with the cage item. The cage goes at the block you
are standing in, so put it in open air above the island the way SkyWars cages normally sit. A cage
is where a player waits, sealed in, until the countdown ends.

Count them carefully:

One cage per island, in both modes. An arena created with `12` needs twelve cages, and so does one
created with `12 2`. The second number changes how many players share a cage, never how many cages
there are.

Too few cages and the extra players have nowhere to be put, so they drop into the void at the
start.

The cage is built as a sealed box around that spot when the match starts, replacing whatever is
there. Placing it against the island floor cuts into the island until the arena resets, so the
plugin warns you when the spot is not clear.

##### Set the spectator point

Stand where dead players and spectators should watch the rest of the match from, usually
above the centre of the map, then right click with the Spectator Point item, or run:

```text
/asw setspectator
```

This only matters if the arena has spectating enabled, which is the default. With it off,
dead players go straight to the lobby instead.

##### Select the boundaries

The boundary tells the plugin which blocks belong to the arena, so it knows what to restore
after a match and where to put the world border.

Select the whole arena with WorldEdit, either with the axe (left click one corner, right
click the opposite one) or by standing in each corner and running:

```text
//pos1
//pos2
//expand vert
```

`//expand vert` stretches the selection from bedrock to build height. Do not skip it. A
selection that only covers the blocks you can see resets part of the arena and leaves the
rest damaged from the last match, which shows up a few games later and looks like a
different bug entirely.

##### Review the arena settings

Right click with the settings item, or run `/asw map <name>`. This is a menu, so nothing here
needs a config file.

Worth setting before you open:

| Setting | What it does |
| --- | --- |
| Start Game Time | Seconds of countdown before the cages open |
| Invincibility Seconds | Protection after the drop, so nobody dies to the first hit |
| Max Game Time | Hard cap. The match ends when it is reached |
| Border | Whether the world border shrinks during the match |
| Spectator | Whether a dead player stays to watch or is sent to the lobby |
| Ranked | Writes to a separate set of stats and leaderboards |
| Events | Refills, TNT rain, and the border shrink, each at a set second |

The defaults come from `config.yml`, so an arena you never touch still works. What each
setting means in full: [Arenas and modes](/features/arenas-and-modes).

##### Finish the arena

```text
/asw finish
```

The arena registers and appears in the maps menu. Check it shows as `AVAILABLE`.

##### Give out permissions

Grant these in LuckPerms, or whichever permissions plugin you run. They are ordinary Bukkit
nodes, so nothing special is needed.

The smallest set that lets someone play:

```text
asw.list
asw.leave
asw.lobby
asw.kits
asw.shop
asw.coins
```

With LuckPerms that is `/lp group default permission set asw.list true`, and so on for each.

Joining an arena has no node of its own, so `asw.list` is what puts the arena browser in
reach.

Staff need one node for everything on the admin side:

```text
asw.admin
```

Give `asw.admin` only to people you trust with `/asw delete`, which removes an arena world
from disk.

Voting, parties, kits, and shop items each have their own nodes, which is how you keep the
Epic loot tier or a particular cosmetic for a rank. A fuller starting set per group is on
[Permissions](/configuration/permissions).

##### Join it yourself, start to finish

Play one full match: drop, loot, win, and watch the world reset. This catches a bad
selection or a missing cage before your players do.

`Config.Min-Players-ToStart` defaults to 2, so use `/asw forcestart` to test alone.
:::

At this point the server works. Everything below is optional.

## Optional

Add these in the order listed. Each one is independent, so stop wherever you like, but the
order goes from what players notice first to what only large servers need.

| Order | Add | Why here | Page |
| --- | --- | --- | --- |
| 1 | Tune the chest loot tiers | Loot decides how a match feels, so it is the first thing worth changing | [Chests and loot](/features/chests-and-loot) |
| 2 | Edit and price the kits | The first menu most players open. Bundled kits are examples, not a finished set | [Kits](/features/kits) |
| 3 | Set the coin payouts | Kits and cosmetics cost coins, so payouts need to make sense before either is worth having | [Shop and cosmetics](/features/shop-and-cosmetics) |
| 4 | Fill the cosmetics shop | Cage blocks, win blocks, and bow trails give coins somewhere to go | [Shop and cosmetics](/features/shop-and-cosmetics) |
| 5 | Set the game events per arena | Refills, TNT rain, and the border shrink stop matches stalling | [Voting and game events](/features/voting-and-events) |
| 6 | Rewrite the messages, or change the language | Once the game plays right, make it read right. Colours, gradients, and the prefix live here | [Messages and languages](/configuration/messages-and-languages) |
| 7 | Adjust the scoreboard, tab list, and lobby items | Presentation, and the switches that stop the plugin fighting another one over the tab list | [Scoreboard and tab](/features/scoreboard-and-tab) |
| 8 | Build more arenas | One working arena teaches you the process. Repeat it with `/asw duplicate` or from a schematic | [Creating an arena](/features/creating-an-arena) |
| 9 | Put up join signs and pressure plates | Worth doing once you have arenas worth advertising in the hub | [Signs and holograms](/features/signs-and-holograms) |
| 10 | Install PlaceholderAPI | Needed before stats can appear anywhere outside the plugin | [Placeholders](/reference/placeholders) |
| 11 | Install DecentHolograms | Leaderboard holograms. Needs stats to exist first, so it comes after some matches have been played | [Signs and holograms](/features/signs-and-holograms) |
| 12 | Install Vault, to use your server economy | Swaps the plugin's own coins for your economy. Do it before players build up coin balances, since the two are separate | [Shop and cosmetics](/features/shop-and-cosmetics) |
| 13 | Move storage to MySQL | Only matters when one server is not enough, or you want the stats outside a single file | [Storage](/configuration/storage) |
| 14 | Turn on proxy mode | Last, and only for a network where AetherSkyWars runs on its own backend behind BungeeCord, CloudNet, or RustyConnector | [Networks and proxies](/features/networks) |

:::note
Items 10 to 14 install other plugins. None of them are required, and the plugin logs which
ones it found on startup. A hook line that never appears means the plugin is missing or
failed to enable.
:::

:::tip
`/asw help setup` lists the required commands above, in the same order, so you can work
through them in game without switching back and forth.
:::

## If something is wrong

| Symptom | Usual step you missed |
| --- | --- |
| The arena is not in the maps menu | `/asw finish` was never run |
| The world does not reset properly | The selection was not expanded vertically |
| Players fall into the void at the start | Fewer cages than players or teams |
| Chests are empty | The chests were placed but never tagged |
| The match never starts | `Config.Min-Players-ToStart` is 2 and you are testing alone |

More in [FAQ](/help/faq), then [Support](/help/support).
