> For the complete documentation index, see [llms.txt](https://simple.superiormc.cn/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://simple.superiormc.cn/arcmenu-wiki/menu-examples/server-menu.md).

# Server navigation menu example

This example creates a `server-hub` navigation menu and a `server-info` page. It demonstrates opening, returning, closing and matching visible buttons to hit regions. It works on Paper, Folia, Leaf and Spigot without other plugins or image resources.

## Create two files

Use `plugins/ArcMenu/menus/` on Paper-family servers or `plugins/ArcMenu/spigot/menus/` on Spigot. Retain the existing unique main menu; this example does not change `main-menu`.

### `server-hub.yml`

```yaml
schema-version: 1
id: server-hub
permission: arcmenu.use
canvas:
  width: 320
  height: 180
  pixels-per-block: 42.7
  distance: 3
frontend:
  hub-background:
    type: rectangle
    width: 200
    height: 110
    color: '#182031'
  hub-title:
    type: text
    content: '&fServer menu'
    size: 5
    offset: {x: 0, y: 40, z: 1}
  information-button:
    type: rectangle
    width: 70
    height: 20
    color: '#365E91'
    offset: {x: -45, y: 0, z: 1}
  information-label:
    type: text
    content: '&fInformation'
    size: 3
    offset: {x: -45, y: 0, z: 2}
  help-button:
    type: rectangle
    width: 70
    height: 20
    color: '#365E91'
    offset: {x: 45, y: 0, z: 1}
  help-label:
    type: text
    content: '&fHelp'
    size: 3
    offset: {x: 45, y: 0, z: 2}
  close-label:
    type: text
    content: '&7Close'
    size: 3
    offset: {x: 0, y: -35, z: 1}
backend:
  information-area:
    x: -45
    y: 0
    width: 70
    height: 20
    actions:
      right: 'open: server-info'
  help-area:
    x: 45
    y: 0
    width: 70
    height: 20
    actions:
      right: 'tell: &eContact a server administrator for help.'
  close-area:
    x: 0
    y: -35
    width: 50
    height: 16
    actions:
      right: close
```

### `server-info.yml`

```yaml
schema-version: 1
id: server-info
permission: arcmenu.use
canvas:
  width: 320
  height: 180
  pixels-per-block: 42.7
  distance: 3
frontend:
  information-background:
    type: rectangle
    width: 200
    height: 110
    color: '#182031'
  information-title:
    type: text
    content: '&fServer information'
    size: 5
    offset: {x: 0, y: 40, z: 1}
  player-label:
    type: text
    content: '&7Player: &f%player_name%'
    size: 3
    offset: {x: 0, y: 10, z: 1}
  rules-label:
    type: text
    content: '&7Please follow the server rules.'
    size: 3
    offset: {x: 0, y: -10, z: 1}
  back-button:
    type: rectangle
    width: 70
    height: 18
    color: '#365E91'
    offset: {x: 0, y: -35, z: 1}
  back-label:
    type: text
    content: '&fBack'
    size: 3
    offset: {x: 0, y: -35, z: 2}
backend:
  back-area:
    x: 0
    y: -35
    width: 70
    height: 18
    actions:
      right: back
```

## Loading and controls

```
/arcmenu validate
/arcmenu reload
/arcmenu open server-hub
```

Right-click Information to open the information page, then Back to return. Opening the information page directly with a command leaves no previous menu, so Back closes it. Help sends a message; Close closes the menu.

Edit `content` and `tell` text for your server's preferred language. Plugin language settings do not translate these strings automatically.

## Adjusting and checking

Update visible elements and hit regions together when moving or resizing buttons. Add pages as separate menus and point `open` at their IDs.

To make this the Shift+F main menu, remove the previous menu's marker and add `main-menu: true` to `server-hub`, leaving exactly one main menu.

Structure and navigation targets have been checked. Display and actual clicks need in-game verification. See [Actions and navigation](/arcmenu-wiki/menu-configuration/menus/actions.md) to add sounds, permissions or commands.
