DragaliaAPI is the main server component of Dawnshard, which handles the vast majority of game functionality.
The server depends on DragaliaBaas
as an identity
provider. Clients are expected to go to an instance of the BaaS for login and authentication, and then come back
to /tool/auth
with a signed JSON web token to authenticate against DragaliaAPI. The development instance is configured to point
at a publicly hosted instance of BaaS.
For local development, the recommended workflow is using the .NET Aspire AppHost. This will handle starting up the app and spinning up Docker containers for the dependent services.
This has the following dependencies:
- A container runtime. On Windows, Docker Desktop is required to run Linux containers.
- The .NET Aspire workload.
For more information, see the Microsoft documentation on setting up .NET Aspire.
The Aspire app host should be compatible with most IDEs like JetBrains Rider and Visual Studio. Simply select the Dawnshard.AppHost: https
launch profile to start it up.
Alternatively, you can use the command line. From the repository root:
$ cd Dawnshard.AppHost
$ dotnet run
The launchSettings.json
file will start the server on port 80, so you can
use Dragalipatch with
your PC's local IP address
to play on your local server with an emulator or mobile device. You must input the local IP address
as http://192.168.xxx.xxx
because without a http prefix, Dragalipatch assumes HTTPS which is not enabled on the
development setup.
The recommended way to self-host is using docker-compose
-- please see
the self-hosting guide in the wiki for more
information.
On a dedicated server, additional considerations should be made regarding reverse proxying, logging, etc. Speak to the maintainer if you are interested in hosting your own instance for further guidance.