# kai-xin-02/mc-bedrock architecture

> Architecture diagram of the GitHub repository kai-xin-02/mc-bedrock, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-26). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/kai-xin-02/mc-bedrock
- Repository: https://github.com/kai-xin-02/mc-bedrock

## Overview

This repository provides menu-driven management for a Minecraft Bedrock server: an operator chooses server, backup, administration, status, or Playit.gg actions, and friends can join through the Playit integration. The README also documents world data, retained backups, and background operation with tmux. The source excerpts are unavailable, so links reflect documented menu actions and capabilities only; script internals, scheduling, and service wiring cannot be verified.

Main entry points: [`scripts/mc.sh`](https://github.com/kai-xin-02/mc-bedrock/blob/main/scripts/mc.sh) (Management menu), [`scripts/backup.sh`](https://github.com/kai-xin-02/mc-bedrock/blob/main/scripts/backup.sh) (Backup operation), [`scripts/start.sh`](https://github.com/kai-xin-02/mc-bedrock/blob/main/scripts/start.sh) (Server control), [`scripts/playit.sh`](https://github.com/kai-xin-02/mc-bedrock/blob/main/scripts/playit.sh) (Playit integration)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_management["Server management"]
  node_menu["Management menu<br/>[mc.sh]"]
  node_server["Bedrock server"]
  node_console["Server console"]
  node_status["Server status<br/>[mc.sh]"]
  node_start["Server control<br/>[start.sh]"]
  node_service["Background service<br/>[minecraft.service]"]
end

subgraph group_data["World and backups"]
  node_worlds[("World data")]
  node_backup["Backup operation<br/>[backup.sh]"]
  node_autosave["Auto-backup<br/>[autosave.sh]"]
  node_backups[("Backup archive")]
end

subgraph group_access["Administration and access"]
  node_admin["Admin management<br/>[admin.sh]"]
  node_playit["Playit integration<br/>[playit.sh]"]
end

node_operator(("Operator"))
node_friends(("Joining friends"))
node_tunnel["Playit.gg"]

node_operator -->|"opens"| node_menu
node_menu -->|"starts or stops"| node_start
node_menu -->|"opens"| node_console
node_menu -->|"checks"| node_status
node_menu -->|"runs"| node_backup
node_menu -->|"opens"| node_admin
node_menu -->|"opens"| node_playit
node_start -->|"controls"| node_server
node_server -->|"provides"| node_console
node_backup -->|"backs up"| node_worlds
node_backup -->|"writes"| node_backups
node_autosave -->|"creates"| node_backups
node_playit -->|"integrates"| node_tunnel
node_friends -->|"connect through"| node_tunnel

click node_menu "https://github.com/kai-xin-02/mc-bedrock/blob/main/scripts/mc.sh"
click node_status "https://github.com/kai-xin-02/mc-bedrock/blob/main/scripts/mc.sh"
click node_start "https://github.com/kai-xin-02/mc-bedrock/blob/main/scripts/start.sh"
click node_service "https://github.com/kai-xin-02/mc-bedrock/blob/main/minecraft.service"
click node_backup "https://github.com/kai-xin-02/mc-bedrock/blob/main/scripts/backup.sh"
click node_autosave "https://github.com/kai-xin-02/mc-bedrock/blob/main/scripts/autosave.sh"
click node_admin "https://github.com/kai-xin-02/mc-bedrock/blob/main/scripts/admin.sh"
click node_playit "https://github.com/kai-xin-02/mc-bedrock/blob/main/scripts/playit.sh"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_menu,node_server,node_console,node_status,node_start,node_service toneBlue
class node_worlds,node_backup,node_autosave,node_backups toneAmber
class node_admin,node_playit toneMint
class node_operator,node_friends,node_tunnel toneIndigo
```

## Components

### Server management

- [Management menu](https://github.com/kai-xin-02/mc-bedrock/blob/main/scripts/mc.sh): `scripts/mc.sh`
- **Bedrock server**
- **Server console**
- [Server status](https://github.com/kai-xin-02/mc-bedrock/blob/main/scripts/mc.sh): `scripts/mc.sh`
- [Server control](https://github.com/kai-xin-02/mc-bedrock/blob/main/scripts/start.sh): `scripts/start.sh`
- [Background service](https://github.com/kai-xin-02/mc-bedrock/blob/main/minecraft.service): `minecraft.service`

### World and backups

- **World data**
- [Backup operation](https://github.com/kai-xin-02/mc-bedrock/blob/main/scripts/backup.sh): `scripts/backup.sh`
- [Auto-backup](https://github.com/kai-xin-02/mc-bedrock/blob/main/scripts/autosave.sh): `scripts/autosave.sh`
- **Backup archive**

### Administration and access

- [Admin management](https://github.com/kai-xin-02/mc-bedrock/blob/main/scripts/admin.sh): `scripts/admin.sh`
- [Playit integration](https://github.com/kai-xin-02/mc-bedrock/blob/main/scripts/playit.sh): `scripts/playit.sh`

### Other components

- **Operator**
- **Joining friends**
- **Playit.gg**

## Connections

- Operator → Management menu: opens
- Management menu → Server control: starts or stops
- Management menu → Server console: opens
- Management menu → Server status: checks
- Management menu → Backup operation: runs
- Management menu → Admin management: opens
- Management menu → Playit integration: opens
- Server control → Bedrock server: controls
- Bedrock server → Server console: provides
- Backup operation → World data: backs up
- Backup operation → Backup archive: writes
- Auto-backup → Backup archive: creates
- Playit integration → Playit.gg: integrates
- Joining friends → Playit.gg: connect through
