An attack now hits one zone's internet edge instead of every zone at once, and each zone under fire gets its own incident. The shop is a list of rows with a picture and the numbers that matter.
Changed
Attacks
- An attack lands on one zone. A flood arrives over that zone's carrier lines and hits that zone's router; the other zone's edge, defences and tenants see none of it.
- Each zone under attack gets its own incident. Two zones under fire are two cards, each resolving when its own edge is clear. The incident names the zone.
- A tenant spread across zones keeps serving from the calm one. Only their machines in the attacked zone fail requests, which is what spreading across zones buys you.
- Attacks aimed at a tenant arrive where that tenant lives. A flood drawn by a customer hits the zone holding most of their machines, and another zone can draw fire meanwhile.
- The security board lists each attack with its zone. The attack line reads one row per zone under fire instead of one facility total.
Shop
- The shop is a list, not a pile of cards. Each section shows every item in one scrolling list with a picture on the left and the numbers in columns. No more page flipping.
- Every item says what it is in both voices. The description sits under the name in plain and engineer mode alike; a long one shows in full when you hover it.
- Column headings match your voice. Plain mode reads "Traffic it can carry (Gbps)" where engineer mode reads "Fwd G", and engineer-only columns stay out of plain mode.
Dedicated server
- Unreleased scenarios cannot be hosted. A server refused only single-player scenarios, so the ones locked in the menu could still be served. The scenario itself now says whether it is released.
- Players find a tunnelled server again. A host can name its public address, so Favourites and History record the tunnel endpoint instead of the machine's private one.
- The load line names the mode. A world loaded from a save says whether it runs hard mode, and a `--hard` on that line is ignored and says so.
- A guest's win counts against the server's mode. Joining a hard-mode server now records the win to the hard-mode board, not to whatever the guest's own menu said.
Fixed
- The Arms Race victory screen shows for every earlier winner. v0.1.60 re-armed the campus finish, but a save loaded on v0.1.58 or v0.1.59 was already past its check. Load once and it shows.
- A router with no carrier line shows no internet traffic. Cabled into a firewall's WAN side without a line of its own, it read a steady inbound figure while everything behind it sat idle.
- A zone outage lights that zone's rack. The incident beacon for a dark zone marked the first zone's router whichever zone had gone down.
- The delivery robot's wheels turn the right way. They spun backwards while it drove forwards.
- The delivery robot is there after a move. Relocating to the next site could leave the robot missing until a reload, because the new site's robot was seeded into the old room.
- A second press on a buy button registers. Buying a module twice within a few seconds swallowed the second press, so the purchase took two goes.
- Cable trays show their price. A tray is priced per metre of run and the shop showed $0 for every one.
Notes
- Your saves load. v0.1.60 saves come across; an attack in progress at save time lands on your first zone and still ends on schedule. v0.1.61 saves do not open in v0.1.60.
- Multiplayer needs everyone on v0.1.61. The wire changed, so an older client is refused at join.
- Dedicated server flags. `--public-addr HOST:PORT` is new and dedicated-only.
- Scenario beats can name a zone. `Ddos` and `Attack` scripted events take an optional `az_id`; without one they land on the first zone with a live router.
- API: `ActiveAttackView` gained `edges`, `IncidentView` gained `az_id`. `edges` lists each attack with its zone; `summary` and `components` total across them. A `Ddos` incident's `root_entity_id` is the zone id, not 0.