Skip to content

xuedi/starraid-client

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

client

The StarRaid native desktop game client — Godot with C#. See ../docs/client.md.

Thin and server-authoritative: it renders only what the server sends (interest-managed, sensor-gated), takes player input, runs client-side automation (AI modules), and sends intent over the wire protocol (Protobuf over TCP).

Prerequisites

# Arch / CachyOS
paru -S godot-mono        # Godot 4 with the Mono/.NET runtime (matches Godot.NET.Sdk in the csproj)
paru -S dotnet-sdk        # .NET SDK for C#

Also needs protoc (from the protocol repo's just gen-csharp) to produce the C# bindings the client compiles.

Getting started

just gen         # regenerate the protocol's C# bindings (../protocol/gen/csharp)
just install     # just gen + dotnet restore
just build       # just gen + dotnet build
just run         # godot-mono --path .  (runs scenes/Main.tscn)
just edit        # open in the Godot editor

If your Godot binary isn't godot-mono on PATH, override it: just godot=/path/to/godot run.

Logging in

With the server running (cd ../server && just db-up && just migrate && just run) and the DB seeded (cd ../admin && just seed), launch the client. The login screen defaults to 127.0.0.1:60000 and test@example.org / 1234 — Connect runs the version handshake + login, then the game scene renders the controlled ship (camera-followed) plus the 3 seeded NPC ships. Left-click empty space to move (the ship follows the server's authoritative position).

Protocol bindings

The client compiles the protocol's generated C# bindings (gen/csharp in the protocol repo) directly — they are gitignored and regenerated by just gen. The csproj's ProtocolPath property locates the checkout (default ../protocol); override it with -p:ProtocolPath=... or the STARRAID_PROTOCOL_PATH env var, mirroring the Go components.

Layout: project.godot (project), scenes/ (Login + Game scenes), scripts/ (C# code: Net/Connection.cs wire codec, Login.cs, Game.cs), Starraid.Client.csproj (the C# assembly).

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors