Marie's Wonderland

An open-source server implementation for mobile game NieR Reincarnation.

Requirements

PC

Phone

Setup overview

1. Run the server

Open MariesWonderland.slnx and run the project.

The server listens on the standard HTTP and HTTPS ports on localhost:

2. Expose the server

The game communicates over gRPC (HTTP/2). You do not need ngrok or an external tunnel if your emulator or device can reach your machine directly.

Ensure any network path supports HTTP/2 for gRPC traffic on port 443.

Configuration

Server settings live in src/appsettings.development.json:

{
  "Server": {
    "Paths": {
      "AssetDatabase": "<path to extracted asset revisions>",
      "MasterDatabase": "<path to extracted master data>",
      "ResourcesBaseUrl": "http://<your-host>/aaaaaaaaaaaaaaaaaaaaaaaa"
    },
    "Data": {
      "LatestMasterDataVersion": "1234567890",
      "UserDataPath": "Data/UserData"
    }
  }
}

Project structure

src/                  .NET 10 gRPC + HTTP server
  proto/              protobuf service definitions
  Services/           gRPC service implementations
  Data/               in-memory data stores (master + user)
  Models/             entity and type definitions
  Extensions/         DI, HTTP, and gRPC helpers
  Configuration/      strongly-typed options
  Http/               HTTP API handlers (asset serving, etc.)
  Interceptors/       gRPC interceptors (diff, logging, auth)
  Helpers/            shared game logic helpers
tests/                xUnit test project
  Infrastructure/     shared test base classes and fixtures
  Interceptors/       interceptor unit tests

Disclaimer

See DISCLAIMER.md.

Special Thanks