Connecting to a Remote Solver

Once you have a remote solver server running, connect to it from the IkaSolver GUI to offload computation while browsing results locally.

Connection Settings

Open the Settings drawer (gear icon in the toolbar) and find the Remote Server section.

Remote Server settings section
  1. Enable - Check this box to reveal the connection fields. While a solve is running locally, this checkbox is disabled.
  2. Host - Enter the IP address or hostname of the server machine. For a local network server, this is typically something like 192.168.1.100. For a cloud server, use its public IP.
  3. Port - The port the server is listening on. Default is 9876 unless you specified a different port with --serve.
  4. Token - The authentication token displayed in the server's console output when it started. If you used --token when starting the server, enter that value here.
  5. Click Connect.

The host, port, and token are saved locally so you don't need to re-enter them each time.

Connection Status

While connecting, the button shows "Connecting...". Once connected:

  • The button changes to Disconnect
  • A "Connected" label appears below the button in green
  • A green dot appears in the toolbar, visible from any tab, indicating an active remote connection
Toolbar showing the green remote connection indicator

Unsaved Sim Warning

If you have an unsaved simulation (a completed local solve with results), connecting to a remote server will overwrite it. IkaSolver shows a confirmation dialog:

"You have an unsaved simulation. Connecting to a remote server will overwrite it. Continue?"

Save your sim first if you want to keep it.

Tree Sync on Connect

When you connect, IkaSolver needs to decide which tree to use - your local tree, the server's tree, or neither. A Sync Tree dialog appears based on the situation:

Tree Sync dialog

Use Remote Tree

Pulls the tree from the server to your local GUI. Choose this when:

  • The server already has a tree loaded (e.g., from a previous session or another client)
  • You want to continue working with the server's tree

Push Local Tree

Sends your local tree to the server. Choose this when:

  • You've built or modified a tree locally and want to solve it remotely
  • The server doesn't have a tree yet

Push is disabled while a solve is running on the server. You'll see a note: "Cannot push while solver is running on remote." Wait for the solve to finish or stop it before pushing a new tree.

Auto-Pull

If you don't have a local tree but the server does, the remote tree is pulled automatically without showing the dialog. This is the common case when reconnecting to a server that's already solving.

Skip

Click Skip (or press Escape) to dismiss the dialog without syncing. Both the local and server trees remain as they are. You can sync later by reconnecting.

After Connecting

Once connected and synced, the solver runs on the remote server but the GUI behaves as if everything is local:

  • The SOLVE tab shows live solver stats streamed from the server
  • You can start, stop, and pause the solver remotely
  • Browse results (hand frequencies, strategy grids, HUD stats) - data is fetched from the server on demand
  • RAM estimation is always computed locally based on your tree and settings, but the actual memory usage shown during a solve reflects the server's RSS

If the server already had a solve running when you connected, stats and progress are applied to your GUI immediately and polling starts automatically.

Heartbeat Monitoring

The GUI sends a heartbeat check to the server every 2 seconds. If the server becomes unreachable:

  • The connection status clears (green dot disappears)
  • Remote mode is automatically disabled
  • An error banner appears: "Remote server disconnected"
  • Any running solve stats freeze with the phase showing "Disconnected"

The GUI falls back to local mode automatically. No data is lost on the server side - if the server is still running, you can reconnect and the solver state will be intact.

Error banner showing remote server disconnected

Disconnecting

To disconnect manually:

  1. Open Settings > Remote Server
  2. Click Disconnect

Or simply uncheck the Enable checkbox - this triggers a disconnect automatically.

On disconnect, the GUI returns to local mode. The server continues running and retains its solver state, ready for a new client to connect.