# xucy10/mili architecture

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

- Interactive diagram: https://gitdiagram.com/xucy10/mili
- Repository: https://github.com/xucy10/mili

## Overview

Mili is a Folia-based Minecraft server fork for technical and redstone-focused servers. Players connect to the server; operators configure it and use its commands, while the server runs gameplay with region-based scheduling and optional optimizations. Major product branches include redstone and compatibility fixes, Carpet and client protocols, fake-player and photographer APIs, portal linking, and Rust-backed entity culling. The tree and README establish these capabilities, but most implementation call sites were not sampled, so edges are limited to documented entry points and directly evidenced interactions.

Main entry points: [`mili-rust/src/main/java/fun/bm/mili/rust/RustBridge.java`](https://github.com/xucy10/mili/blob/master/mili-rust/src/main/java/fun/bm/mili/rust/RustBridge.java) (Rust JNI bridge), [`mili-server/src/main/java/fun/bm/mili/command`](https://github.com/xucy10/mili/tree/master/mili-server/src/main/java/fun/bm/mili/command) (Server commands), [`mili-server/src/main/java/fun/bm/mili/config/modules`](https://github.com/xucy10/mili/tree/master/mili-server/src/main/java/fun/bm/mili/config/modules) (Configuration modules), [`mili-server/src/main/java/org/leavesmc/leaves/protocol/core/LeavesProtocolManager.java`](https://github.com/xucy10/mili/blob/master/mili-server/src/main/java/org/leavesmc/leaves/protocol/core/LeavesProtocolManager.java) (Client protocols)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_core["Server and configuration"]
  node_commands["Server commands"]
  node_config["Configuration modules"]
  node_sentry["Sentry reporting<br/>[SentryManager.java]"]
end

subgraph group_performance["Scheduling and performance"]
  node_regions["Region balancing"]
  node_regionstats["Region load monitoring"]
  node_chunks["Chunk lifecycle"]
  node_mmap[("Mapped region storage")]
end

subgraph group_gameplay["Gameplay features"]
  node_redstone["Redstone compatibility"]
  node_portals[("Portal linking")]
end

subgraph group_ecosystem["APIs and compatibility"]
  node_carpet["Carpet compatibility"]
  node_protocols["Client protocols"]
  node_jade["Jade item data"]
  node_bots["Fake-player API"]
  node_botstorage[("Fake-player storage")]
  node_photographer["Photographer API"]
end

subgraph group_native["Native acceleration"]
  node_rustbridge["Rust JNI bridge<br/>[RustBridge.java]"]
  node_culling["Entity frustum culling<br/>[entity_cull.rs]"]
  node_rustconfig["Rust TOML support<br/>[config.rs]"]
end

node_players(("Players"))
node_operators(("Operators"))
node_minecraft["Minecraft server"]
node_sentryservice["Sentry"]

node_players -->|"connect"| node_minecraft
node_operators -->|"invoke"| node_commands
node_commands -->|"manage settings"| node_config
node_minecraft -->|"schedules regions"| node_regions
node_minecraft -->|"tracks region load"| node_regionstats
node_minecraft -->|"manages chunks"| node_chunks
node_config -->|"enables storage"| node_mmap
node_minecraft -->|"runs compatibility"| node_redstone
node_minecraft -->|"uses portal links"| node_portals
node_minecraft -->|"provides compatibility"| node_carpet
node_minecraft -->|"dispatches payloads"| node_protocols
node_protocols -->|"serves item data"| node_jade
node_minecraft -->|"supports fake players"| node_bots
node_bots -->|"persists bot data"| node_botstorage
node_minecraft -->|"supports recording entities"| node_photographer
node_rustbridge -.->|"invokes native culling"| node_culling
node_rustbridge -.->|"bridges configuration"| node_rustconfig
node_sentry -.->|"reports logs"| node_sentryservice

click node_commands "https://github.com/xucy10/mili/tree/master/mili-server/src/main/java/fun/bm/mili/command"
click node_config "https://github.com/xucy10/mili/tree/master/mili-server/src/main/java/fun/bm/mili/config/modules"
click node_regions "https://github.com/xucy10/mili/blob/master/mili-server/src/main/java/fun/bm/mili/utils/RegionBalancer.java"
click node_regionstats "https://github.com/xucy10/mili/blob/master/mili-server/src/main/java/fun/bm/mili/utils/RegionLoadMonitor.java"
click node_chunks "https://github.com/xucy10/mili/blob/master/mili-server/src/main/java/fun/bm/mili/chunk/ChunkLifecycleManager.java"
click node_mmap "https://github.com/xucy10/mili/blob/master/mili-server/src/main/java/fun/bm/mili/utils/MmapRegionStorage.java"
click node_portals "https://github.com/xucy10/mili/blob/master/mili-server/src/main/java/fun/bm/mili/portal/PortalLinkManager.java"
click node_carpet "https://github.com/xucy10/mili/tree/master/mili-server/src/main/java/fun/bm/mili/carpet"
click node_protocols "https://github.com/xucy10/mili/blob/master/mili-server/src/main/java/org/leavesmc/leaves/protocol/core/LeavesProtocolManager.java"
click node_jade "https://github.com/xucy10/mili/blob/master/mili-server/src/main/java/org/leavesmc/leaves/protocol/jade/provider/ItemStorageProvider.java"
click node_bots "https://github.com/xucy10/mili/tree/master/mili-api/src/main/java/org/leavesmc/leaves/entity/bot"
click node_botstorage "https://github.com/xucy10/mili/blob/master/mili-server/src/main/java/org/leavesmc/leaves/bot/BotDataStorage.java"
click node_photographer "https://github.com/xucy10/mili/tree/master/mili-api/src/main/java/org/leavesmc/leaves/entity/photographer"
click node_rustbridge "https://github.com/xucy10/mili/blob/master/mili-rust/src/main/java/fun/bm/mili/rust/RustBridge.java"
click node_culling "https://github.com/xucy10/mili/blob/master/mili-rust/src/rust/src/entity_cull.rs"
click node_rustconfig "https://github.com/xucy10/mili/blob/master/mili-rust/src/rust/src/config.rs"
click node_sentry "https://github.com/xucy10/mili/blob/master/mili-server/src/main/java/gg/pufferfish/pufferfish/sentry/SentryManager.java"

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_commands,node_config,node_sentry toneBlue
class node_regions,node_regionstats,node_chunks,node_mmap toneAmber
class node_redstone,node_portals,node_minecraft toneMint
class node_carpet,node_protocols,node_jade,node_bots,node_botstorage,node_photographer toneRose
class node_rustbridge,node_culling,node_rustconfig,node_players,node_operators,node_sentryservice toneIndigo
```

## Components

### Server and configuration

- [Server commands](https://github.com/xucy10/mili/tree/master/mili-server/src/main/java/fun/bm/mili/command): `mili-server/src/main/java/fun/bm/mili/command`
- [Configuration modules](https://github.com/xucy10/mili/tree/master/mili-server/src/main/java/fun/bm/mili/config/modules): `mili-server/src/main/java/fun/bm/mili/config/modules`
- [Sentry reporting](https://github.com/xucy10/mili/blob/master/mili-server/src/main/java/gg/pufferfish/pufferfish/sentry/SentryManager.java): `mili-server/src/main/java/gg/pufferfish/pufferfish/sentry/SentryManager.java`

### Scheduling and performance

- [Region balancing](https://github.com/xucy10/mili/blob/master/mili-server/src/main/java/fun/bm/mili/utils/RegionBalancer.java): `mili-server/src/main/java/fun/bm/mili/utils/RegionBalancer.java`
- [Region load monitoring](https://github.com/xucy10/mili/blob/master/mili-server/src/main/java/fun/bm/mili/utils/RegionLoadMonitor.java): `mili-server/src/main/java/fun/bm/mili/utils/RegionLoadMonitor.java`
- [Chunk lifecycle](https://github.com/xucy10/mili/blob/master/mili-server/src/main/java/fun/bm/mili/chunk/ChunkLifecycleManager.java): `mili-server/src/main/java/fun/bm/mili/chunk/ChunkLifecycleManager.java`
- [Mapped region storage](https://github.com/xucy10/mili/blob/master/mili-server/src/main/java/fun/bm/mili/utils/MmapRegionStorage.java): `mili-server/src/main/java/fun/bm/mili/utils/MmapRegionStorage.java`

### Gameplay features

- **Redstone compatibility**
- [Portal linking](https://github.com/xucy10/mili/blob/master/mili-server/src/main/java/fun/bm/mili/portal/PortalLinkManager.java): `mili-server/src/main/java/fun/bm/mili/portal/PortalLinkManager.java`

### APIs and compatibility

- [Carpet compatibility](https://github.com/xucy10/mili/tree/master/mili-server/src/main/java/fun/bm/mili/carpet): `mili-server/src/main/java/fun/bm/mili/carpet`
- [Client protocols](https://github.com/xucy10/mili/blob/master/mili-server/src/main/java/org/leavesmc/leaves/protocol/core/LeavesProtocolManager.java): `mili-server/src/main/java/org/leavesmc/leaves/protocol/core/LeavesProtocolManager.java`
- [Jade item data](https://github.com/xucy10/mili/blob/master/mili-server/src/main/java/org/leavesmc/leaves/protocol/jade/provider/ItemStorageProvider.java): `mili-server/src/main/java/org/leavesmc/leaves/protocol/jade/provider/ItemStorageProvider.java`
- [Fake-player API](https://github.com/xucy10/mili/tree/master/mili-api/src/main/java/org/leavesmc/leaves/entity/bot): `mili-api/src/main/java/org/leavesmc/leaves/entity/bot`
- [Fake-player storage](https://github.com/xucy10/mili/blob/master/mili-server/src/main/java/org/leavesmc/leaves/bot/BotDataStorage.java): `mili-server/src/main/java/org/leavesmc/leaves/bot/BotDataStorage.java`
- [Photographer API](https://github.com/xucy10/mili/tree/master/mili-api/src/main/java/org/leavesmc/leaves/entity/photographer): `mili-api/src/main/java/org/leavesmc/leaves/entity/photographer`

### Native acceleration

- [Rust JNI bridge](https://github.com/xucy10/mili/blob/master/mili-rust/src/main/java/fun/bm/mili/rust/RustBridge.java): `mili-rust/src/main/java/fun/bm/mili/rust/RustBridge.java`
- [Entity frustum culling](https://github.com/xucy10/mili/blob/master/mili-rust/src/rust/src/entity_cull.rs): `mili-rust/src/rust/src/entity_cull.rs`
- [Rust TOML support](https://github.com/xucy10/mili/blob/master/mili-rust/src/rust/src/config.rs): `mili-rust/src/rust/src/config.rs`

### Other components

- **Players**
- **Operators**
- **Minecraft server**
- **Sentry**

## Connections

- Players → Minecraft server: connect
- Operators → Server commands: invoke
- Server commands → Configuration modules: manage settings
- Minecraft server → Region balancing: schedules regions
- Minecraft server → Region load monitoring: tracks region load
- Minecraft server → Chunk lifecycle: manages chunks
- Configuration modules → Mapped region storage: enables storage
- Minecraft server → Redstone compatibility: runs compatibility
- Minecraft server → Portal linking: uses portal links
- Minecraft server → Carpet compatibility: provides compatibility
- Minecraft server → Client protocols: dispatches payloads
- Client protocols → Jade item data: serves item data
- Minecraft server → Fake-player API: supports fake players
- Fake-player API → Fake-player storage: persists bot data
- Minecraft server → Photographer API: supports recording entities
- Rust JNI bridge → Entity frustum culling: invokes native culling
- Rust JNI bridge → Rust TOML support: bridges configuration
- Sentry reporting → Sentry: reports logs
