# blazezstudio/kratos architecture

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

- Interactive diagram: https://gitdiagram.com/blazezstudio/kratos
- Repository: https://github.com/blazezstudio/kratos

## Overview

Kratos is a Minecraft server anti-cheat plugin. Its central workflow is to observe player packet and movement activity, evaluate checks and movement predictions, then flag violations for staff visibility and history. The tree also shows AI and cloud-assisted review, replay, configuration, and a public API. The excerpts establish some internal calls, but do not show the plugin’s full event wiring or how several subsystems are reached; those relationships are omitted rather than inferred.

Main entry points: [`src/main/java/me/blazezstudio/minecraft/checks/Check.java`](https://github.com/blazezstudio/kratos/blob/main/src/main/java/me/blazezstudio/minecraft/checks/Check.java) (Anti-cheat Checks), [`src/main/java/me/blazezstudio/minecraft/KratosInternalService.java`](https://github.com/blazezstudio/kratos/blob/main/src/main/java/me/blazezstudio/minecraft/KratosInternalService.java) (Internal Service), [`src/main/java/me/blazezstudio/minecraft/analysisengine/MotionPipeline.java`](https://github.com/blazezstudio/kratos/blob/main/src/main/java/me/blazezstudio/minecraft/analysisengine/MotionPipeline.java) (Motion Prediction), [`src/main/java/me/blazezstudio/minecraft/cloudchecks/eval/CloudEngine.java`](https://github.com/blazezstudio/kratos/blob/main/src/main/java/me/blazezstudio/minecraft/cloudchecks/eval/CloudEngine.java) (Cloud Evaluation)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_runtime["Plugin Runtime"]
  node_plugin["Plugin Bootstrap<br/>[KratosPlugin.java]"]
  node_api["Kratos API<br/>[KratosAPI.java]"]
  node_internal["Internal Service"]
  node_config["Configuration"]
  node_player["Player State<br/>[KratosPlayer.java]"]
  node_packet["Packet Routing"]
end

subgraph group_detection["Detection Engine"]
  node_checks["Anti-cheat Checks<br/>[Check.java]"]
  node_checkcatalog["Check Catalog<br/>[CheckCatalog.java]"]
  node_motion["Motion Prediction"]
  node_integrators["Tick Integrators"]
end

subgraph group_review["Review Integrations"]
  node_ai["AI Review<br/>[AiHub.java]"]
  node_cloud["Cloud Evaluation<br/>[CloudEngine.java]"]
  node_cloudwire["Cloud Protocol<br/>[WireCodec.java]"]
  node_cloudclient["Cloud Client"]
  node_ai_service["Claude Service<br/>[ClaudeClient.java]"]
end

subgraph group_operations["Staff Operations"]
  node_staff["Staff Alerts"]
  node_history["Violation History"]
  node_reviewmanager["Cheat Review"]
  node_commands["Staff Commands"]
  node_replay["Replay Recording"]
end

subgraph group_platform["Platform Services"]
  node_platformevents["Bukkit Events"]
  node_webhook["Webhook Delivery<br/>[WebhookClient.java]"]
  node_database[("Violation Database")]
end

node_server(("Minecraft Server"))
node_claude(("Claude API"))
node_cloudservice(("Cloud Service"))

node_checks -.->|"alerts via service"| node_staff
node_checks -.->|"records violations"| node_history
node_checks -.->|"evaluates player"| node_player
node_checks -->|"fires flag events"| node_platformevents
node_checks -->|"posts violation"| node_api
node_motion -->|"runs integrators"| node_integrators
node_motion -->|"queries checks"| node_checks
node_internal -->|"loads config"| node_config
node_internal -->|"reloads players"| node_player
node_history -->|"selects store"| node_database
node_cloud -->|"uses protocol types"| node_cloudwire
node_cloud -.->|"requests evaluation"| node_claude
node_cloudclient -.->|"sends checks"| node_cloudservice
node_ai_service -.->|"sends prompts"| node_claude
node_server -.->|"hosts plugin"| node_plugin
node_server -.->|"provides packets"| node_packet

click node_plugin "https://github.com/blazezstudio/kratos/blob/main/src/main/java/me/blazezstudio/minecraft/KratosPlugin.java"
click node_api "https://github.com/blazezstudio/kratos/blob/main/src/main/java/me/blazezstudio/minecraft/KratosAPI.java"
click node_internal "https://github.com/blazezstudio/kratos/blob/main/src/main/java/me/blazezstudio/minecraft/KratosInternalService.java"
click node_config "https://github.com/blazezstudio/kratos/blob/main/src/main/java/me/blazezstudio/minecraft/manager/config/ConfigManagerFileImpl.java"
click node_player "https://github.com/blazezstudio/kratos/blob/main/src/main/java/me/blazezstudio/minecraft/player/KratosPlayer.java"
click node_packet "https://github.com/blazezstudio/kratos/blob/main/src/main/java/me/blazezstudio/minecraft/events/packets/InboundPacketRouter.java"
click node_checks "https://github.com/blazezstudio/kratos/blob/main/src/main/java/me/blazezstudio/minecraft/checks/Check.java"
click node_checkcatalog "https://github.com/blazezstudio/kratos/blob/main/src/main/java/me/blazezstudio/minecraft/checks/CheckCatalog.java"
click node_motion "https://github.com/blazezstudio/kratos/blob/main/src/main/java/me/blazezstudio/minecraft/analysisengine/MotionPipeline.java"
click node_integrators "https://github.com/blazezstudio/kratos/tree/main/src/main/java/me/blazezstudio/minecraft/analysisengine/tickframe"
click node_ai "https://github.com/blazezstudio/kratos/blob/main/src/main/java/me/blazezstudio/minecraft/ai/AiHub.java"
click node_cloud "https://github.com/blazezstudio/kratos/blob/main/src/main/java/me/blazezstudio/minecraft/cloudchecks/eval/CloudEngine.java"
click node_cloudwire "https://github.com/blazezstudio/kratos/blob/main/src/main/java/me/blazezstudio/minecraft/cloudchecks/wire/WireCodec.java"
click node_cloudclient "https://github.com/blazezstudio/kratos/blob/main/src/main/java/me/blazezstudio/minecraft/cloudchecks/CloudCheckClient.java"
click node_ai_service "https://github.com/blazezstudio/kratos/blob/main/src/main/java/me/blazezstudio/minecraft/ai/ClaudeClient.java"
click node_staff "https://github.com/blazezstudio/kratos/blob/main/src/main/java/me/blazezstudio/minecraft/manager/StaffAlertService.java"
click node_history "https://github.com/blazezstudio/kratos/blob/main/src/main/java/me/blazezstudio/minecraft/manager/violationdatabase/FlagHistoryService.java"
click node_reviewmanager "https://github.com/blazezstudio/kratos/blob/main/src/main/java/me/blazezstudio/minecraft/manager/CheatReviewManager.java"
click node_commands "https://github.com/blazezstudio/kratos/tree/main/src/main/java/me/blazezstudio/minecraft/command"
click node_replay "https://github.com/blazezstudio/kratos/blob/main/src/main/java/me/blazezstudio/minecraft/platform/bukkit/replay/RecordingManager.java"
click node_platformevents "https://github.com/blazezstudio/kratos/blob/main/src/main/java/me/blazezstudio/minecraft/platform/bukkit/initables/BukkitEventManager.java"
click node_webhook "https://github.com/blazezstudio/kratos/blob/main/src/main/java/me/blazezstudio/minecraft/libs/embed/WebhookClient.java"
click node_database "https://github.com/blazezstudio/kratos/blob/main/src/main/java/me/blazezstudio/minecraft/manager/violationdatabase/FlagHistoryStore.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_plugin,node_api,node_internal,node_config,node_player,node_packet toneBlue
class node_checks,node_checkcatalog,node_motion,node_integrators toneAmber
class node_ai,node_cloud,node_cloudwire,node_cloudclient,node_ai_service,node_server,node_claude toneMint
class node_staff,node_history,node_reviewmanager,node_commands,node_replay toneRose
class node_platformevents,node_webhook,node_database,node_cloudservice toneIndigo
```

## Components

### Plugin Runtime

- [Plugin Bootstrap](https://github.com/blazezstudio/kratos/blob/main/src/main/java/me/blazezstudio/minecraft/KratosPlugin.java): `src/main/java/me/blazezstudio/minecraft/KratosPlugin.java`
- [Kratos API](https://github.com/blazezstudio/kratos/blob/main/src/main/java/me/blazezstudio/minecraft/KratosAPI.java): `src/main/java/me/blazezstudio/minecraft/KratosAPI.java`
- [Internal Service](https://github.com/blazezstudio/kratos/blob/main/src/main/java/me/blazezstudio/minecraft/KratosInternalService.java): `src/main/java/me/blazezstudio/minecraft/KratosInternalService.java`
- [Configuration](https://github.com/blazezstudio/kratos/blob/main/src/main/java/me/blazezstudio/minecraft/manager/config/ConfigManagerFileImpl.java): `src/main/java/me/blazezstudio/minecraft/manager/config/ConfigManagerFileImpl.java`
- [Player State](https://github.com/blazezstudio/kratos/blob/main/src/main/java/me/blazezstudio/minecraft/player/KratosPlayer.java): `src/main/java/me/blazezstudio/minecraft/player/KratosPlayer.java`
- [Packet Routing](https://github.com/blazezstudio/kratos/blob/main/src/main/java/me/blazezstudio/minecraft/events/packets/InboundPacketRouter.java): `src/main/java/me/blazezstudio/minecraft/events/packets/InboundPacketRouter.java`

### Detection Engine

- [Anti-cheat Checks](https://github.com/blazezstudio/kratos/blob/main/src/main/java/me/blazezstudio/minecraft/checks/Check.java): `src/main/java/me/blazezstudio/minecraft/checks/Check.java`
- [Check Catalog](https://github.com/blazezstudio/kratos/blob/main/src/main/java/me/blazezstudio/minecraft/checks/CheckCatalog.java): `src/main/java/me/blazezstudio/minecraft/checks/CheckCatalog.java`
- [Motion Prediction](https://github.com/blazezstudio/kratos/blob/main/src/main/java/me/blazezstudio/minecraft/analysisengine/MotionPipeline.java): `src/main/java/me/blazezstudio/minecraft/analysisengine/MotionPipeline.java`
- [Tick Integrators](https://github.com/blazezstudio/kratos/tree/main/src/main/java/me/blazezstudio/minecraft/analysisengine/tickframe): `src/main/java/me/blazezstudio/minecraft/analysisengine/tickframe`

### Review Integrations

- [AI Review](https://github.com/blazezstudio/kratos/blob/main/src/main/java/me/blazezstudio/minecraft/ai/AiHub.java): `src/main/java/me/blazezstudio/minecraft/ai/AiHub.java`
- [Cloud Evaluation](https://github.com/blazezstudio/kratos/blob/main/src/main/java/me/blazezstudio/minecraft/cloudchecks/eval/CloudEngine.java): `src/main/java/me/blazezstudio/minecraft/cloudchecks/eval/CloudEngine.java`
- [Cloud Protocol](https://github.com/blazezstudio/kratos/blob/main/src/main/java/me/blazezstudio/minecraft/cloudchecks/wire/WireCodec.java): `src/main/java/me/blazezstudio/minecraft/cloudchecks/wire/WireCodec.java`
- [Cloud Client](https://github.com/blazezstudio/kratos/blob/main/src/main/java/me/blazezstudio/minecraft/cloudchecks/CloudCheckClient.java): `src/main/java/me/blazezstudio/minecraft/cloudchecks/CloudCheckClient.java`
- [Claude Service](https://github.com/blazezstudio/kratos/blob/main/src/main/java/me/blazezstudio/minecraft/ai/ClaudeClient.java): `src/main/java/me/blazezstudio/minecraft/ai/ClaudeClient.java`

### Staff Operations

- [Staff Alerts](https://github.com/blazezstudio/kratos/blob/main/src/main/java/me/blazezstudio/minecraft/manager/StaffAlertService.java): `src/main/java/me/blazezstudio/minecraft/manager/StaffAlertService.java`
- [Violation History](https://github.com/blazezstudio/kratos/blob/main/src/main/java/me/blazezstudio/minecraft/manager/violationdatabase/FlagHistoryService.java): `src/main/java/me/blazezstudio/minecraft/manager/violationdatabase/FlagHistoryService.java`
- [Cheat Review](https://github.com/blazezstudio/kratos/blob/main/src/main/java/me/blazezstudio/minecraft/manager/CheatReviewManager.java): `src/main/java/me/blazezstudio/minecraft/manager/CheatReviewManager.java`
- [Staff Commands](https://github.com/blazezstudio/kratos/tree/main/src/main/java/me/blazezstudio/minecraft/command): `src/main/java/me/blazezstudio/minecraft/command`
- [Replay Recording](https://github.com/blazezstudio/kratos/blob/main/src/main/java/me/blazezstudio/minecraft/platform/bukkit/replay/RecordingManager.java): `src/main/java/me/blazezstudio/minecraft/platform/bukkit/replay/RecordingManager.java`

### Platform Services

- [Bukkit Events](https://github.com/blazezstudio/kratos/blob/main/src/main/java/me/blazezstudio/minecraft/platform/bukkit/initables/BukkitEventManager.java): `src/main/java/me/blazezstudio/minecraft/platform/bukkit/initables/BukkitEventManager.java`
- [Webhook Delivery](https://github.com/blazezstudio/kratos/blob/main/src/main/java/me/blazezstudio/minecraft/libs/embed/WebhookClient.java): `src/main/java/me/blazezstudio/minecraft/libs/embed/WebhookClient.java`
- [Violation Database](https://github.com/blazezstudio/kratos/blob/main/src/main/java/me/blazezstudio/minecraft/manager/violationdatabase/FlagHistoryStore.java): `src/main/java/me/blazezstudio/minecraft/manager/violationdatabase/FlagHistoryStore.java`

### Other components

- **Minecraft Server**
- **Claude API**
- **Cloud Service**

## Connections

- Anti-cheat Checks → Staff Alerts: alerts via service
- Anti-cheat Checks → Violation History: records violations
- Anti-cheat Checks → Player State: evaluates player (evidence: `src/main/java/me/blazezstudio/minecraft/checks/Check.java`)
- Anti-cheat Checks → Bukkit Events: fires flag events (evidence: `src/main/java/me/blazezstudio/minecraft/checks/Check.java`)
- Anti-cheat Checks → Kratos API: posts violation (evidence: `src/main/java/me/blazezstudio/minecraft/checks/Check.java`)
- Motion Prediction → Tick Integrators: runs integrators (evidence: `src/main/java/me/blazezstudio/minecraft/analysisengine/MotionPipeline.java`)
- Motion Prediction → Anti-cheat Checks: queries checks (evidence: `src/main/java/me/blazezstudio/minecraft/analysisengine/MotionPipeline.java`)
- Internal Service → Configuration: loads config (evidence: `src/main/java/me/blazezstudio/minecraft/KratosInternalService.java`)
- Internal Service → Player State: reloads players (evidence: `src/main/java/me/blazezstudio/minecraft/KratosInternalService.java`)
- Violation History → Violation Database: selects store (evidence: `src/main/java/me/blazezstudio/minecraft/manager/violationdatabase/FlagHistoryService.java`)
- Cloud Evaluation → Cloud Protocol: uses protocol types (evidence: `src/main/java/me/blazezstudio/minecraft/cloudchecks/eval/CloudEngine.java`)
- Cloud Evaluation → Claude API: requests evaluation
- Cloud Client → Cloud Service: sends checks
- Claude Service → Claude API: sends prompts
- Minecraft Server → Plugin Bootstrap: hosts plugin
- Minecraft Server → Packet Routing: provides packets
