STOBE / two-PC setup

Remote Hosting Guide

Play Kenshi on one PC and run STOBE's server, models, and speech services on another. Keep the AI stack together and connect the game through one private-network endpoint.

One Game PC. One AI Host.

Run the complete DwemerDistro stack on the host. StobeServer calls the model and speech services there; your gaming PC sends requests and receives replies through STOBE.

01 / gaming PC

Kenshi + STOBE

  • Kenshi, RE_Kenshi, KenshiLib, and STOBE
  • Microphone input
  • Subtitles and voice playback

Private LAN Requests
and replies

02 / host PC

DwemerDistro

WSL ยท Linux environment

StobeServer
Dialogue, profiles, memories, and actions

  • Language modelLLM Studio or cloud
  • Voice generationText-to-speech
  • Speech recognitionSpeech-to-text
The gaming PC reaches StobeServer through one STOBE port. Local model and speech services stay inside the host's environment; cloud providers are reached by the host over the internet.

This layout does not require a second StobeServer on the gaming PC. It also avoids opening separate model, speech, or database ports to the network.

1. Get The Host Working First

  1. Install and start DwemerDistro on the host PC.
  2. Install or update STOBE's server from the launcher's Mods page.
  3. Open the STOBE web interface and complete its setup.
  4. Test your model and voice connectors from that interface.
  5. Leave the launcher and DwemerDistro running while you play.

For local models, use the launcher's LLM Studio component and follow the Local LLM Guide. Choose voice and microphone services using Text-to-Speech and Speech-to-Text.

Keep connector URLs appropriate to the host. For example, bundled LLM Studio in the same distro uses http://127.0.0.1:1234/v1/chat/completions. Do not replace every connector URL with the gaming PC's address.

Moving an existing setup? Back up your existing playthrough data, profiles, configuration, and keys before moving it. A fresh host install does not contain your old AI history.

On the host PC, confirm this page opens before continuing:

http://127.0.0.1:8083/StobeServer/ui/

2. Find Both PCs' Addresses

  1. Connect both PCs to the same trusted local network. Ethernet is useful for consistent audio and upload latency.
  2. Run ipconfig on the host PC and note the active Ethernet or Wi-Fi IPv4 Address.
  3. Run ipconfig on the gaming PC and note its IPv4 address too.

The examples below use 192.168.1.50 for the host and 192.168.1.25 for the gaming PC. Replace both with your own values. The host's Windows address is what Kenshi will use.

These instructions use a Private Windows network profile on a network you trust. If either LAN address changes later, update the forwarding rule, firewall scope, and INI as needed. A router DHCP reservation can keep those addresses stable.

3. Forward One STOBE Port

Forward the host's Windows LAN port 8083 directly to StobeServer inside DwemerDistro. The launcher proxy on 7513 is specific to CHIM; do not use it for STOBE.

Network entry

Host Windows

192.168.1.50:8083

The address used by the gaming PC.

Windows forwarding

Port proxy rule

TCP 8083

Forwards to the distro's current IPv4 address.

Inside DwemerDistro

StobeServer

current WSL IP:8083

Refresh this target after WSL restarts.

One game-to-server connection enters through Windows and reaches StobeServer. Replies return along the same connection.

Verification status: ports and plugin configuration were checked against current source. Two-PC forwarding, restart recovery, and remote gameplay still require end-to-end validation.

  1. On the host, open PowerShell as Administrator.
  2. Inspect existing rules with netsh interface portproxy show all. Do not overwrite a rule for another service.
  3. Run wsl -d DwemerAI4Skyrim3 hostname -I and note the distro's IPv4 address.
  4. Replace both example addresses below with your real host and WSL addresses.
$HostPcIp = '192.168.1.50'
$WslIp = '172.30.98.229'
netsh interface portproxy add v4tov4 listenaddress=$HostPcIp listenport=8083 connectaddress=$WslIp connectport=8083

The rule listens only on the host's LAN address. WSL addresses can change after a restart. After confirming the existing rule belongs to this setup, refresh its target:

