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,即可验证所有权并自行管理介绍。
一分钟完成验证Shared virtual table for D&D 5e (2024): GM, player and table-screen views in one live session
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
A virtual tabletop for playing D&D 5e (2024 rules) around a real table. The GM runs the game from a
laptop, players use their phones, and a TV shows the battle map to the room. It runs on your own
computer over Wi-Fi: no subscription, no cloud account, and your campaign stays in one folder.查看完整 README ↗A virtual tabletop for playing D&D 5e (2024 rules) around a real table. The GM runs the game from a laptop, players use their phones, and a TV shows the battle map to the room. It runs on your own computer over Wi-Fi: no subscription, no cloud account, and your campaign stays in one folder.
| Player's sheet | Player's map | Table display |
|---|---|---|
| Preparing a scene | Knowledge base | Campaign wiki |
|---|---|---|
New here? Read the user guide: setting up a session, playing a character, and everything the GM can do. The same docs are on the website: https://dntatme.github.io/dnd-table/.
You need Node.js 22.5 or newer (24 recommended) and
pnpm. With Nix, nix develop provides both.
git clone https://github.com/dntAtMe/dnd-table.git
cd dnd-table
pnpm install
pnpm build
pnpm start
The server prints the addresses to open:
dnd-table server listening on 0.0.0.0:3000 (data: …/dnd-table/data)
Open on this computer: http://localhost:3000
Open on your network: http://192.168.0.12:3000
Players on the same Wi-Fi open the network address on their phones. Create an account, start a campaign (you become its GM) and share the invite code from the sidebar. The user guide covers the rest.
Set these as environment variables, e.g. SIGNUP_CODE=dragons pnpm start.
| Variable | Default | Meaning |
|---|---|---|
PORT | 3000 | HTTP port |
HOST | 0.0.0.0 | Interface to listen on (127.0.0.1 keeps it off the network) |
DATA_DIR | data | Where the database and uploads live (relative to the repository) |
SIGNUP_CODE | (none) | If set, creating an account needs this code. Set it on any public server |
COOKIE_SECURE | false | Set to true when served over HTTPS |
LOG_REQUESTS | false | Log every HTTP request |
Everything is in data/: one SQLite database (dnd-table.db) and uploaded images and audio
(uploads/). To back up, copy the folder while the server is stopped. To upgrade, pull the new
version, then run pnpm install, pnpm build and pnpm start again; the database is migrated
automatically on start.
For remote players, run it on a server behind an HTTPS reverse proxy that passes WebSockets through. With Caddy, which fetches certificates by itself:
table.example.com {
reverse_proxy 127.0.0.1:3000
}
HOST=127.0.0.1 COOKIE_SECURE=true SIGNUP_CODE=your-secret pnpm start
Uploads are limited to 30 MB per image and 50 MB per audio file, so allow request bodies that large if your proxy limits them.
pnpm install
pnpm dev # Vite on :5173 (open this) + API server on :3000, both reloading on change
pnpm test # rules engine and server integration tests (vitest)
pnpm typecheck
pnpm screenshots # regenerate docs/screenshots from a seeded demo campaign
pnpm site # build the website (site/ and the docs) into _site/
pnpm screenshots builds the client, starts a throwaway server with a demo campaign and drives
headless Chromium through it. It needs Playwright's browser once:
pnpm exec playwright install --only-shell chromium.
apps/server Fastify + WebSockets + SQLite (node:sqlite): accounts, campaigns, the live game
apps/web React + Vite client: GM, player and table display views
packages/rules The 2024 rules shared by client and server: dice, grid and fog, walls and movement,
vision, area templates, characters, combat, monsters, the knowledge base index
packages/protocol REST bodies and WebSocket messages (zod schemas and types)
scripts SRD import and screenshot tooling
The server is the source of truth. Clients send intents ("roll 2d20kh1+3, GM only", "move this token
here"); the server checks them, resolves them and sends each connection only what its role may see.
The database migrates itself on start-up (PRAGMA user_version).
All rules content (classes, subclasses, species, backgrounds, feats, equipment, 339 spells,
341 monsters, 262 magic items, conditions and more) comes from the System Reference Document 5.2,
via the 2024 dataset of 5e-database. The rules glossary
(Advantage, Cover, Opportunity Attacks and 137 more) comes from the SRD 5.2.1, via
dnd-5e-srd-markdown, checked against the official
PDF. scripts/import-srd.mjs reads both at pinned commits (the glossary also by SHA-256) and writes
normalised JSON to packages/rules/src/srd/data, so the data is reproducible and reviewable:
pnpm import:srd # same commit → byte-identical output
To update, change COMMIT in the script, re-run it and review the diff. The importer repairs encoding
glitches and hyphenation from the PDF, patches known gaps explicitly, and fails if the data stops
making sense.
The SRD includes one subclass per class and four backgrounds; other official options aren't part of it.
This work includes material from the System Reference Document 5.2 ("SRD 5.2") by Wizards of the Coast LLC, available at https://www.dndbeyond.com/srd. The SRD 5.2 is licensed under the Creative Commons Attribution 4.0 International License, available at https://creativecommons.org/licenses/by/4.0/legalcode.
This work includes material from the System Reference Document 5.2.1 ("SRD 5.2.1") by Wizards of the Coast LLC, available at https://www.dndbeyond.com/srd. The SRD 5.2.1 is licensed under the Creative Commons Attribution 4.0 International License, available at https://creativecommons.org/licenses/by/4.0/legalcode.
The code is released under the MIT Licence. The SRD content is under CC-BY-4.0 as noted above.