About the Game
You don't manage a datacenter from a spreadsheet. You walk it.
Uptime puts you on the floor of your own cloud provider, first person, hands on the hardware. You buy the servers and carry them to the rack. You seat them with a click. You run the cable off the spool yourself, find the port, watch it lay across the floor, and power the thing on. Then you sign your first customer and find out whether any of it holds.
Underneath the floor is a real simulation. Every server, switch, cable and port is a live entity in a deterministic engine, and the network genuinely switches and routes traffic across it. Power and cooling are budgets you can blow. Capacity is hardware that fills up. When something breaks, it breaks because the model says it should, and the fix is usually the one a real engineer would reach for. That was the whole goal: a build-it-with-your-hands tycoon sim that still holds up if you do this for a living.
Get it running, then keep it running. The moment traffic arrives, the simulation starts pushing back.
You're running the cloud, not a server room.
You own the full stack. The metal, the network, the services you sell, and the customers whose product lives on your kit. You're the thing they build on, so everything running on you is yours to keep alive, from the single box in the garage to a floor other companies depend on.
Your customers bet their business on you.
The tenants have names, and they hand you their product expecting it to stay up. Reputation is the currency underneath all of it. You earn it slowly and you can lose it in one bad night, and the bigger the customer, the harder that fall lands. Sign a deal you can't carry, pack one host too tight, sleep through an SLA breach at 2am, and the cost isn't only the money. It's the trust that was about to send you the next customer.
So every yes is a wager on whether you can carry the new weight without dropping what you already hold. Turning business away is sometimes the correct call. The tenants you keep won't sit quietly either. They surge, they haggle, they show up with deadlines. Keep them happy and they say so out loud, and they bring friends.
What you sell is infrastructure you actually run.
Customers don't rent "a server." They spin up the things a real cloud sells: virtual machines, object storage, managed databases, Kubernetes, load balancers, serverless functions. Each one is a service you operate. Behind every service is a control plane you have to keep alive and an agent on each host that does the work, and all of it competes for the same compute your customers are paying for.
That's where the network grows teeth. Cut a service off from its control plane and it starts to fail. Lean on one too hard and it buckles. Capacity runs out, the network can partition the very services you're selling, and the way you lay it all out is what separates a provider that holds from one that tips over.
The simulation is the game.
This is where the word "simulation" gets earned. Every device on your floor is a real entity in a deterministic engine, and every LED you see is reading its live state. A link saturates because the math saturated it. A rack goes dark because a fault domain you never thought about turned out to be a single point of failure.
Ports, cables, power draw, fault domains, oversubscription, link aggregation, spanning tree, BGP, mean-time-between-failures. These are the model, not labels stuck on a progress bar. Cable a redundant link the wrong way and spanning tree either saves you or, if you got it backwards, the whole floor drowns in a broadcast storm. You can ignore the depth and still win. You can also lean all the way into it.
The customers talk to you.
They live in a chat channel that reads like the ops Slack you've spent years in. They onboard, ask for more capacity, complain when latency spikes, and tell you in their own words when the change you made three minutes ago just took their service down.
Incidents don't ship with severity tags attached. Severity comes out of how many customers you're hurting and how badly. A flapping link nobody depends on is a shrug. That same link under your biggest tenant is a page in the middle of the night.
Two ways to read the same machine.
Never touched a rack? NPC mentors walk you in, and one key toggles jargon mode, flipping the whole interface between plain language and the real terminology over the exact same systems. "Spread these across separate failure zones" and "fix this single-AZ SPOF" are the same instruction. You pick up the real words by playing instead of reading a manual. Already know what oversubscription costs you? The depth was there the whole time. Turn the training wheels off.
Set the difficulty. The hard runs won't let you off.
One difficulty setting, Easy, Standard or Hard, re-tunes the entire simulation from a single neutral baseline, and you can move it mid-run. Push it up and the reputation ledger turns crueller: slower to earn, quicker to lose, less willing to forgive an incident. The authored hard scenarios set their own floor, so the slider can make them tougher but never softer.
Garage-to-Glory is one story, not the only one.
The campaign takes you from a single server in the garage to your own data center floor, growing through a basement build-out and into a room you fill and defend. That's one scenario. Run the hard-mode variant. Survive Data-Loss Day. Hold the line through Under Attack. Or drop into open sandbox and build with no rails at all. Scenarios are plain, readable files, so the community can write their own starts, disasters and constraints and drop them straight in.
This is Early Access. The data center floor is built to grow: add rows and cages to expand it, spread your customers across separate zones, and build real multi-region resilience by hand. More hardware, bigger scenarios and hyperscale scale are on the road ahead.
For the engineers.
You already know whether we mean it. Here's what's under the hood:
Typed ports and cables, with real LAG / link-aggregation across member links
Managed L2 and L3 switches forming an actual switching fabric, not one abstract "network" stat
RSTP that converges, elects a root bridge and blocks redundant ports; loop the network and it storms
Oversubscription that bites when you cheap out on uplinks
Fault domains and single points of failure that are computed, not painted on
Reachability chains from host to switch to demarc to uplink, gating every allocation
Every service split into a control plane and per-host data-plane agents; partition them and it goes headless
Power draw and wear modelling, so hardware ages and degrades instead of tripping a random death timer
Capacity modelled as workload shapes fitting host shapes rather than a scalar bar
Reputation as an asymmetric ledger, with a capacity-fit check before you ever sign
A deterministic engine: same seed, same run, every time, headless-testable and replay-stable
Built honestly.
A deterministic Rust engine runs the simulation, and the renderer only ever shows you what the engine already decided. Nothing gets faked for the camera. Scenarios and mods are human-readable files. Windows, macOS and Linux from day one.
Uptime is in Early Access. The full loop is here and playable now: campaign, sandbox, hard modes, and the customer and service simulation underneath them. Early Access is where the breadth grows on top of that, more places to build, more hardware, more scenarios, and steady polish across art, audio and onboarding, with the direction shaped by what players push on, the infra crowd most of all.
Features
First-person, hands-on - walk the floor, carry the hardware, run the cable. You're in the room, not hovering above it.
Cabling as a hero mechanic - run every link by hand, with typed connectors, enforced reach and bend radius, and a live edge that carries traffic. Pull it and something goes dark. The way Factorio makes belts feel good.
Customers as commitments - reputation earned slowly and lost in an instant, every signup a bet against the capacity you can see.
A real cloud to run - VMs, storage, databases, Kubernetes, load balancers and functions, each with a control plane and data-plane agents on your hosts.
A simulation that pushes back - ports, power, fault domains, spanning tree, oversubscription and BGP are the actual model.
Emergent incidents - severity comes from real customer impact, not scripted labels.
Readable for anyone, honest for the pros - one-key jargon toggle over the same systems, no manual required.
Difficulty you control - live Easy/Standard/Hard that re-tunes everything, and hard scenarios that won't soften.
Breadth of play - campaign, scenario variants, open sandbox, and drop-in community scenarios.
Deterministic and mod-friendly - same seed, same run, plain-text scenario files.
Screenshots
10 imagesVersion Information
Steam Patch Notes
Official update history
Fixed
Performance
- Workload moves no longer freeze large sites. Draining a server now runs without the game stalling every few seconds.
- Cable changes no longer freeze large sites. Laying, pulling or re-seating a cable still moves traffic onto the new routes straight away.
- Renaming a device no longer freezes the game. The new name still shows at once on the Network page.
Customers
- A Kubernetes cluster short of a node now gets it. The game places the missing node on any server with room, instead of waiting for room to rebuild the whole cluster.
- The capacity note names a real server. It states what the closest server is short of, instead of reading 0 beside servers with room.
- Diagnose says where a customer's copies are stacked. The Copies kept apart row names the machine, rack or zone and how many copies stop if it fails, for every service.
Security and networking
- A SIEM plugged into a powered-off switch no longer counts as working. It stops meeting a customer's audit-logging requirement until the switch is back on.
- Two services of one customer on one bonded server keep their own traffic split. The server's link loads now match the traffic each service sends.
Notes
- Saves load both ways. No save fields changed.
Fixed
Networking
- Restored or new cabling carries traffic straight away. Pulling one of two redundant links and putting it back left all traffic on the other until a reload, congesting it into SLA breaches.
- Workload moves no longer raise saturation alerts. A move only uses bandwidth customers leave spare, so a link it fills still shows as full, but only customer traffic opens an alert.
Capacity and moves
- Servers no longer fill up with room nothing uses after a load. While moves ran after loading, the game counted their GPU room again every tick until the fleet read full and turned workloads away.
- Workloads left short come back straight after loading. The game places anything short of its contract, of any service type, once your network is up, not at the next hourly check.
- Overbooked servers shed the extra within the hour. This covers memory, disk and GPU. Workloads move to servers with room, and one using GPU room that does not exist restarts once there is room.
- Moves take their room when they start. A waiting move no longer holds space, and the game replans one whose target filled up while it waited.
- No more stacks of "move stuck" messages. The game replans drains, spread repairs and rebalances that cannot start, without a message. A degraded spread or an unfinished drain still shows on the customer or server.
- Large sites move workloads faster. Only 4 moves could run at once across the site. Now up to 16 start each tick, and each server still limits how many it sends and receives.
Shop and CDN
- On Hard, the shop quotes the monthly price you are charged. Lines, licences, cable, peering and flood protection showed the normal price while Hard billed double, so a 25G line listed at $4,000 cost $8,000.
- Multi-AZ CDN customers get an edge cache in every zone. They held one cache for the whole site, so one zone going down took them offline and they could never meet their Multi-AZ requirement.
- A new zone gets its CDN cache within the hour. Once you rack a server in it, every Multi-AZ CDN customer adds a cache there without a reload.
- The prospect card sizes a CDN at the caches it will place. It used to ask for four full copies of the origin at every site.
Lessons
- The "Security, again, on its own box" lesson waits for the basement. It opened in the garage, where the shop sells no security appliance, so nobody could finish it there.
- A security appliance running intrusion blocking completes the gateway lesson. Players who already own one are no longer told to fit the smaller gateway add-on.
- The security appliance lesson names the right next step. An appliance still in its crate now counts, and a powered one without intrusion blocking sends you to its Inspection tab instead of its power socket.
Notes
- Load once to heal. Every server's booked room is recounted from what is placed, stuck drain, spread and rebalance moves are dropped and replanned, and Multi-AZ CDN customers gain their missing caches.
- The appliance lesson leaves the garage on load. A garage save showing it drops the lesson, and it opens again when you reach the basement.
- Saves load both ways. No save fields changed.
- Monthly price fields changed meaning on Hard. Shop and line `monthly_cost_dollars`, licence and flood protection `monthly_dollars` and cable `monthly_per_m_dollars` now carry the charged price, which is double the list price on Hard.
Added
Flood protection
- A new Flood protection page is listed under Internet. It shows the capacity you are protecting, what is being scrubbed right now, what still reaches your lines, and the plans your site can buy.
- Garages and basements can buy a Proxy plan for $20 a month. It scrubs a flood of any size before it reaches your line.
- Colocation and campus sites buy Transit in Base, Advanced or Premium. Every tier scrubs a flood of any size. A better tier lets less through to your firewall and adds less delay to your traffic.
- Transit is priced on the lines you have bought, plus the clean traffic you receive. The fee steps up as your lines pass 25, 50, 100 Gbps and beyond; the page shows the next step.
- A little of every flood still gets through. It is a small share of each zone's line, never enough to fill it, and your gateway firewall, add-ons and security appliances handle it.
- The plan ends when you move site. You buy protection again at the new site, and the move page reminds you.
Changed
- Small sites no longer get smaller floods. The size limit on attacks against single-zone sites is gone, so an unprotected site takes the full flood.
- Multi-AZ and Replicated customers run the VMs they ask for. A customer asking for 13 VMs now runs 13, not 26, spread across zones or hosts. Their bill and prospect card estimate drop to match.
- Workloads split evenly across zones. Placement now fills the zone holding the fewest of a customer's workloads, then spreads that zone's share across hosts, so splits like 20 and 6 no longer happen.
Fixed
- The switch traffic chart shows all the traffic the switch carries. Traffic between two servers on one switch charted at half its rate, and the chart now matches the port table under it.
- Rebalancing no longer leaves a workload stuck when a free host exists. A worker stayed put with "Needs 17 separate zones" while another zone had a host with room, and now it moves.
- Spread warnings no longer ask for one zone per workload. Workloads share zones evenly, so a stuck move now names what blocks it instead of asking for more zones than your site has.
- A line on its own router no longer shows as standby. With two routers holding one line each, both lines carry traffic, and both now show as active.
- The uplink policy setting is disabled when it changes nothing. Backup line and Use both at once only differ on a router with two or more lines, and the setting now tells you so.
- A stuck move now says why. "Server X stuck (no_target)" told you nothing; the toast now names the real reason, like no other server has enough memory or no other zone has room.
Notes
- Saves load both ways. A v0.1.68 save loads without a flood protection plan.
- Load once to heal. Multi-AZ and Replicated customers lose their extra VM copies on load, starting from the fullest zone. Their other VMs keep running.
- Version lock. The game and a dedicated server must both be on v0.1.69.
- New snapshot fields. Flood protection adds a section with the offered plans, and attack data adds a per-zone split of what was aimed, scrubbed and arrived.
- Switch totals changed meaning. `total_egress_gbps` and `total_ingress_gbps` are now the sum of the switch's own port rows, so server-to-server traffic reads at full rate instead of half.
Changed
Failure and recovery
- Losing a machine costs you capacity, not your customers' demand. The workloads that survive pick up the requests the dead one was serving, so they run hotter and answer slower until you replace it.
- Survivors under extra load can fail in turn. If they cannot absorb what they inherit, the overload spreads to the machines and links they depend on.
- The load goes back when the machine returns. You do not need to move anything to recover it.
- A customer's card shows how many workloads are answering. It also counts the degraded ones, so a fleet one failure away from an outage no longer reads as healthy.
Traffic priority
- Live requests now come before bulk copying. A database catching up a read replica, an object store rebalancing and a CDN filling a shard all yield to traffic a customer is waiting on.
- Health checks always get through. A load balancer's probes have the highest priority, so a busy link cannot make it decide a working server is dead.
- A database's standby copy keeps its priority. The customer's write is not finished until the standby has it, so it counts as live traffic rather than catch-up.
Speed
- Big datacentres run about three times faster. A save with nearly a thousand servers and a thousand customers now takes a third of the time per step, so it keeps up at higher game speeds.
Serverless
- The serverless pool shows requests turned away instead of a queue. Requests no longer wait in line. The panel counts the ones the pool had no room for and shows what a cold start cost.
Fixed
Game clock
- Time no longer stops after you switch windows. The game pauses only while the pause menu or the end-of-run summary is on screen, and it resumes when you close them.
- The setting that paused the game when it lost focus is gone. The game keeps running while another window has focus.
Network
- Two servers on wide bonds no longer crash the game. Traffic between two machines that were each bonded across several links could stop the simulation. That traffic now spreads across the paths it has.
- A brief spike no longer opens a link congestion incident. A link has to stay congested for several checks in a row first, so a card no longer appears and clears within a second.
- Pulling the last lead from a bond removes the bond. An empty bond used to stay on the switch and report itself failed, raising incidents you could never clear, with no broken cable to find.
- Bond incidents you cannot explain clear when you load. Loading clears any of those stuck reports on your save, along with any that a disbanded bond left behind.
- A flood spreads across every line your gateway shares traffic on. One line used to take all of it while another sat idle, and a Failover backup carries none until it takes over.
- Random floods at a one-zone site no longer exceed its lines. They now stop at 80% of what those lines can receive, while a site with a second zone online still takes full-size attacks.
- At a one-zone site, a random flood leaves room on your Failover backup. The game sizes the flood to your smallest line, so the backup has headroom when it takes over from a failed primary.
- Server-to-server traffic uses every path between two machines. Each conversation between two workloads picks its own route, so a customer running many workloads no longer sends all of it down one.
Customers
- A recovered customer's p99 no longer sits at 2 seconds for hours. The SLA figure now covers the last five minutes and the live figure the last minute, so both return to normal within minutes.
- A broken spread promise shows the numbers that broke it. The finding now shows the service over its limit, measured the way the contract asks, instead of totals that made a broken promise look kept.
Racks
- A device console draws over the rack panel behind it. The rack's side panel used to sit in front of a console you had just opened and take every click in that strip.
Notes
- Your saves load, but new ones do not go back. Saves from v0.1.67 and earlier open normally. The save version is now 58, so a game saved here will not open in an older build.
- Load once to pick up the new congestion timing. Existing saves kept the old, too-short timing, and loading replaces it. Nothing moves and nothing goes down.
- Loading clears each customer's latency history. Old saves carried hours of it. The figures refill within five minutes of play, and a latency incident that was open stays open until the customer recovers.
- The two p99 fields on a customer record changed meaning. `p99_latency_ms` covers the last five minutes and `p99_recent_ms` the last minute. Both now rank every request, counting a failed request at the timeout.
- Client and server must match. Both need to be on v0.1.68.
- A customer's detail record gains two fields. They give the number of workloads answering and how many of those are degraded.
Added
Moving workloads
- Moves happen over time, and you can watch them. A move copies storage to the new server and then switches over, and shows each step as waiting, copying or landing.
- Every move goes through one queue. That covers a move you make by hand, a maintenance drain, a new customer's servers and a failed server's restarts.
- A failed server's workloads jump the queue. They restart ahead of everything else and come back everywhere at once. Only a workload with nowhere to go is lost.
- A move never slows customer traffic. It takes only capacity nothing else is asking for, so a large copy pauses the moment a customer's request needs the line.
- Every move appears in a list as it lands. Each entry names the workload, where it came from, where it went, and why one that could not move stayed put.
Spread rules
- The Deployment tab tells you what one failure would take out. It names the worst case in plain numbers, such as "If Zone 1 fails, 20 of 26 stop", and updates before you commit.
- Every service now spreads by one rule. Virtual machines, Kubernetes workers, object store shards and database copies all follow the stricter of the contract and your own setting.
- You can see a customer's spread request before you sign them. The prospect card states it, and the Deployment tab shows it beside your setting so you can see which one binds.
Hardware
- A 400G security appliance goes on sale at the campus. It forwards a terabit and inspects 400 Gbps, more than double what the border box handles.
Fixed
Moving workloads
- A move that gets refused now tells you. Cordoning a machine while a workload is still copying to it used to stop the move silently. It now reports as stuck, with the reason.
- A move that can find no route tells you as well. It used to give up out of sight after repeated failed attempts, leaving the workload where it started.
Network
- A busy trunk between zones keeps one incident. Its elapsed time used to reset and its load figure jump whenever the busier direction of cross-zone traffic changed over.
- A split port reports the speed its leads can actually carry. A 40 Gbps port fanned into four now reads 10 Gbps per lead rather than 25, so its saturation warnings arrive when they should.
- Traffic now uses every lead in a bond. Server-to-server transfers, Functions traffic and switch-to-switch trunks each used to run over a single cable, so a bonded link moved at one cable's speed.
- A bought line that was never patched in reads dead everywhere. It no longer inflates your totals or growth room, and no longer passes as backup when a carrier cuts your real line.
- Free internet capacity reads right on every line. Two idle lines used to show zero free. The game now reads each line's real capacity directly instead of inferring it.
- Congestion stays where it happens. A full cable no longer alarms workloads that never touched it, a busy server no longer drops a neighbour's requests, and an idle link no longer inherits a switch's load.
- East-west traffic no longer reads zero during an attack. The game used to work it out by subtracting internet traffic from the total, which a blocked flood collapsed. It now measures the traffic directly.
- A switch's traffic chart counts server-to-server traffic. It followed the uplink only, so a switch busy moving traffic between your own servers stayed flat while its ports showed load.
- Traffic under 1 Gbps shows its real number. The wallboard used to round it down to 0.0 no matter how much was moving.
- A security appliance reports the speed it can deliver. Its forwarding readout quoted the raw chip rating even when the internet lines behind it were narrower, so it disagreed with the warning beside it.
- A modular switch's fabric meter counts the cards it has. The bar read the chassis nameplate instead of the fabric cards seated, so it showed room while the switch was already full.
- A breakout trunk can no longer promise more bandwidth than its port carries. The shared pool reported a stale figure that exceeded what the physical cage carries.
- The game now counts both gateways when two land in the same zone. The second one used to disappear from the total instead of adding to it.
- A bond refuses a ninth lead. Adding one more cable than a bundle can carry fails at once, and the game shows you why.
Customers
- Workloads land on separate machines by default. A new customer no longer arrives on one machine with an empty Deployment card, and that default never costs goodwill or leads to probation.
- The game judges a customer only on what their contract asks. Setting a stricter spread yourself no longer marks their requirements unmet or puts them on probation.
- A spread promise counts as a share, not one copy per place. Twenty workloads across two zones means ten each. It used to demand twenty separate zones and report short forever.
- The Deployment tab and the Health page agree. Both read the contract the same way, and an unmet requirement names the spread level in plain words.
- Rebalancing reports what it did. Pressing Apply used to say nothing moved while it was moving them, because two instructions raced each other.
- Workloads move between racks whose networks depend on each other. The move used to stall because it found no route. It now completes, and the tab warns that a failure there takes both.
Billing
- Traffic and billed egress use the correct network unit. Live figures fall about 2.4 percent and billed egress rises about 4.6 percent. You were being under-billed.
- Content delivery, object storage and load balancing now bill correctly too. Their egress was under-charged by about 4.9 percent. Upstream transit cost for the same bytes rises with it.
- A quote matches the bill it turns into. Every service projected its egress with the wrong unit, so quotes read about 4.9 percent under what the meter actually charged.
- A busy service stops inflating your line usage. Demand a machine could never deliver used to reach the upstream meter, so a healthy line could read saturated.
- A service that stops serving bills once more, then nothing. Residual billing used to continue past the point a service went dark, so it charged for traffic that never left.
- Upstream transit cost follows the bytes you deliver. Under congestion, cost stayed high while revenue fell, so your margin read too low. Both now use the same basis.
- Money and time read the same on every panel. Revenue matches between screens, elapsed time reads one way, and a negative amount shows its minus sign before the dollar sign.
Notes
- Your saves load, but new ones do not go back. Saves from v0.1.66 and earlier open normally. The save version is now 57, so a game saved here will not open in an older build.
- Per-device traffic counters left saved games. They never appeared on any screen, so nothing you can see changes.
- Client and server must both be on v0.1.67. The wire moved, so a v0.1.67 server refuses a v0.1.66 client and the other way round.
- Traffic and billed-egress fields changed meaning, not shape. `egress_gbps`, `ingress_gbps` and billed GB now use the network's decimal convention, so the same field can report a different number for identical bytes.
- Upstream transit cost changed basis. `CostKind::TransitEgressGb` now meters bytes that reached the wire rather than the projected figure, so network cost reads differently under saturation.
- `forwarding_ceiling_gbps` now follows the WAN chain for security appliances. It used to read the raw chip rating even when the internet lines behind it were narrower.
- A switch's totals now include its server-to-server half. `total_egress_gbps` and `total_ingress_gbps` add it. `egress_gbps` and `ingress_gbps` are unchanged and stay uplink only.
- A server's network alarm fires only for its own port. `HostNicSaturated` used to fire, and inflate its shortfall, from a bottleneck further downstream.
- A dead link reports no throughput. Every published port and device rate reads absent once traffic stops, where it used to hold a tiny stale value forever.
- New fields for spread and moves. `east_west_gbps`, `edds[].status`, `fault_ask_grain`, `fault_ask_max_share_pct`, `spread_grain_in_force`, `contract_grain`, and `spread_repair.moves[]` carrying `unit_name`, `from_domain`, `state` and `progress_pct`.
- Two new events. `WorkloadMoveLanded` fires when a workload lands, and `WorkloadMoveStuck` fires when one cannot move, with the reason.
- Five unread fields are gone. `switches[].uplink_capacity_gbps`, and `appliances[].wan_ingress_gbps`, `wan_egress_gbps`, `lan_ingress_gbps` and `lan_egress_gbps`. Nothing on any console read them.
- The ninth-lead refusal has a stable code. `lag_max_members`, with the message "A bundle can carry at most 8 leads at once. Unplug one before adding another."
Added
Between buildings
- A full link between buildings raises an incident. Each direction of each trunk is its own alarm, with guidance and the customers crossing it, and it clears when the link has room again.
- The laptop and the router show the trunks. The Network page lists each pair of buildings with traffic out and in, a router's console shows the trunks it ends, and the wallboard shows the total.
- A rack cabled into another building's switch says so. Its hosts share that building's fault domain. The rack's info panel and the Network page's lamp name the building, and the API carries it.
- Inter-building traffic is in the API. Every pair of buildings reports its trunk both ways over REST and as per-lane Prometheus gauges, and the top bar carries the inter-building total.
- A 200 G carrier line is on the menu. Carrier Wavelength sits between the 100 G peering circuit and the 400 G wavelength, so a campus building climbs 25, 100, 200.
Customer traffic
- Customer traffic grows with the customer. Most tenants send bigger responses as they mature, each toward its own limit and never past it. Media, patch and dataset customers grow most. A blog barely grows.
- Your internet lines set the pace. A tenant only grows into a share of the line capacity your site has lit, so a garage on one line never grows a customer it cannot carry.
- A server with a full network port tells you. When its tenants send more than its links carry, an incident names the box and the fixes: bond ports, fit a faster module, move the tenant.
- Four heavy customers join the roster. A video origin, a backup vault, a dataset hub and a live-events broadcaster arrive near a gigabit and grow into servers with bonded 25 G ports.
Monitoring
- Your dashboards can read the whole site now. Prometheus gains the fabric traffic, the north-south and east-west split, host counts by state, memory and disk, the cable fleet and the internet ceiling.
- Prometheus names what caps your internet speed. A gauge reports whether your lines, your routers or an inline firewall is the limit, and carries all three figures beside it.
Learning the game
- Lessons walk you through the early game. The first takes an empty garage to a working network a step at a time. Ten more cover tenants, the laptop, services and outgrowing the room.
- Lessons about things going wrong arrive when they go wrong. The repair lesson waits for a part to fail, the security lesson for your first attack, the redundancy lesson for an outage.
- Highlights point at the next thing, then stop. The cue that teaches you to sign a tenant does not ring again for the next four, and comes back if you stall.
- Finished lessons stay in Knowledge, and Settings can turn them off. One switch hides the panel and the library, another stops the highlights. Both start on.
Changed
- Traffic between buildings crosses a trunk per pair. Servers in different buildings talk over the trunk between them, load its routers, take its latency and lose requests when it fills. Before, only replication crossed it.
- The campus handoff is 4 x 200 G. Each building now terminates 800 G of lines, up from 400 G. Existing lines and patches carry over at the speed of their router port.
- Traffic grows against the building's own lines. A tenant grew toward a share of every building's lines while its traffic could only leave through its own. Each building now bounds its own tenants.
- Everyone on a full server port shares it. Each tenant on a saturated server loses the same share of its traffic. Before, whichever tenant the game reached last lost all of it.
- Growth waits while a server port is full. A tenant whose server port clips its traffic stops growing until you fix the port, then carries on.
- The opening steps are lessons, not quests. Buying a rack, the gateway and your first server left the quest list, so you read each step once instead of in two places.
- Quests are goals you are working toward. Earning your first $5,000, racking three servers and moving to the basement stay. Anything that was teaching you the controls moved to a lesson.
- The Services page appears with your first tenant. It used to wait for somebody to ask for something that was not a VM, so you could not see or manage the service you already had.
- The quest panel shows five at a time. Finished quests roll off once a third is ticked, so the list stays short. The header still counts every quest you have.
- The Cart button turns orange when it holds something. An empty cart and a cart with three lines in it now read differently at a glance.
- Moving to a bigger site no longer needs a reputation score. Monthly revenue and customer count decide every move. Reputation still counts toward winning and toward which customers approach you.
- Growing customers pay for what they send. The meter counts every byte as before, so a tenant at three times its starting traffic bills three times the transfer.
Fixed
Network
- Console tables sort figures by value. Sorting the switch fabric by Load/Cap ranked a 9 Gbps switch above a 78 Gbps one, since it compared text. Every figure column now sorts by its number.
- The busiest-hosts load reads against the server's real port speed. It read the busiest server as 100% whatever its links, so a box on two bonded 25 G ports looked full at 950 Mbps.
- A tenant's failed requests name a full server port. Traffic that did not fit a server's network port used to vanish from every readout. It now shows as its own cause on the customer's card.
- Cables through a patch panel show their traffic. Hovering a lead on either side of a panel read nothing while the switch it fed showed the traffic. Every port along the run now reads it.
- Each building link on the network map reads its own traffic. Every link showed the site's whole inter-building total and one busy link lit them all. Each now shows its two directions.
- Bonds onto a switch pair work from any device. The console refused two uplinks onto a pair's two members as different devices. The pair now counts as one partner, as for servers.
Ops console
- The Networks page counts the customers your tier rules place. A network with a Gold rule read no customers and flagged every unpinned Gold tenant as a leak. Members and leaks now follow the rule.
- Accepting a prospect says where the default network puts them. The isolation choice read Shared network whatever your tier rules said. It now names the network the matching rule will use.
- A customer's page no longer shows empty before its details arrive. Opening a tenant could briefly show no services and no money while the console was still fetching them. It now waits.
- A server's shop row shows its power draw again. The rebuilt Shop dropped the rack height and power columns from servers alone, so a row ended on its network ports. Both are back.
- A quest reward names the quest. Finishing a quest printed its internal title key in the reward message. It now prints the quest's name.
Workloads
- Workload names are short again. A bucket, cluster, CDN or load-balancer row read its class and a seventeen-digit number. It now reads the class and a plain count, like obj-4207.
- Migrate moves the workload you clicked. On a bucket, cluster, CDN or load-balancer row the move could name a neighbour, so the engine refused it or moved a sibling. It now names the exact one.
- The move-workload picker scales memory and disk. It read a workload's needs as raw megabytes, so a big database showed a seven-digit figure. It now reads in GB or TB like the console.
Notes
- Your saves load. Saves from v0.1.65 and earlier load unchanged, and every customer starts growing from where it is.
- Load once to renumber. A save that lived through an August bug carries some workload ids in the wrong range. Loading once moves them back. Nothing moves, no downtime.
- Client and server must both be on v0.1.66. The network protocol moved, so a v0.1.66 server refuses a v0.1.65 client, and the other way round.
- The trunks endpoint is new. `/api/v1/network/trunks` lists each pair of buildings with a lane each way. Prometheus adds `uptime_trunk_lane_gbps`, `uptime_trunk_lane_drop_probability` and `uptime_trunk_up`.
- A server's real network speed is in the API. `hosts[].effective_nic_gbps` is its bonded ports' combined speed when teamed, otherwise its cable's negotiated speed. 0 until the first update after a load.
- Two fields name the buildings. `racks[].fabric_az_id` is the building whose switch the rack's hosts are wired to, and `inter_zone_gbps` on the top bar is the traffic between buildings.
- The region's backbone figures now total its trunks. `backbone_load_gbps` sums every lane of every pair, `backbone_saturated` is true when any lane is, `backbone_drop_p` is the worst lane, and `backbone_capacity_gbps` is one lane's capacity.
- API: `guidance`'s teaching fields changed shape. `enabled`, `lesson_id`, `title`, `blurb`, `step_index`, `step_count`, `nudge_tier` and `quest_id` are gone. It now reports open teaching arcs: `arcs_enabled`, `hints_enabled`, `arcs`, `focus`, `blocker_condition` and `tier`.
- `guidance.label` still carries a translation key, not English text, the same contract quest text already resolves through, and now names the blocker rather than the step.
- `guidance` says how many are left, and which console tab to open. `blocker_short_by` and `blocker_of` are how many the blocked step still needs and how many it asked for. `console_tab` names the tab to highlight.
- `guidance.console_page` names a laptop page to highlight. It is the nav rail's page id, and empty when the step's work is not on a page.
- `blocker_short_by` and `blocker_of` now report counts for tenants, workloads and repairs. They covered servers alone and reported zero for everything else.
- A new command records a laptop page opening. `NoteOpsPageOpened` carries the page id, matching `NoteConsoleOpened` for devices. It is how lessons about finding an answer complete.
- A new section lists finished teaching arcs. `arc_library` holds every closed arc grouped by concept, for the Knowledge page, and updates only when one closes.
- A new command toggles teaching arcs. `SetArcsEnabled` hides or shows the arc panel and the Knowledge library. It is what the Settings switch sends.
- Nineteen Prometheus gauges are new. They cover fabric traffic, the host fleet by state, memory and disk, the cable fleet, one-time revenue and the WAN ceiling. `/api/v1/metrics/catalog` lists every one.
- The nameplate is not the ceiling. `uptime_uplink_capacity_gbps` is the billed sum. The new `uptime_wan_effective_gbps` is what the site delivers, and it is the one to divide by for utilisation.
- Operating cost excludes hardware. `uptime_cost_total_dollars` now says so in its help text. Buying a server does not move it, because the spend reaches the accounts as depreciation. Revenue minus this figure is not profit.
- Reputation runs 0 to 1. Its help text called it a score, so a dashboard reading `uptime_reputation` as 0 to 100 shows 0.7 where it means 70%.
Added
Ops console
- The ops console is rebuilt. Every page is one laptop screen from the same parts: a status badge on each row, meters, a sentence saying what needs you, and the numbers behind it on Tab.
- Big fleets stay readable. Lists show 15 rows at a time in a stable order, search the whole roster by any word, and filter through dropdowns you can type into, each narrowing the others.
- Hosts show live CPU load and allocation separately. The meter is what workloads draw now. Allocated is the reserved share, which can pass 100% on an oversold server that is not yet contended.
- Host pools and networks have their own page. A host pool names who it serves and which service. Assign servers to it, and pin customers from the network's drawer or the customer's.
- Network reads your fabric, Internet reads your lines. Network's header is the traffic your servers carry, with fabric use and hot switches. Internet's header is line load against the ceiling your lines and routers set.
- Diagnose the whole site from Home or Incidents. An incident's own Diagnose opens the tenant it hits, or the site check when no tenant is named.
- The shop's cart is an order pad. One drawer holds the lines with prices, where the order lands, the total and Place order. Add leaves it closed, and the catalog scrolls under its tabs.
- Incidents open as steps. Find the cause, get the part when one failed, repair, recover. Each step lights when done and offers its one verb, with the timeline beside it.
Wall displays
- The wall displays are rebuilt as six channels that fit the screen. Security, Finance, Network, Alerts, Capacity and a new Internet channel. Each is one figure, a meter and four instruments in the console's style.
- Network shows your fabric, Internet shows your lines. Network reads the traffic your servers carry, split north-south against east-west. Internet reads WAN out and in against your ceiling, lines, routers and attacks.
- The Alerts channel shows only whole rows. It shows as many incidents as fit its band, spread evenly, so the list never runs into the instruments below it.
Changed
- Yanking a cable takes a quarter-second hold. It was the two-second destructive hold. Tray and hook removal keep the long hold.
- Servers talk to each other more. Traffic between a tenant's own machines is now about half of everything your fabric carries, up from a third, so leaf and spine links fill sooner.
- The fleet traffic totals no longer jump. Total, north-south and east-west on the Network channel and the console header ease toward a new level over a few updates, so one burst no longer steps it.
- Carrier line throughput streams only while the console is open. Each line's traffic used to travel in every world update to every player. It now arrives only while a screen that shows it is up.
Fixed
- Opening a chat, a customer or the map no longer freezes the game. Each used to re-send the whole world and stall a tenth of a second. Now each sends a small update.
- A large campus no longer stutters four times a second. The game recounted the console's fleet totals every tick, console open or not. Now it waits for the console, and the server counts online hosts.
- A server still in your hands no longer counts as dark gear. The console's dark-gear count included unmounted machines, so a delivery in progress read as an outage.
- A router no longer sits idle for the life of your site. With few servers one of an equal pair carried nothing while its twin carried everything. Every tenant now takes its own path.
- A router's port to the security gateway shows the noise it forwards. It read idle on a router carrying no customer traffic, and its twin's port read high by the same amount.
- Storage rebalancing no longer runs on one clock. Every bucket burst together on one timer, so the fabric readout stepped up and back in rhythm. Each now bursts on its own schedule.
- A database on a server's workload list is named as one. Managed database rows read vm-30696, as if they were plain machines. Every row now carries its own kind and number.
- The migrate picker reads memory and disk in the unit you would say. It printed the raw megabyte count, so a large database read "1048576 MB RAM". It now reads "1 TB RAM".
- Setting an item down names the zone you know. The message printed an internal zone number, so on a campus it read "AZ 5" for the third building, as if the item had gone nowhere.
- Servers bought before v0.1.64 now match the shop card. The Memory 2U Dual, Memory 2U, Compute 2U Dual and Mainframe 7U you already owned kept their old cores, power, running cost or category.
Notes
- Every server you own carries its current spec on load, wherever it is. What you paid stays on the books, and a server too full for a smaller shape keeps its own.
- Outbound traffic re-balances across your routers once on load, and a tenant's path moves only when the tenant does. No hardware moves and nothing goes down.
- Your saves load. Saves from v0.1.64 and earlier come across unchanged.
- v0.1.64 cannot open a v0.1.65 save. Once a save has been loaded here, older builds refuse it.
- Client and server must both be on v0.1.65. The network protocol moved, so a v0.1.64 client is refused by a v0.1.65 server and the other way round.
- Two API fields are gone. `egress_gbps` and `ingress_gbps` on each carrier line under `edds`. The same numbers are on the metric stream as `edd:<id>:uplink:<n>:egress_gbps` and `edd:<id>:uplink:<n>:ingress_gbps`.
- One API field is new. `topbar.online_host_count`: the number of servers that are powered, up and reachable through a live line, the same test as each host's `online` flag.
- Thirteen more `topbar` fields are new, all fleet totals. `fabric_egress_gbps`, `fabric_ingress_gbps`, `north_south_gbps`, `contended_host_count`, `warm_host_count`, `fleet_mem_pct`, `fleet_disk_pct`, `busiest_host_id`, `busiest_host_load`, `busiest_host_label`, `racked_host_count`, `cable_count`, `failed_cable_count`.
Added
- Three customers who want memory, not cores. A scale-out database, a cache fleet whose nodes hold no disk, and an analytics tenant whose database needs more memory than any ordinary server holds.
- Three new servers. A Memory 1U, an ARM 1U Dual so a low-power fleet reaches past basic work, and an Everyday Dual for the gap between everyday and high-memory.
Changed
Servers
- Every server now sits where its name says. Compute boxes carry compute memory, everyday boxes carry everyday memory, and each dual-socket version carries a step more. No two servers are the same machine.
- The High-Memory Dual has twice the cores. It was 64 cores against 4 TB, so the memory could never be filled and the box sat half empty. Now 128, and the 4 TB is reachable.
- The low-power line grew. The ARM 2U doubles to 64 cores, and both ARM duals carry more memory, so a low-power fleet is no longer stuck serving only the simplest work.
- Five servers draw less power, three draw more. Draw follows what a box holds, so a compute server costs a rack much less than before and a memory server a little more.
- The everyday 2U costs what it holds. It carries half the memory it did and four terabytes of disk, and its price now reflects both rather than only its cores.
Customers
- No customer demands an uncontended processor any more. No real provider sells one, so the requirement is gone. How hard you oversell is yours alone to decide, on the one fleet dial.
- The fintech and core banking tenants ask for a private server instead. They pay for hardware nobody else touches, which is the thing a provider actually sells.
- A customer's page is five tabs instead of one long scroll. Health, their stuff, performance, money and messages, so what a tenant needs is a glance rather than a hunt.
- Customer requirements now say whether each one is met. Contract terms, service level and growth are separated, and every term carries a Met or Not met verdict instead of a symbol.
- Where a tenant runs now names the zone. Machines are grouped by zone, so a tenant spread across buildings no longer looks like one stacked in a single room.
- You can spread a tenant's copies out from its own page. The action sat only on the incident card, so choosing a fault isolation setting looked like it did nothing.
- A customer's message history fills its tab. It was a sixty pixel window inside a page-long scroll, showing about two messages at a time.
Shop
- The shop shows fewer spec columns on a narrow screen. The least useful columns drop off the right as room runs out, so the name, price and Add stay in view at any size.
- Shop descriptions use the room their page leaves spare. A page whose spec columns are narrow now gives that width to the description instead of leaving it blank.
Fixed
- Quitting to the title screen no longer crashes the game. The world left a pause-state hook behind when it closed, and the next tick from the server could run it against nothing.
- Confirming a two-tap action no longer crashes the game. Arming a host's Quit to title, a save deletion, or any click-again button left a timer running that could fire after the panel closed.
- Ordering from the shop no longer crashes the game. The Buy acknowledgement and the cart quantity box both left a timer behind that could outlive the page you set it on.
- The shop's price, buy buttons and cart no longer sit off the screen. They were clipped away on any window short of full width, so the shop often could not be bought from.
- Shop descriptions no longer print outside their row. The second and third lines fell through onto the row below, and the text was cut short even where there was room for it.
- Ops console pages no longer run off the right edge. Headline numbers, sub-tab strips and caption text wrap to fit, so nothing is cut away at any window size or interface scale.
- A customer's page fits whatever the tenant is called. Evict tenant, the performance charts and the message cards were pushed out of view by a long name.
- The mouse no longer sticks in the top-left corner. Above 100% interface scale, with a controller plugged in, the pointer pinned itself to the corner in menus.
- Touching the mouse takes control back from a controller. The pad steers the pointer only while you are using it, and a plugged-in pad no longer moves it on its own.
- Server info cards show the right specs. Nine listed the wrong cores, memory, disk or power. The everyday 1U and 2U, both large storage servers and the low-power 1U had never matched what you bought.
- Opening a customer with no incidents no longer shows the last one's. The list kept the previous customer's rows, so a healthy tenant looked like it had an open incident.
Notes
- Load once and your fleet is corrected. Servers that fit the new memory keep running untouched. Any that no longer fit are traded in, free, for a bigger one.
- Nothing is charged and no server loses cores. A trade-in always keeps the machine's core count and its rack height, so nothing you were running gets less processor than it had.
- Only three servers hold less memory than before. The Compute 1U and 2U and the Everyday 2U. Every other change adds memory or cores.
- Low-power servers you already own get bigger, free. The ARM 2U doubles its cores and memory and the ARM Dual doubles its memory. You keep what you paid, and the new size applies on load.
- A server keeps what you paid for it. Trading one in does not change its purchase price on your books.
- Your saves load. Saves from v0.1.63 and earlier come across.
- v0.1.63 cannot open a v0.1.64 save. Once a save has been loaded here, older builds refuse it.
- Scenarios still decide what you can own. An ARM-only run is never handed an x86 server, and a trade-in is refused outright if your site has not unlocked the replacement.
- The uncontended pool is removed from your save. The segment the game made for it goes on the same load, along with its network id, and any server pinned there rejoins the fleet.
- A tenant that needed a 1:1 processor now reads as needing a dedicated server. Open "cannot be served" incidents are relabelled on load, and clear themselves if they no longer apply.
- The Uncontended compute article has left the encyclopedia. Overselling CPU and Private servers cover what is left of the subject.
- Three API fields are gone. `requires_uncontended` on customers and prospects, and `uncontended_hosts_available` on prospects. Nothing replaces them, the requirement no longer exists.
Fixed
- Alt-tabbing back into the game no longer crashes. Menus left a text-repaint hook behind when they closed, and the next language or engineer-mode change could run it against a menu that no longer existed.
- J-hooks, risers and rack-top managers are priced per piece. The v0.1.61 shop stamped "per metre" on every cable-management item; only trays and floor runs are sold by the metre.
Shop
- Shop columns line up. The description takes the width your screen has, the numbers sit in one block that starts in the same place on every section, and Logs and Add-ons no longer collide.
Dedicated server
- A Sandbox server starts where you say. `--site basement`, `--site small_colo` or `--site small_campus` beside `--scenario sandbox` builds the sandbox at that site, the same choice the New Run screen offers. A server sandbox was locked in the garage before.
Notes
- Your saves load. v0.1.62 saves come across unchanged.
- Dedicated server flags. `--site ID` is new and applies to `--scenario sandbox` only.
- v0.1.62 and v0.1.63 can play together. The wire did not change.
Fixed
- You can walk and look again after loading in. v0.1.61 counted a hidden debug overlay as an open menu on every shipped build, so the cursor was never captured and movement stayed frozen.
Notes
- Your saves load. v0.1.61 saves come across unchanged.
- v0.1.61 and v0.1.62 can play together. The wire did not change, so a mixed session still joins.
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.
Fixed
- Large sites no longer crawl. Since v0.1.53 every port light flicker re-sent its whole device to every player; a full campus fell below 10 fps. Lights now ride the telemetry cycle, plugs show at once.
- Arms Race finishes at the campus for players who won before it existed. Keep Playing on the old finish no longer disarms the new one, so the victory screen and the hard-mode unlock arrive.
- A campus robot takes its own building's lanes. Stood at the last row, its console listed the next building's rows and drove it there.
- J-hooks go up after a move. Placing a cable tray at the data center or campus refused with "AZ #1 not found" on any run that had relocated.
- Comms channels load when you pick them. At the campus, choosing a channel or customer waited for the next notification before its pane painted.
- An object-store growth ask says what it asks for. A "+2200 GB" request was the whole bucket restated; the card now shows the disk the ask adds across its copies.
- A storage ask the fleet has no disk for is refused, not applied. Approving it used to grow every copy past what any server could hold; the card now says to add hardware first.
Notes
- Your saves load. v0.1.59 saves come across unchanged.
- An old Arms Race win re-arms on load. If your campus already meets the finish, the victory screen shows once on that load. Keep Playing afterwards holds as before.
- Multiplayer needs everyone on v0.1.60. The wire changed, so an older client is refused at join.
- API: `PortFlowView` gained `activity`, `DeviceFlowView` gained `ports_complete`. `PortView.activity` changed meaning: current only as of its view. The live band is on the flow row; a port absent from a complete row is idle.
Current Release
Build 25689511
Uploaded Oct 04, 2026
System Requirements
How to Install
Uptime.exe to play
Troubleshooting tips
• Run Redist/_CommonRedist installers if game won't start
• Add folder to Windows Defender exclusions
• Run as administrator
Download
Direct link available
Needed when extracting (WinRAR / 7-Zip) — not a site login.
You May Also Like
View AllDownload Uptime: A Cloud Provider Sim for PC with a direct link or via torrent. Get the full version of Uptime: A Cloud Provider Sim for free. Uptime: A Cloud Provider Sim is a Indie released by RubyRack Games.