SimhiveSimhive · guide · pool page

Installing the app and joining the pool takes about five minutes; the first SimulationCraft download a few more. Everything below, in order.

How it works

There is no server that sims. Simhive itself is a small broker: it keeps the list of machines, hands out batches and keeps the score. The computing power is the members' own PCs — everyone runs the same Simhive app, and it does two things:

Nobody has to leave a PC on. The app does nothing at all while it is closed, and a member who only ever sims and never lends still gets served — last in line when it is crowded, that is all.

Limits. A sim may be long (a 30-minute dungeon run is fine) but not endless: at most 1800 s of fight, 200,000 iterations per profile, target error no finer than 0.05 %, 20 targets, 1000 profilesets, and a total budget of simulated seconds that refuses the combination that could not finish in reasonable time. Every machine kills a single batch after 20 minutes. These rules are checked on the pool and again on each machine — no client can talk its way past them.

What is measured, and how

What the score does — and does not

Off-peak it does nothing: whoever sims gets the whole pool. Only when more jobs are queued than the pool can run at once, the score orders them: every member's weight is their score plus a free allowance of 150,000 iterations (about one Droptimizer, so a newcomer is not stuck behind everyone), and batches go to waiting jobs in proportion to weight × time waited — a heavy contributor is served first, but nobody waits forever. The score never limits how much you may sim, never blocks anyone, and there is nothing to buy.

Your standing is in the Pool panel of your app: score, given, used, standby, rank. The scores page ranks members by what they gave; nobody sees what anybody else simmed, or used.

Install

1

Download Simhive

Download Simhive Windows 10/11 x64 installer. Linux: AppImage or .deb from the same page. macOS later.

Windows shows a SmartScreen warning the first time ("Windows protected your PC") because the installer is not code-signed by Microsoft — More infoRun anyway. Updates are signed with Simhive's own key and verified before they install.

Check what you download. Every release lists the SHA-256 of each file and links its VirusTotal report. Windows: certutil -hashfile Simhive_x.y.z_x64-setup.exe SHA256, Linux: sha256sum -c SHA256SUMS — the hash must match the one on the release page. The key that signs updates is printed there too, so latest.json can be verified with minisign.

2

Run the installer

Per-user install, no admin rights needed. Simhive starts afterwards and puts an icon in the tray (next to the clock). Closing its window hides it; Quit is in the tray menu.

Simhive starts with Windows (in the tray) so your machine is in the pool whenever it is on — that is the default because a worker that is not running lends nothing. Opt out any time: Simhive panel → This machine → untick "Start with Windows".

Get a token

3

Pick a name, get a token

