# RA2WEB deploys a web Red Alert site in a browser tab

> RA2WEB is a JavaScript asset package for a browser-based Red Alert, also called ChronoDivide, that you can fork onto GitHub Pages or push to EdgeOne or Vercel, with a window.werhd console API for scripted play. The licence allows personal and hobby use only and requires the project name to stay visible, so it does not fit a commercial site.

**ra2web/ra2web.github.io** — 网页红警一键部署包/chronodivide asssets。网页红井预览版测试站点，帮助各类爱好者一键搭建自己的网页版“红警”站点，助力营销和知识分享

- Repository: https://github.com/ra2web/ra2web.github.io
- Website: https://ra2web.github.io/
- Stars: 559 · Forks: 308
- Language: JavaScript
- License: NOASSERTION
- Published: 2026-10-22 · Updated: 2026-10-22 · Language: en
- Canonical page: https://hysenlabs.com/projects/ra2web-ra2web-github-io

## A static asset package, not a game engine

The repository is a deployment bundle for a browser Red Alert, also referred to as ChronoDivide, and the README calls it a one-click deployment package rather than a game engine or a source project. What sits in the tree matches that description: index.html as the entry point, js/ and sim/ for the client code, res/ for assets, style.css, a favicon.ico, a manifest.webmanifest, and a set of JSON control files including config.json, mods.json, servers.json, updates.json, version.json, official-map-redirect.json and mix-checksums.json. Because the result is a set of static files with a service worker at ra2web-sw.js, it can be hosted anywhere that serves files, which is the whole point of the project. The topic tags and the openra, ra, ra2 and webra2 labels line up with that: this is the web port of the classic real-time-strategy formula, packaged for the browser.

## The licence rules that shape every deployment

The most consequential part of the project is its licence, which is a custom one that GitHub cannot classify. The terms are stated twice, once in Chinese and once in English, and the English notice says the project is provided for personal research and hobby use only. Any deployment, distribution, demonstration or republishing must clearly keep one of the project names, and must not remove, hide or replace them. Commercial use is strictly prohibited without written authorization from the copyright holder, REDHASH Co., Ltd. The definition of commercial use is broad: paid usage, ad monetization, commercial hosting, licensing, commercial integration, commercial deployment services and promotional or commercial campaigns. The practical reading is that a hobbyist server and a company marketing a game portal are treated very differently, and a fork that monetizes through ads is outside what the licence permits even if the assets are unchanged.

## Three ways to get a site online, none of them a build step

Deployment is described in three flavours. The first is GitHub Pages: fork the project, name the fork something like yourname.github.io, and the domain rules work out, since the project name already follows that pattern. The upstream preview site is reachable at https://ra2web.github.io. The second is Tencent EdgeOne Pages, and the third is Vercel, which the README links through its import button pointing at this repository as a template. None of these routes involves a build pipeline, a package manager or a compile step, because the thing being deployed is already the finished client. The sponsor arrangement explains the hosting options: the README states that CDN acceleration and security protection for the project are sponsored by Tencent EdgeOne, and edgeone.json sits in the repository root as the configuration for that deployment path.

## The window.werhd console and what it exposes

Once a match is running, the browser developer console exposes window.werhd, described as a way to read the local view and to issue the same lockstep commands that a mouse would. The README points to docs/player-console-api.md for the full API, return values, enumerations and examples, and to docs/examples/werhd-user-script.mjs for a reference loop. A downloadable TypeScript declaration file, werhd-player-api.d.ts, is provided at the repository root. The documented capability set is specific: targeting an exact object, a tile or a bridge surface, deployment posture, passenger and garrison state, and local camera movement. A query for a unit that no longer exists returns undefined. In other words, this is a scripting surface for observed local state plus commands, not a way to patch the simulation, and a script written against it will behave the same way in any host that serves the same files.

## Reading and driving the game from a script

The README's own example is short enough to be worth reading closely:

```js
werhd.help()
const mcv = werhd.units('self').find((unit) => ['AMCV', 'SMCV', 'CMCV'].includes(unit.name))
werhd.deploy([mcv.id])
```

