How neoexm/shittim-server works
Shittim Server is a local Blue Archive private server: the game client authenticates and sends protocol requests, which are dispatched to game logic that reads game data and persists account progress in SQLite before returning protocol responses. The README also documents gacha, events, missions, story, cafe, shops, and admin operations. Those broader capabilities are represented at their documented subsystem level where their implementation was not sampled; wiring beyond the excerpts is intentionally not asserted.
Main entry points: SchaleDataContext.cs Game data context · CampaignManager.cs Campaign stages · FlatData Game content tables · EventContentCampaignManager.cs Event stages
Components 20
Client entry
- Protocol gateway
Shittim-Server/Controllers/Api/GatewayController.cs - Protocol dispatch
Shittim-Server/Core/HandlerManager.cs - IAS / IMS auth
Shittim-Server/Controllers/SDK/IasController.cs
Game services
- Campaign stages
Shittim-Server/Managers/CampaignManager.cs - Strategy maps
Shittim-Server/Services/ConcentrateCampaignManager.cs - Event stages
Shittim-Server/Services/EventContentCampaignManager.cs - Raid operations
Shittim-Server/Controllers/GM/RaidController.cs - Other game features
Shittim-Server
Data and content
- Game data context
Schale/Data/SchaleDataContext.cs - Account models
Schale/Data/Models/UserAccount.cs - Progress models
Schale/Data/GameModel/ProgressModel - Game content tables
Schale/FlatData - Model mapping
Schale/Data/ModelMapping/ModelMapping.cs
Administration
- Management API
Shittim-Server/Controllers/ManagementController.cs - Content controls
Shittim-Server/Controllers/Dev/ContentController.cs - Control Center
ShittimControlCenter/main.js - Gacha settings
Shittim-Server/Controllers/ManagementController.cs
Other components
- Game player
- Blue Archive client
- SQLite database
Connections 24
- Game player → Blue Archive client: plays through
- Blue Archive client → IAS / IMS auth: authenticates
- Blue Archive client → Protocol gateway: sends protocols
- Protocol gateway → Protocol dispatch: dispatches requests
- Protocol dispatch → Campaign stages: invokes handlers
- Campaign stages → Game data context: reads and writes
- Campaign stages → Game content tables: uses stage data
- Campaign stages → Strategy maps: uses strategy logic
- Event stages → Strategy maps: uses map logic
- Event stages → Game data context: reads and writes
- Event stages → Game content tables: uses event data
- Raid operations → Game data context: reads raid records
- Raid operations → Game content tables: reads raid tables
- Other game features → Game data context: uses account state
- Other game features → Game content tables: uses game data
- Management API → Game data context: manages accounts
- Management API → Gacha settings: writes settings
- Content controls → Game data context: updates content state
- Control Center → Management API: administers server
- Game data context → Account models: maps accounts
- Game data context → Progress models: maps progress
- Game data context → SQLite database: persists data
- Model mapping → Account models: maps models
- Model mapping → Progress models: maps models