Lakona
Build realtime C# game servers
A C# full-stack game server framework with shared contracts, typed RPC, actor-owned state, reliable push, live logic updates, runtime diagnostics, and no database lockโin.
Why Lakona
The four ideas behind Lakona
Start with a complete workspace
Hub or Tool creates the shared contracts, server host, hotfix project, and Unity or Godot client together.
Share C# contracts
Client and server compile the same RPC interfaces, DTOs, callbacks, and protocol types.
Reload behavior, keep state
Rebuild replaceable C# game behavior while long-lived player, room, and match state stays alive.
Let actors own gameplay state
Rooms, players, lobbies, and matches process messages sequentially instead of fighting shared locks.
Show, Don't Tell
Reload rules. Keep state alive.
[HotfixBehaviorOf(typeof(RoomActor))]
public sealed partial class RoomBehavior
{
public ValueTask<JoinRoomReply> JoinAsync(
RoomActor room,
JoinRoomRequest request,
CancellationToken cancellationToken = default)
{
room.JoinedPlayers.Add(request.PlayerId);
return new ValueTask<JoinRoomReply>(
new JoinRoomReply { PlayerCount = room.JoinedPlayers.Count });
}
}
Documentation
Start building in minutes
Create with Lakona Hub
Use the guided desktop workflow to create, inspect, open, and package Lakona projects.
Download Hub โCreate with the CLI
Generate a Unity or Godot starter, build the server and hotfix, validate it, and start the server.
Read the guide โSee a working game
Explore the Agar sample for shared gameplay code, sessions, reliable push, dual transports, and cluster deployment.
Open the sample โ