chore: retarget server to .NET 10 and update stack docs

- NeonSprawl.Server: net8.0 -> net10.0
- README, tech_stack, server README, vision plan: .NET 8 -> .NET 10

Made-with: Cursor
pull/2/head
don 2026-03-29 19:49:45 -04:00
parent f5305a447b
commit cbf15fc8bb
5 changed files with 7 additions and 7 deletions

View File

@ -7,7 +7,7 @@
| Area | Choice | | Area | Choice |
|------|--------| |------|--------|
| Client | **Godot 4.x** (GDScript) | | Client | **Godot 4.x** (GDScript) |
| Game server | **C# / .NET 8** (ASP.NET Core), **PostgreSQL**, **Protobuf** (JSON OK for earliest spike) | | Game server | **C# / .NET 10** (ASP.NET Core), **PostgreSQL**, **Protobuf** (JSON OK for earliest spike) |
| Content | **JSON/YAML** + **JSON Schema** in CI | | Content | **JSON/YAML** + **JSON Schema** in CI |
Full rationale and constraints: [`docs/architecture/tech_stack.md`](docs/architecture/tech_stack.md). Full rationale and constraints: [`docs/architecture/tech_stack.md`](docs/architecture/tech_stack.md).

View File

@ -4,7 +4,7 @@
**Constraints from product vision:** Solo operator, server-authoritative critical paths, fixed isometric 3D client, tab-target combat, data-driven skills/items/recipes/quests, optional PvP zones, eventual scale-out (not day one). **Constraints from product vision:** Solo operator, server-authoritative critical paths, fixed isometric 3D client, tab-target combat, data-driven skills/items/recipes/quests, optional PvP zones, eventual scale-out (not day one).
**Server runtime (locked):** **C# / .NET 8** — primary author has ~10 years C# experience; authoritative game logic, persistence, and ops stay in this stack. **Server runtime (locked):** **C# / .NET 10** — primary author has ~10 years C# experience; authoritative game logic, persistence, and ops stay in this stack.
**Client scripting (locked):** **GDScript** in Godot—fast iteration, native engine integration; server remains the only **C#** game-logic surface. **Client scripting (locked):** **GDScript** in Godot—fast iteration, native engine integration; server remains the only **C#** game-logic surface.
@ -15,7 +15,7 @@
| Layer | Choice | Role | | Layer | Choice | Role |
|--------|--------|------| |--------|--------|------|
| Game client | **Godot 4.x** + **GDScript** | Rendering, input, camera, local prediction (if any), UI, telemetry emit | | Game client | **Godot 4.x** + **GDScript** | Rendering, input, camera, local prediction (if any), UI, telemetry emit |
| Game server | **C# / .NET 8** (ASP.NET Core) | Authoritative simulation, zones, combat/crafting resolution, persistence boundaries | | Game server | **C# / .NET 10** (ASP.NET Core) | Authoritative simulation, zones, combat/crafting resolution, persistence boundaries |
| RPC / messages | **Protobuf** (or **JSON** for earliest spike only) | Versioned contracts between client and server | | RPC / messages | **Protobuf** (or **JSON** for earliest spike only) | Versioned contracts between client and server |
| Primary database | **PostgreSQL** | Characters, inventory, progression, economy ledger, idempotent transactions | | Primary database | **PostgreSQL** | Characters, inventory, progression, economy ledger, idempotent transactions |
| Cache / presence (when needed) | **Redis** | Sessions, rate limits, hot read models—**defer** until second scaling pain | | Cache / presence (when needed) | **Redis** | Sessions, rate limits, hot read models—**defer** until second scaling pain |
@ -44,7 +44,7 @@
- **Unreal** for this phase unless art direction *requires* it. - **Unreal** for this phase unless art direction *requires* it.
## Server: C# (.NET 8) ## Server: C# (.NET 10)
**Why** **Why**

View File

@ -118,7 +118,7 @@ These decisions heavily affect architecture and content pipelines and should be
**Decision record:** [`docs/architecture/tech_stack.md`](docs/architecture/tech_stack.md) **Decision record:** [`docs/architecture/tech_stack.md`](docs/architecture/tech_stack.md)
- **Client:** Godot 4.x — isometric 3D presentation, intents to server, no client-authoritative economy or combat outcomes. - **Client:** Godot 4.x — isometric 3D presentation, intents to server, no client-authoritative economy or combat outcomes.
- **Game server:** **C# / .NET 8** (ASP.NET Core)—authoritative simulation, PostgreSQL, Protobuf (JSON acceptable for earliest spike). Locked: operator primary language for backend. - **Game server:** **C# / .NET 10** (ASP.NET Core)—authoritative simulation, PostgreSQL, Protobuf (JSON acceptable for earliest spike). Locked: operator primary language for backend.
- **Content:** JSON/YAML + schema validation in CI; shared definitions drive skills, items, recipes, quests. - **Content:** JSON/YAML + schema validation in CI; shared definitions drive skills, items, recipes, quests.
- **Plan B:** Unity client if the art pipeline warrants it; **server remains C#** for continuity. - **Plan B:** Unity client if the art pipeline warrants it; **server remains C#** for continuity.

View File

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk.Web"> <Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup> <PropertyGroup>
<TargetFramework>net8.0</TargetFramework> <TargetFramework>net10.0</TargetFramework>
<Nullable>enable</Nullable> <Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings> <ImplicitUsings>enable</ImplicitUsings>
<RootNamespace>NeonSprawl.Server</RootNamespace> <RootNamespace>NeonSprawl.Server</RootNamespace>

View File

@ -1,6 +1,6 @@
# Game server (`NeonSprawl.Server`) # Game server (`NeonSprawl.Server`)
ASP.NET Core **.NET 8** host for authoritative simulation (prototype: HTTP + health only). ASP.NET Core **.NET 10** host for authoritative simulation (prototype: HTTP + health only).
## Run ## Run