|
|
||
|---|---|---|
| .. | ||
| NeonSprawl.Server | ||
| NeonSprawl.Server.Tests | ||
| README.md | ||
README.md
Game server (NeonSprawl.Server)
ASP.NET Core .NET 10 host for authoritative simulation (prototype: HTTP + health + in-memory position read API).
Run
cd server/NeonSprawl.Server
dotnet run
- Default URL is printed by Kestrel (see
Properties/launchSettings.json, typicallyhttp://localhost:5253). - Check
GET /healthfor a JSON heartbeat.
Position state (NS-15)
Authoritative player position is held in memory (no database yet). The HTTP JSON shape is versioned with top-level schemaVersion (see XML docs on PositionStateResponse in the server project). Path {id} is trimmed and matched case-insensitively against stored players; playerId in the JSON body echoes the path segment from the request.
Example (dev player id defaults to dev-local-1 in appsettings.json):
curl -s http://localhost:5253/game/players/dev-local-1/position
Sample response:
{"schemaVersion":1,"playerId":"dev-local-1","position":{"x":0,"y":0,"z":0},"sequence":0}
Unknown player ids return 404. This endpoint is a spike until durable persistence and full sync exist.
For a PR/Jira-ready contract blurb (formatted JSON + field table), see the NS-15 implementation plan — Pull request description.
Solution
From repo root: dotnet build NeonSprawl.sln and dotnet test NeonSprawl.sln.