On first start the window shows the Simhive settings. The pool is already filled in (https://simhive.app). Under New here? type the name you want to be known by in the pool — a character name or a nick — and press Get a token. That is it: the token is saved and the app connects.

A token is per person, not per machine: use the same one on every PC you own (below). See it any time under Settings → This machineShow or Copy next to Your token; that is also what the web sign-in asks for. There is no account and no password — whoever has the token is you, so treat it like one. Lost it? Press Get a token again on a machine that was in the pool before: the pool recognises the machine and hands your own token back — score, name and all. Type a different name there and that is a rename, not a new member. (Joined twice by accident anyway? The operator can merge the two.)

Prefer a web page? https://simhive.app/join gives out the same token; paste it into the Your token field.

First start

4

SimulationCraft downloads itself

The pool runs one exact SimulationCraft commit for everyone. The app fetches that build (about 60 MB, from the public build channel, checksum verified) and the game data, then starts Localbots — the sim interface — inside the window. A minute or two on a normal connection; the settings page shows the progress.

You are in when the header shows Simhive with a green dot and Pool with the number of machines online.

Simming

5

Simming, on the pool

In game type /simc, copy, paste into the Character box. Quick Sim for DPS, Top Gear to compare items you own, Droptimizer for a raid or dungeon, Stat Weights, Rotation to read the priority list. Press Sim it.

The work goes to the pool, split across every machine online, and the numbers come back to your screen; your PC takes part like everyone's. Results and history stay on your disk (History). "Save report" writes a self-contained HTML file to Downloads; Publish next to it puts the same report on the pool as a public link to paste anywhere — with or without your character's name. Your published reports are listed under Settings → Pool (delete any there); one nobody opens for 180 days is removed.

Busy pool? Sims are ordered by what each member's machines gave to the pool over the last 30 days. Nobody is refused; a machine that lends off-peak makes your own sims jump the line on raid night.

More machines

6

Same token, every PC

Install Simhive on your other computers and paste the same token into Your token. Each shows up as you · machine and all of them count for you. Give every machine a name (This machine → Name) so you can tell them apart.

A server, a NAS or a headless box lends cores without the app — see Docker / headless.

Docker / headless

D

One container, with or without the interface

For a Linux server, a NAS or any box without a desktop: the same engine as a container, from github.com/rbardtke/simhive-docker. Nothing to compile — SimulationCraft is fetched at the pool's exact build (35 MB) and follows the pool from then on. You need Docker with the Compose plugin on x86-64 Linux, and your token (step 3, the same one as everywhere).

git clone https://github.com/rbardtke/simhive-docker.git && cd simhive-docker
cp .env.example .env      # put your token in it
docker compose up -d

The one switch in .env: SIMHIVE_INTERFACE=true gives you your own Simhive page on port 4747 (sims go to the pool) and lends the machine's cores; SIMHIVE_INTERFACE=false lends the cores and serves nothing — the machine just works for the pool. Either way it appears under your name, and threads, schedule and pause for it are set like for any other machine of yours (step 7) — from the app on your PC, or from the container's own page if it has one.

Update: docker compose pull && docker compose up -d. The image is rebuilt on every engine change; Settings → Pool says "behind" when a machine should do this. The interface has no login — keep port 4747 on your LAN. On Unraid, Synology or Portainer, paste compose.yml into the stack editor and set SIMHIVE_TOKEN as an environment variable instead of the .env file.

From the browser

W

The same interface, on the pool

Not at your PC? https://simhive.app/sim is the sim interface on the web: sign in with your member token, paste a character, sim — the run goes to the pool as yours, same queue, same standing. It works while a machine of yours is connected to the pool (paused is fine): the web page is what lending gets you, not a way around it.

Nothing is stored on the pool: the result goes to your browser (kept for a day for "Save report" and Publish) and is saved into the History of your connected Simhive machine. Docker members with the interface on keep it too; a worker-only container has no History to keep it in.

Your machines

7

Threads, pause, name — from anywhere

The ⚙ gear top right opens Settings, one category per topic. Pool (also behind the Pool chip) is Your machines: every PC using your token, online or not, with a thread slider, Pause, rename and a schedule (⏱): rules like "weekdays 22:00–08:00: 11 threads" or "Sat–Sun: paused", in that machine's local time — a server that is on 24/7 can lend everything at night and a little by day. Changes apply from the next batch, from any of your machines. Only you can do that — the pool operator sees your machines but cannot touch them unless you allow it (Who may change… in the settings).

Settings → This machine (also behind the Simhive chip) is this PC: its state, the pool connection, updates, Pause lending while you need every core, "pause by itself while World of Warcraft runs", start with Windows.

Updates

Simhive looks for a new version at start and every six hours and asks: the Simhive chip turns amber ("update 0.6.0"), Update now is in Settings → This machine and in the tray menu. It waits for a running batch to finish, installs and restarts.

SimulationCraft follows the pool by itself. When the pool moves to a newer nightly, every machine fetches that build and reconnects — nothing to press, and by design nobody can stay on another build: a Droptimizer split over ten machines must give one answer.

When something is off

"rejected: unknown token"
The token in the settings is not one this pool issued (a typo, or a token from another pool). Get a new one and paste it.
"simc commit differs … fetching"
Normal after a nightly moves: the machine is fetching the pool's build and comes back on its own. Stuck for more than ten minutes: the Simhive panel's log says why (usually the download); it retries every ten minutes.
"not in the pool" / connecting…
Simhive connects outbound to wss://simhive.app/worker on port 443 — nothing inbound, no port forwarding. A corporate proxy or a firewall that blocks WebSockets keeps it out. Reconnect in the panel after a network change.
The window is empty or "starting the engine…" forever
Quit from the tray and start again. Still stuck: the log at %APPDATA%\simhive\simhive.log (Linux: ~/.config/simhive/simhive.log) has the reason; send it to the operator.
Docker: "unauthorized" on pull
The image is public and needs no login; docker logout ghcr.io clears a stale credential that gets in the way. "manifest unknown": your Docker is on ARM — the image is x86-64 only.
Docker: the container restarts in a loop
docker compose logs — usually the token is missing from .env (the compose refuses to start without one) or the pool could not be reached to ask which SimulationCraft build to fetch; it retries by itself.
Web: "none of your machines is connected to the pool"
The web interface sims only while a machine with your token is connected — start Simhive (or your Docker container) on one of your machines; a minute later the page lets you sim. Paused counts as connected.
Everything says 0 it/s
Speeds are measured on real batches, not guessed; after the first few sims the numbers fill in.
My PC is sluggish while it sims
Lower the thread slider (leave two for yourself), or turn on "pause while World of Warcraft runs". Pause lending stops it at once.
Where are my settings and history?
%APPDATA%\simhive\settings.json, data\history, data\simc (the builds). Linux: ~/.config/simhive/. Uninstalling keeps them.

What leaves your machine, what runs on it

Sent to the pool when you sim: gear, talents, spec and fight settings — never the character's name or realm (stripped before it leaves), nothing about you. Results come back only to you.

Run on your PC for others: SimulationCraft on plain-text inputs, one batch at a time, with the threads you allow. Every input is checked first: anything naming a file, a path or the network is refused before simc sees it, and simc itself is a build with networking compiled out. The binary comes from the public build channel at the pool's commit, never from the pool.

Checked both ways: new machines are probed with a known batch, and a share of live work is quietly re-simmed on a trusted machine. Wrong numbers get a machine benched, never into your report.