|
| 1 | +# Contributing Guide |
| 2 | + |
| 3 | +## Architectural overview |
| 4 | + |
| 5 | +```mermaid |
| 6 | +graph TB |
| 7 | + subgraph "Minecraft Server Platforms" |
| 8 | + SPIGOT["Spigot/Paper<br/>(Bukkit Module)"] |
| 9 | + BUNGEE["BungeeCord<br/>(Proxy Module)"] |
| 10 | + VELOCITY["Velocity<br/>(Velocity Module)"] |
| 11 | + end |
| 12 | +
|
| 13 | + subgraph "FastLogin Core" |
| 14 | + CORE["FastLoginCore<br/>Main Logic Engine"] |
| 15 | + SESSION["LoginSession<br/>Session Management"] |
| 16 | + AUTH["AuthPlugin Hook<br/>Auth Integration"] |
| 17 | + RESOLVER["ProxyAgnosticMojangResolver<br/>Profile Resolution"] |
| 18 | + STORAGE["SQLStorage<br/>Database Layer"] |
| 19 | + ANTIBOT["AntiBotService<br/>Rate Limiting"] |
| 20 | + end |
| 21 | +
|
| 22 | + subgraph "Bedrock Support" |
| 23 | + FLOODGATE["FloodgateManagement<br/>Bedrock Players"] |
| 24 | + GEYSER["GeyserService<br/>Geyser Integration"] |
| 25 | + BEDROCK["BedrockService<br/>Base Service"] |
| 26 | + end |
| 27 | +
|
| 28 | + subgraph "External Services" |
| 29 | + MOJANG["Mojang API<br/>api.mojang.com"] |
| 30 | + SESSION_SERVER["Session Server<br/>sessionserver.mojang.com"] |
| 31 | + DATABASE[(SQL Database<br/>MySQL/SQLite)] |
| 32 | + end |
| 33 | +
|
| 34 | + subgraph "Async Processing" |
| 35 | + SCHEDULER["AbstractAsyncScheduler<br/>Thread Pool Management"] |
| 36 | + end |
| 37 | +
|
| 38 | + subgraph "Messaging" |
| 39 | + MESSAGES["ChannelMessage<br/>Proxy Messages <br/>(i.e. BungeeCord)"] |
| 40 | + NAMEKEY["NamespaceKey<br/>Message Routing"] |
| 41 | + end |
| 42 | +
|
| 43 | + SPIGOT -->|loads| CORE |
| 44 | + BUNGEE -->|loads| CORE |
| 45 | + VELOCITY -->|loads| CORE |
| 46 | +
|
| 47 | + CORE -->|manages| SESSION |
| 48 | + CORE -->|uses| AUTH |
| 49 | + CORE -->|resolves profiles| RESOLVER |
| 50 | + CORE -->|persists data| STORAGE |
| 51 | + CORE -->|checks rate limits| ANTIBOT |
| 52 | + CORE -->|handles bedrock| FLOODGATE |
| 53 | +
|
| 54 | + FLOODGATE -->|extends| BEDROCK |
| 55 | + GEYSER -->|extends| BEDROCK |
| 56 | +
|
| 57 | + RESOLVER -->|queries| MOJANG |
| 58 | + RESOLVER -->|verifies| SESSION_SERVER |
| 59 | +
|
| 60 | + STORAGE -->|connects to| DATABASE |
| 61 | +
|
| 62 | + CORE -->|schedules async| SCHEDULER |
| 63 | +
|
| 64 | + MESSAGES -->|uses| NAMEKEY |
| 65 | + CORE -->|sends via| MESSAGES |
| 66 | +
|
| 67 | + AUTH -.->|delegates to| SPIGOT |
| 68 | + AUTH -.->|delegates to| BUNGEE |
| 69 | +
|
| 70 | + ANTIBOT -->|rate limits| RESOLVER |
| 71 | +``` |
0 commit comments