mirror of
https://github.com/DorkSquadRR/DorkNet.git
synced 2026-10-25 23:18:44 -07:00
bcc5fe1bcb
- Create README.md for project overview and setup instructions - Add admin-ui/README.md for admin UI details and development setup - Introduce client-mod/README.md explaining the MelonLoader mod functionality - Establish docker/README.md for Docker setup and configuration - Create docs/README.md to index project documentation - Implement advanced-setup.md for Docker stack configuration - Document architecture in architecture.md - Provide easy-setup.md for hosting instructions - Add FAQ.md for common questions and legal considerations - Create joining-a-server.md for player connection instructions - Establish troubleshooting.md for common issues and resolutions - Introduce easy-app/README.md for the unified desktop application - Add server/README.md for ASP.NET Core backend details - Document tools/README.md for CLI helper scripts
1.6 KiB
1.6 KiB
server/
The ASP.NET Core backend.
Built two ways:
- Standalone Postgres-backed for advanced mode (Docker), via
dotnet runor thedorknet-servercontainer. - In-process SQLite-backed for the Easy desktop app, hosted as a
library inside
easy-app/.
Code layout (TBC)
server/
├── Controllers/ HTTP endpoints, sliced by subdomain → service
├── Services/ Business logic (presence, notifications, levels, ...)
├── Hubs/ SignalR NotifyHub
├── Data/ DbContext + EntityFramework entity classes
├── Auth/ JWT issuance, Photon CustomAuth handler
├── Middleware/ SubdomainRouter, request logging, error handling
└── Program.cs Boot: migrations, seeds, canonical overrides, DI
Building
dotnet build -c Release
dotnet run # localhost:5000
Provider switch
The DbContext is provider-agnostic. appsettings picks one:
{
"ConnectionStrings": {
// Postgres for advanced mode
"Default": "Host=localhost;Database=dorknet;Username=dorknet;Password=..."
// OR SQLite for easy mode
// "Default": "Data Source=dorknet.db"
},
"Database": {
"Provider": "Postgres" // or "Sqlite"
}
}
Easy app boots with Provider=Sqlite baked in; standalone defaults to
Provider=Postgres.
See also
- docs/architecture.md — request flow, subdomain routing, Photon relationship
- docs/advanced-setup.md — production setup
- CONTRIBUTING.md — style + PR rules