StarRaid

An open-source, server-authoritative 2D space sandbox — an Eve Online–style persistent sim, simplified to two dimensions.

A galaxy of sectors linked by jump gates. Ships whose abilities come entirely from the modules you bolt onto them. One simulation authority, a persistent world, and bots that play by exactly the same rules as humans.

Rebuilt from scratch periodically since ~2005. This is the newest iteration.

What is the game?

You command an object — a ship, station, drone or depot — adrift in a shared, persistent 2D universe. The galaxy is a graph of sectors joined by jump gates, with a security gradient from safe core space to lawless frontier.

Your ship is its modules

An object has no fixed stats. Speed, hull, power, sensors, jamming, cargo and weapons are all derived from the modules you install. What your ship is emerges from its module mix.

Server-authoritative

One server owns the simulation and validates every action. Open-source clients and bots are safe because the server, not the client, decides outcomes.

See only what you sense

The world is interest-managed: you hear about a neighbour only when your sensors beat their jammers and they're in range — not the whole map.

Factions & contracts

Factions hold territory, standing and goals, and post contracts — the unit of work in the world — for agents to accept, complete and get paid for.

Bots are first-class

NPCs are headless bots that connect over the very same wire protocol as a human client. There are no privileged messages — fork the reference bot to automate your own account.

A living world

The server simulates an active slice and lets dormant areas sleep, fast-forwarding them when you return. PostgreSQL is the single source of truth — the world survives restarts.

Project status

This is an early, in-progress rebuild. The infrastructure has been solved many times over 20 years; the goal this time is to make one combat + AI loop genuinely playable early.

Components

StarRaid is a multi-repo project. Each component is its own independent git repository with its own README and justfile; they share only the contracts between them.

Setup

Every component is an independent, open-source repository with its own README and justfile. Clone the ones you need side by side and build each on its own. You'll want Go 1.26+, Docker, protoc and just.

# clone the components you need, side by side
git clone git@github.com:xuedi/starraid-protocol.git protocol
git clone git@github.com:xuedi/starraid-server.git   server
git clone git@github.com:xuedi/starraid-npc.git      npc

Build and run the server:

cd server
just install                      # wire this module to your local protocol checkout
just db-up                        # start PostgreSQL
STARRAID_DEV_SECRET=dev just run  # run the server

In another terminal, connect the reference bot — it speaks the same protocol as a human client:

cd npc
just install
just run -server localhost:60000 -user dev -secret dev

Each Go component finds the shared protocol bindings through a local, configurable path — no fixed checkout layout required. See each repo's README for details.