The new 'enterprise grade' © server for P3D-Legacy based on ASP.NET Core and Project Bedrock.
We provide statically compiled binaries for every supported by .NET platform.
Check the Releases
tab for the latest release available.
We provide the image ghcr.io/p3d-legacy/p3d-legacy-server with two main tags:
latest/latest-qafor Windows(x64)/Debian(x64, ARM64, ARM32) based images. They contain the full ASP.NET Core runtime.latest-alpine/latest-alpine-qafor slimmed down Alpine(x64, ARM64, ARM32) images. They contain the statically compiled application and also uses MUSL for the C runtime.
The -qa stands for pre-release builds.
We recommend to use a docker-compose.yml file for deployment.
You can directly modify the
appsettings.json
or use
environment variables.
So Server:Name will be Server__Name as an env variable.
The server has a basic UI. Type /uimode when the server is running.
Project uses guidelines from Clean Architecture with CQERS (CQRS with Events). Features:
- Custom Mediator for proper DI integration of Commands, Queries and Events
Terminal.Guifor a console UIOpenTelemetryfor Metrics and Tracing. Metrics are based on Application EventsFluentValidationfor IOptions validation at startup- Two main Repository implementations -
LiteDbfor player hosted andpokemon3d.net APIfor the official server - WebSocket endpoint for custom integrations - the ability to create bots
- Game Commands
- Direct Discord integration
- Performance oriented implementation of the P3D-Legacy game protocol
- REST API based on Queries
