Underground 2 Revived
Play Need for Speed: Underground 2 (2004) in Chrome and Firefox with WebGPU graphics, Web Audio, up to 120 fps widescreen, controller support, free roam and Online races with friends. Fan project, not
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證OpenSRO:使用 Go 編寫的 Silkroad Online v1.150 伺服器和 WebGPU 瀏覽器客戶端
AI 翻譯
OpenSRO: a Silkroad Online v1.150 server in Go and a WebGPU browser client
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
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.檢視完整 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.