$HostPcIp = '192.168.1.50'
$WslIp = '172.30.98.229'
netsh interface portproxy set v4tov4 listenaddress=$HostPcIp listenport=8083 connectaddress=$WslIp connectport=8083

Use the new WSL address, not the placeholder. See Microsoft's WSL networking guide for direct forwarding and optional mirrored networking. Local discovery does not automatically find a host on another PC.

4. Allow The Gaming PC Through The Firewall

In the same elevated PowerShell window on the host, set both addresses to your values. Add a TCP rule for the gaming PC on the Private profile:

$HostPcIp = '192.168.1.50'
$GamingPcIp = '192.168.1.25'
New-NetFirewallRule -DisplayName 'STOBE remote hosting' -Direction Inbound -Action Allow -Protocol TCP -LocalAddress $HostPcIp -LocalPort 8083 -RemoteAddress $GamingPcIp -Profile Private

If you already created this rule, edit it instead of creating duplicates. Other broad firewall rules can still allow additional devices; this rule does not narrow those existing rules.

This guide is for a trusted private network. Do not add a router internet-forwarding rule or open model and database services to make this setup work.

Check From The Gaming PC

Open the host's STOBE interface in the gaming PC's browser:

http://192.168.1.50:8083/StobeServer/ui/

If it does not open, stop here and check the connection before changing Kenshi. In PowerShell on the gaming PC:

Test-NetConnection 192.168.1.50 -Port 8083

TcpTestSucceeded: True confirms that the TCP port is reachable. It does not prove that STOBE or a model is working; the web page must load too.

5. Point Kenshi At The Host

Edit mods/Stobe/StobeCustom.ini under your Kenshi installation. Preserve other settings and change these keys in the existing [Settings] section:

[Settings]
ServerHost=192.168.1.50
ServerPort=8083

Use the host's Windows IPv4 address without a URL scheme. Restart the game after editing. Keep your original values available to return to a local server.

Test One Thing At A Time

  1. Load your game and confirm the host's interface sees the player.
  2. Send a short typed message and check the reply.
  3. Listen to a generated voice reply.
  4. Test microphone input.
  5. Test one action and check the actual game result.

Keep the host awake during play. A working browser page is network proof; dialogue, voice, microphone input, and actions each need their own check.

Fix A Connection

  1. The host's local page fails: start DwemerDistro, confirm StobeServer is installed, and test it on the host first.
  2. Local works, but the gaming PC cannot connect: verify the LAN addresses, Private profile, forwarding target, and firewall's gaming-PC scope. A VPN or guest Wi-Fi can isolate the PCs. Windows' IP Helper service is needed for port forwarding.
  3. It broke after restarting WSL: read the new WSL IPv4 address and update only this setup's forwarding rule.
  4. The web page works, but the game does not: check the custom INI path and section, restart the game, and confirm the resolved address in the plugin log.
  5. Dialogue works, but speech fails: test the host's STT or TTS connector separately before opening additional LAN ports.
Remove the rules created by this guide

On the host, inspect the forwarding rule and the firewall entry first. Remove only the rules you created for this setup; leave other service rules alone. Use the original host address if it has changed:

$HostPcIp = '192.168.1.50'
netsh interface portproxy delete v4tov4 listenaddress=$HostPcIp listenport=8083
Get-NetFirewallRule -DisplayName 'STOBE remote hosting' | Remove-NetFirewallRule

Restore ServerHost=127.0.0.1 and ServerPort=8083 in StobeCustom.ini when returning to a local server.

Alternative: Move Only The AI Services

You can keep StobeServer on the gaming PC and host only a model or voice service elsewhere. In that layout, each remote service needs its own reachable address, listening port, and firewall access.

Configure those endpoints from StobeServer's point of view. A bundled service bound only to the host's loopback address is not automatically available over the LAN. Follow the separate model app instructions or the selected service's hosting documentation.

Use the complete-stack layout above when you want one STOBE connection and fewer individual service settings.