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-qa
for Windows(x64)/Debian(x64, ARM64, ARM32) based images. They contain the full ASP.NET Core runtime.latest-alpine
/latest-alpine-qa
for 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.Gui
for a console UIOpenTelemetry
for Metrics and Tracing. Metrics are based on Application EventsFluentValidation
for IOptions validation at startup- Two main Repository implementations -
LiteDb
for player hosted andpokemon3d.net API
for 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