The first call asks the API what it can do. The second asks for the units belonging to the local player and picks the first entry whose name matches a list of construction vehicle identifiers, and the third deploys it by identifier. That is the shape of the whole interface: query a collection, filter it in ordinary JavaScript, then act on the id you found. The lockstep framing matters for anyone writing automation, because commands are delivered the same way the mouse delivers them, so the timing and ordering constraints of the game's own network model still apply to a script, and a script that acts faster than a human can will not get a different bargain from the simulation.

## Where the project stands and what is still unfinished

The release history shows v0.86.0 on 2026-08-23, preceded by v0.78.0-prvt.6 on 2025-12-14 and v0.77.0 on 2025-10-18, and the last push was on 2026-10-18, so the tree is being worked on even though the version numbering has moved in an uneven way. The README also states the delivery status plainly: this is a stage delivery, and cross-map victory under a fixed strategy along with live verification of every special action remain on the to-do list. Two linked documents track that work, docs/jev-player-goal-audit.md for stage acceptance and outstanding items, and docs/jev-player-local.md for local Jev integration. A reader should treat the completeness claims carefully: the site plays, and the console API is documented, but the project itself says full scenario coverage is not yet verified.

## Where this deployment package is the wrong tool

Three exclusions. The first is commercial use, which the licence prohibits without written authorization, so a marketing site, a paid community or a monetised stream of the game is out of scope unless the copyright holder has agreed in writing. The second is anyone who needs a permissively licensed asset base: the custom licence is neither MIT nor a standard permissive grant, and its naming and use conditions will not pass an automated compliance check. The third is a team that wants to build a game rather than host one, because the repository contains the client and the assets, not a general engine for original work; the res/ and sim/ tree, the fixed map redirect file and the checksum manifest are all about shipping one specific game, not about extending it. Compared with running the desktop original or a native port, the browser route trades local hardware control for a link you can share, and it inherits the CDN and hosting constraints of whichever static host you pick.

## Conclusion

RA2WEB is a good fit for a hobbyist or community maintainer who wants to run a public web Red Alert instance in an afternoon, using a static host and a fork, and who is willing to keep the project name on the page. It does not fit a commercial deployment, a monetised fan site, or a team that needs a permissively licensed asset base, since the custom licence restricts use to personal research and hobby purposes and bars ad monetization, commercial hosting and paid use without written permission from REDHASH Co., Ltd. Check three things before you publish anything: that your hosting plan is a personal one, that the RA2WEB name stays visible on the deployed page, and that your own scripts only read the window.werhd API rather than reaching into game internals, because the console surface is documented in docs/player-console-api.md and the reference loop lives in docs/examples/werhd-user-script.mjs.

## FAQ

### What is RA2WEB and what does the repository contain?

It is a one-click deployment package for a web-based Red Alert, also called ChronoDivide, published as a preview test site. The tree holds index.html, js/, sim/, res/, style.css, a service worker and JSON control files such as config.json, mods.json, servers.json, updates.json and version.json.

### Can I use RA2WEB commercially or monetize a deployment?

No, not without written authorization from the copyright holder, REDHASH Co., Ltd. The licence covers personal research and hobby use only, and the prohibited list includes paid usage, ad monetization, commercial hosting, licensing, commercial integration, commercial deployment services and promotional campaigns.

### How do I deploy the RA2WEB site myself?

Fork the project and name the fork after your GitHub Pages domain, or deploy it through Tencent EdgeOne Pages or Vercel, where the README links an import button using this repository as a template. There is no build step, since the repository already contains the finished client.

### What is the window.werhd API used for?

It is a console API available once a match is running, used to read the local view and to issue the same lockstep commands a mouse would. The full API is documented in docs/player-console-api.md, with a reference loop in docs/examples/werhd-user-script.mjs and a TypeScript declaration at werhd-player-api.d.ts.

### Does the RA2WEB project name have to stay visible on a deployment?

Yes. The licence requires that any deployment, distribution, demonstration or republishing clearly keeps one of the project names, and that the name must not be removed, hidden or replaced.

## Sources

- [Issues](https://github.com/ra2web/ra2web.github.io/issues)
- [Project website](https://ra2web.github.io/)
- [ra2web/ra2web.github.io on GitHub](https://github.com/ra2web/ra2web.github.io)
- [README](https://github.com/ra2web/ra2web.github.io/blob/main/README.md)
- [Releases](https://github.com/ra2web/ra2web.github.io/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/ra2web-ra2web-github-io
