> **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.

# Networks and proxies

Send players back to a hub when a match ends, and show arena state in the server list.

<img src="/network-shape.svg" alt="A proxy in front of a lobby server and a row of single-arena game servers" />

Most servers do not need any of this. It matters when AetherSkyWars runs on its own backend
server behind a proxy, rather than alongside your hub.

## Turning proxy mode on

```yaml
Config:
  Bungeecord:
    Enabled: false            # [1]
    Kick-Player: true         # [2]
    Lobby-Server: lobby       # [3]
    Map-State-As-Motd: false  # [4]
```

1. Master switch. Everything below only applies when this is `true`.
2. Whether a player who leaves a match is sent away rather than kept on this server.
3. The name of the server to send them to, as your proxy knows it.
4. Show the arena state in the server list entry instead of the normal MOTD.

:::info
`Lobby-Server` is the proxy's name for the server, the one in your proxy config, not the
server's hostname or its display name.
:::

## Which proxy

The plugin works out how to move players by looking at what is installed. You do not
configure this, it picks whichever it finds:

| Setup | How players are moved |
| --- | --- |
| CloudNet | Through the CloudNet bridge, choosing the target task's least busy server. |
| RustyConnector | Through the RustyConnector API. |
| Plain BungeeCord or Velocity | Through the standard `BungeeCord` plugin messaging channel. |

The plugin registers its plugin messaging channel on startup when proxy mode is on, and logs
`BungeeCord mode is enabled.`

## One arena per server

The usual layout for a large network is one arena per backend server, so the proxy can send
players at a specific match.

With `Map-State-As-Motd` on and exactly one arena on the server, the server list entry shows
that arena's state and its player count. A proxy or a hub selector plugin can read that to
show players which servers are open.

:::note
The MOTD shows a single arena's state only when the server has exactly one arena. With more
than one it cannot tell which you meant, and shows a placeholder instead.
:::

## Messages players see

Proxy-specific messages sit in the language files under `Config.Languages.Strings.BungeeCord`:

```yaml
BungeeCord:
  Full: "&cThis map is full. &7Please try another one."
  No-Available-Maps: "&cThere are currently no available maps. &7Please try again later."
  Kick-Message: "&7Connecting to the lobby..."
  Resetting: "&cThis map is resetting. &7Please try again later."
```

See [Messages and languages](/configuration/messages-and-languages).

## Things to check

* The proxy has the backend server registered under the same name as `Lobby-Server`
* `Enabled` is `true` on the backend, not on the hub
* Players are not being caught by another plugin's join handler first
* The database is shared between backends, otherwise stats will not follow players.
  See [Storage](/configuration/storage)

## Related pages

* [Configuration](/configuration/configuration)
* [Storage](/configuration/storage)
* [Signs and holograms](/features/signs-and-holograms)
