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
온라인 브라우저 기반 실시간 전략 게임
Online browser-based RTS game
게임TypeScript · GLSLGitHub @openfrontio직접 설치운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
OpenFront.io is an online real-time strategy game focused on territorial control and alliance building. Players compete to expand their territory, build structures, and form strategic alliances in various maps based on real-world geography.
This is a fork/rewrite of WarFront.io. Credit to https://github.com/WarFrontIO.
OpenFront source code is licensed under the GNU Affero General Public License v3.0
• Footer: "© OpenFront and Contributors"
• Loading screen: "© OpenFront and Contributors"
Modified versions must preserve these notices in reasonably visible locations.README 전문 보기 ↗OpenFront.io is an online real-time strategy game focused on territorial control and alliance building. Players compete to expand their territory, build structures, and form strategic alliances in various maps based on real-world geography.
This is a fork/rewrite of WarFront.io. Credit to https://github.com/WarFrontIO.
OpenFront source code is licensed under the GNU Affero General Public License v3.0
Current copyright notices appear in:
Modified versions must preserve these notices in reasonably visible locations.
See the LICENSE for complete requirements.
For asset licensing, see LICENSE-ASSETS.
For license history, see LICENSING.md.
Node.js may bundle an older npm version. Upgrade it before installing project dependencies:
npm install --global --ignore-scripts [email protected]
Clone the repository
git clone https://github.com/openfrontio/OpenFrontIO.git
cd OpenFrontIO
Install dependencies
npm run inst
Do NOT use npm install nor npm i for project dependencies. Use npm run inst; it runs the safer npm ci --ignore-scripts to install exactly the versions in package-lock.json without running lifecycle scripts.
The repository also rejects dependency releases less than seven days old and dependencies sourced from Git, remote URLs, local tarballs, or directories. Wait until a new release passes the seven-day window before updating it; security exceptions require explicit maintainer review.
Run both the client and server in development mode with live reloading:
npm run dev
This will:
SKIP_BROWSER_OPEN=true in your environment)To run just the client with hot reloading:
npm run start:client
To run just the server with development settings:
npm run start:server-dev
Sometimes it's useful to connect to production servers when replaying a game, testing user profiles, purchases, or login flow.
To replay a production game, make sure you're on the same commit that the game you want to replay was executed on, you can find the
gitCommitvalue viahttps://api.openfront.io/game/[gameId]. Unfinished games cannot be replayed on localhost.
To connect to staging api servers:
npm run dev:staging
To connect to production api servers:
npm run dev:prod
Format code:
npm run format
Lint code with Oxlint:
npm run lint
Lint and fix code with Oxlint:
npm run lint:fix
Testing
npm test
/src/client - Frontend game client/src/server - Backend game server/packages/engine - Deterministic game simulation (@openfront/engine)/packages/engine-api - The engine's contract: types, schemas, game updates and the worker protocol (@openfront/engine-api)/packages/engine-lib - Engine code also used outside the engine: map grid, rules, helpers (@openfront/engine-lib)/packages/shared - Code shared by client and server: wire schemas, env, asset URLs (@openfront/shared)/packages/zbin - Compact binary wire format for zod schemas (self-contained, zod-only)/resources - Static assets (images, maps, etc.)Contributions and translations are welcome! See CONTRIBUTING.md for the workflow, the approved-issue process, project governance, and translation info.