BeamNG.Earth
A 1:1 scale streamed Earth for BeamNG.drive: real elevation and satellite imagery, floating origin, LOD streaming from a companion server
Silkroad Online v1.150, Legend III, rebuilt for the browser. OpenSRO closed beta.
GamesGo · JavaScriptGitHub @opensro-devOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
OpenSRO: a Silkroad Online v1.150 server in Go and a WebGPU browser client
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
A Silkroad Online v1.150 (Legend III) server written in Go and a WebGPU browser
client, plus the asset pipeline that turns a licensed client installation into
browser- and server-ready data.
To run it locally, follow docs/GETTING_STARTED.md.
Ignored and local only: .generated/ (all generated game data), .state/
(caches and locks), .tools/ (pinned binaries such as Nomad), temp/ (scratch
output), node_modules/.
Retail game media is never committed. The asset build reads a licensed
extraction next to the checkout; see
docs/ASSET_PIPELINE.md.Read the full README ↗Silkroad Online v1.150 (Legend III), rebuilt end to end as open-source software for the browser.
OpenSRO is a complete game stack, not just an emulator:
Behaviour is ported from the original game, not guessed: the v1.150 client defines what exists, and server rules follow the original server's instructions. Reverse-engineering evidence (function addresses) sits right next to the code that ports it.
💬 Questions about the code? Join our Discord.
The full walkthrough, with the exact tool versions, is docs/GETTING_STARTED.md. In short:
corepack pnpm install --frozen-lockfile
corepack pnpm assets prepare
corepack pnpm assets build full # about 6 minutes on 16 cores, once
corepack pnpm task build server-game-data
go -C apps/server run ./cmd/operations/sro-nomad dev-agent
go -C apps/server run ./cmd/operations/sro-nomad deploy -build
corepack pnpm dev and open http://127.0.0.1:5180. 🎉Only changing code, not game data? corepack pnpm check source runs the CI gates with no game data at all.
| Folder | What's inside |
|---|---|
🎮 apps/client-next/ | The browser client: TypeScript, WebGPU, Vite |
⚔️ apps/server/ | The Go Agent and GameWorld, Nomad jobs, operator docs |
🛰️ apps/server-observatory/ | Operations dashboard, with optional authenticated player recovery |
🧰 scripts/ | Asset pipeline, repository checks and the pnpm task runner |
📚 docs/ | Setup, architecture, asset pipeline and design notes |
🩹 patches/ | Dependency patches applied by pnpm |
Local only and ignored: .generated/ (all generated game data), .state/ (caches and locks), .tools/ (pinned binaries such as Nomad), temp/ (scratch output) and node_modules/.
Retail game media is never committed. The asset build reads an extraction of your own client next to the checkout; see docs/ASSET_PIPELINE.md.
| Command | What it does |
|---|---|
pnpm dev | Client dev server on http://127.0.0.1:5180 |
pnpm assets prepare | Extract your client into extracted/ |
pnpm assets doctor | Check the game root, extraction and build tools, with a fix for each problem |
pnpm assets build full | Full asset build, outdoor world included (assets build reuses the last outdoor world) |
pnpm check source | The CI gate; needs no game data |
pnpm --filter @sro/client-next check | Every client gate |
pnpm check | Every gate, including the asset-dependent suites |
pnpm task list | Every task with its prerequisites |
New here? Start with CONTRIBUTING.md: setup, the native-first rule, how to put new ideas behind a flag, and what a good pull request looks like. Then pick an issue labelled good first issue or say hi in #🛠️contributing on Discord.