# Contributing Guide ## Architectural overview ```mermaid graph TB subgraph "Minecraft Server Platforms" SPIGOT["Spigot/Paper
(Bukkit Module)"] BUNGEE["BungeeCord
(Proxy Module)"] VELOCITY["Velocity
(Velocity Module)"] end subgraph "FastLogin Core" CORE["FastLoginCore
Main Logic Engine"] SESSION["LoginSession
Session Management"] AUTH["AuthPlugin Hook
Auth Integration"] RESOLVER["ProxyAgnosticMojangResolver
Profile Resolution"] STORAGE["SQLStorage
Database Layer"] ANTIBOT["AntiBotService
Rate Limiting"] end subgraph "Bedrock Support" FLOODGATE["FloodgateManagement
Bedrock Players"] GEYSER["GeyserService
Geyser Integration"] BEDROCK["BedrockService
Base Service"] end subgraph "External Services" MOJANG["Mojang API
api.mojang.com"] SESSION_SERVER["Session Server
sessionserver.mojang.com"] DATABASE[(SQL Database
MySQL/SQLite)] end subgraph "Async Processing" SCHEDULER["AbstractAsyncScheduler
Thread Pool Management"] end subgraph "Messaging" MESSAGES["ChannelMessage
Proxy Messages
(i.e. BungeeCord)"] NAMEKEY["NamespaceKey
Message Routing"] end SPIGOT -->|loads| CORE BUNGEE -->|loads| CORE VELOCITY -->|loads| CORE CORE -->|manages| SESSION CORE -->|uses| AUTH CORE -->|resolves profiles| RESOLVER CORE -->|persists data| STORAGE CORE -->|checks rate limits| ANTIBOT CORE -->|handles bedrock| FLOODGATE FLOODGATE -->|extends| BEDROCK GEYSER -->|extends| BEDROCK RESOLVER -->|queries| MOJANG RESOLVER -->|verifies| SESSION_SERVER STORAGE -->|connects to| DATABASE CORE -->|schedules async| SCHEDULER MESSAGES -->|uses| NAMEKEY CORE -->|sends via| MESSAGES AUTH -.->|delegates to| SPIGOT AUTH -.->|delegates to| BUNGEE ANTIBOT -->|rate limits| RESOLVER ```