How nik-potokar/ninja-saga-private-server works
Ninja Saga Private Server is a Laravel-backed game server with an admin panel and optional live PvP and chat services. The main player flow is the custom client sending AMF requests, which the server handles through gameplay services and persistent game state before returning game data or rewards. Admins manage accounts and game content through Filament. Clan and crew APIs provide distinct social and competitive features. The README documents chat and PvP capabilities, but chat implementation files are absent from the supplied tree; several other runtime relationships are therefore left unconnected rather than inferred.
Main entry points: Character.php Character state · ValidatesSession.php Session validation · QueryService.php Pet queries · DragonHuntEventService.php Event rewards
Components 22
Game Protocol
- AMF entry
Database/Laragon/index.php - SabreAMF server
Database/Laragon/ninjasage/app/ThirdParty/SabreAMF/Server.php - Session validation
Database/Laragon/ninjasage/app/Services/Amf/Concerns/ValidatesSession.php
Player Gameplay
- Character gameplay
Database/Laragon/ninjasage/app/Services/Amf/CharacterService/ShopService.php - Pet queries
Database/Laragon/ninjasage/app/Services/Amf/PetService/QueryService.php - Talent queries
Database/Laragon/ninjasage/app/Services/Amf/TalentService/QueryService.php - Senjutsu queries
Database/Laragon/ninjasage/app/Services/Amf/SenjutsuService/QueryService.php - Event rewards
Database/Laragon/ninjasage/app/Services/Amf/DragonHuntEventService.php
Social Competition
Administration
- Admin panel
Database/Laragon/ninjasage/app/Filament/Resources/Characters/CharacterResource.php - Game settings
Database/Laragon/ninjasage/app/Filament/Pages/ShopManager.php
Persistent State
- Character state
Database/Laragon/ninjasage/app/Models/Character.php - Item catalog
Database/Laragon/ninjasage/app/Models/Item.php - Pet catalog
Database/Laragon/ninjasage/app/Models/Pet.php - Skill catalog
Database/Laragon/ninjasage/app/Models/Skill.php - Character inventory
Database/Laragon/ninjasage/app/Models/CharacterItem.php
Other components
- Game player
- Custom client
- MySQL database
Connections 29
- Game player → Custom client: plays through
README.md - Custom client → AMF entry: sends game requests
- AMF entry → SabreAMF server: loads
Database/Laragon/index.php - SabreAMF server → Character gameplay: dispatches
Database/Laragon/ninjasage/app/Services/Amf/CharacterService/ShopService.php - Character gameplay → Session validation: validates session
Database/Laragon/ninjasage/app/Services/Amf/CharacterService/ShopService.php - Pet queries → Session validation: validates session
Database/Laragon/ninjasage/app/Services/Amf/PetService/QueryService.php - Talent queries → Session validation: validates session
Database/Laragon/ninjasage/app/Services/Amf/TalentService/QueryService.php - Senjutsu queries → Session validation: validates session
Database/Laragon/ninjasage/app/Services/Amf/SenjutsuService/QueryService.php - Event rewards → Session validation: validates session
Database/Laragon/ninjasage/app/Services/Amf/DragonHuntEventService.php - Pet queries → Character state: reads and updates
Database/Laragon/ninjasage/app/Services/Amf/PetService/QueryService.php - Pet queries → Pet catalog: reads
Database/Laragon/ninjasage/app/Services/Amf/PetService/QueryService.php - Talent queries → Character state: reads
Database/Laragon/ninjasage/app/Services/Amf/TalentService/QueryService.php - Senjutsu queries → Character state: reads
Database/Laragon/ninjasage/app/Services/Amf/SenjutsuService/QueryService.php - Event rewards → Character state: updates rewards
Database/Laragon/ninjasage/app/Services/Amf/DragonHuntEventService.php - Event rewards → Character inventory: reads and writes
Database/Laragon/ninjasage/app/Services/Amf/DragonHuntEventService.php - Clan API → Character state: reads
Database/Laragon/ninjasage/app/Http/Controllers/ClanApiController.php - Crew API → Character state: reads
Database/Laragon/ninjasage/app/Http/Controllers/CrewApiController.php - Custom client → Clan API: uses clan features
README.md - Custom client → Crew API: uses crew features
README.md - Custom client → Live PvP: connects for PvP
README.md - Custom client → Live chat: connects for chat
README.md - Admin panel → Game settings: manages game data
README.md - Game settings → Item catalog: manages catalog
Database/Laragon/ninjasage/app/Filament/Pages/ShopManager.php - Game settings → Character state: reads and updates
Database/Laragon/ninjasage/app/Filament/Pages/ShopManager.php - Character state → MySQL database: persists in
README.md - Item catalog → MySQL database: persists in
README.md - Pet catalog → MySQL database: persists in
README.md - Skill catalog → MySQL database: persists in
README.md - Character inventory → MySQL database: persists in
README.md