Описание
# Create Track Map: Fork²
A live web map of your [Create](https://modrinth.com/mod/create) train network, rebuilt for scale. Same map, dramatically faster on huge networks.
> ⚠️ **This is a fork of a fork.** It is **not** the [original](https://modrinth.com/mod/create-track-map) and **not** [AyOhEe's unofficial fork](https://modrinth.com/project/create-track-map-(unofficial-fork)). If your network is small, just use one of those.
## Why this exists
Original CTM was built around full-state polling and a Leaflet SVG renderer. Both fall over past a few hundred track segments. This fork keeps the user-visible behaviour identical and rewrites everything underneath:
- OpenLayers canvas renderer with incremental updates
- Single SSE endpoint with delta updates instead of four full-state streams
- Train motion interpolated client-side; server polls at 1 Hz instead of 2 Hz
- Gzip on the wire, 3-decimal coords, server-side curve flattening
- Per-edge caches and a topology short-circuit so static networks cost almost nothing per tick
Result on a stress test (3000 segments, 200 signals, 20 trains, 5 clients):
| | upstream | this fork |
|---|---|---|
| Wire bytes/s | ~6.4 MB/s | ~3 KB/s |
| Browser ops/tick | ~6000 DOM | ~20 features |
## Compatibility
| Minecraft | Loader | Create |
|---|---|---|
| 1.21.1 | NeoForge 21.1.x | ≥ 6.0 |
| 1.20.1 | Forge 47.1.x (also NeoForge 1.20.1) | ≥ 6.0.6 |
## Wire protocol break
The four `*.rt` SSE endpoints are replaced by `/api/v2/stream`. Legacy REST GETs still work. Third-party clients on the old streaming API need updating.
## Credits
- [**jenchanws**](https://github.com/jenchanws) — original [Create Track Map](https://modrinth.com/mod/create-track-map)
- [**AyOhEe**](https://github.com/AyOhEe) — [unofficial fork](https://modrinth.com/project/create-track-map-(unofficial-fork)) that kept it alive across versions
This fork is by **NexusRealms** and not endorsed by either. **Don't file issues with them about anything in this fork** — report them on our discord