CHIM / two-PC setup
Remote Hosting Guide
Play Skyrim on one PC and run CHIM'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. HerikaServer calls the model and speech services there; your gaming PC sends requests and receives replies through CHIM.
01 / gaming PC
Skyrim + CHIM
- Game and SKSE plugin
- Microphone input
- Subtitles and voice playback
Private LAN Requests
and replies
02 / host PC
DwemerDistro
WSL ยท Linux environment
HerikaServer
Dialogue, profiles, memories, and actions
- Language modelLLM Studio or cloud
- Voice generationText-to-speech
- Speech recognitionSpeech-to-text
This layout does not require a second HerikaServer on the gaming PC. It also avoids opening separate model, speech, or database ports to the network.
1. Get The Host Working First
- Install and start DwemerDistro on the host PC.
- Install or update CHIM's server from the launcher's Mods page.
- Open the CHIM web interface and complete its setup.
- Test your model and voice connectors from that interface.
- 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:7513/HerikaServer/ui/
2. Find Both PCs' Addresses
- Connect both PCs to the same trusted local network. Ethernet is useful for consistent audio and upload latency.
- Run
ipconfigon the host PC and note the active Ethernet or Wi-Fi IPv4 Address. - Run
ipconfigon 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 Skyrim 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 CHIM Port
The launcher has a local CHIM proxy on port 7513. It finds the current WSL address for each connection. Windows can forward the host's LAN port 8081 to that proxy.
Network entry
Host Windows
192.168.1.50:8081The address used by the gaming PC.
Local relay
Launcher proxy
127.0.0.1:7513Windows forwards to this fixed local address.
Inside DwemerDistro
HerikaServer
current WSL IP:8081The launcher resolves this internal address.
Verification status: the launcher's local proxy and CHIM configuration paths have been checked. Forwarding a second PC through this proxy, recovery after WSL restarts, and remote Skyrim gameplay still need end-to-end validation. Test the route below before relying on it for a play session.
- On the host PC, open PowerShell as Administrator.
- Check your existing rules with
netsh interface portproxy show all. If this address and port already have a rule, inspect it before changing anything. - Set the host address below to your real IPv4 address, then add the forwarding rule.
$HostPcIp = '192.168.1.50'
netsh interface portproxy add v4tov4 listenaddress=$HostPcIp listenport=8081 connectaddress=127.0.0.1 connectport=7513
The rule listens only on that host address. Keep the launcher open: it provides the second hop. This setup does not make CHIM's local discovery service search your LAN.
Fallback: forward directly to the current WSL address
If the launcher-proxy route fails, use Windows' documented WSL forwarding route. It uses the same LAN port and firewall rule, but the internal target must be updated when WSL's address changes.
- On the host, run
wsl -d DwemerAI4Skyrim3 hostname -Iand note the distro's IPv4 address. - After confirming the existing LAN rule belongs to this setup, change its target using your actual WSL address below.
$HostPcIp = '192.168.1.50'
$WslIp = '172.30.98.229'
netsh interface portproxy set v4tov4 listenaddress=$HostPcIp listenport=8081 connectaddress=$WslIp connectport=8081
The sample WSL address is a placeholder. Refresh it after a distro restart. See Microsoft's WSL networking guide for direct forwarding and optional mirrored networking. Mirrored networking changes the WSL configuration; it is not required for the route above.
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 'CHIM remote hosting' -Direction Inbound -Action Allow -Protocol TCP -LocalAddress $HostPcIp -LocalPort 8081 -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 CHIM interface in the gaming PC's browser:
http://192.168.1.50:8081/HerikaServer/ui/
If it does not open, stop here and check the connection before changing Skyrim. In PowerShell on the gaming PC:
Test-NetConnection 192.168.1.50 -Port 8081
TcpTestSucceeded: True confirms that the TCP port is reachable. It does not prove that CHIM or a model is working; the web page must load too.
5. Point Skyrim At The Host
Install CHIM's game plugin on the gaming PC as usual. Add a separate Mod Organizer 2 override mod containing SKSE/Plugins/AIAgent.ini. When enabled, the game sees it at Data/SKSE/Plugins/AIAgent.ini.
Use your host's Windows IPv4 address:
SERVER=192.168.1.50
PORT=8081
PATH=/HerikaServer/comm.php
POLINT=1
- SERVER: only the numeric IPv4 address. Do not include
http://, a port, or a path. - PORT: the host's LAN listening port, not the launcher's internal 7513.
- PATH: keep the complete path shown above.
The INI takes precedence over local launcher discovery. Enable the override and restart Skyrim after changing it. Keep your original configuration available if you want to switch back to a local server.
Test One Thing At A Time
- Load your game and confirm the host's CHIM interface sees the player.
- Send a short typed message and check the reply.
- Listen to a generated voice reply.
- Test microphone input.
- 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 game actions each need their own check.
Fix A Connection
- The host's local 7513 page fails: keep the launcher open, start DwemerDistro, and confirm CHIM's server is installed. Try the launcher again if its proxy failed to start.
- Local works, but the gaming PC cannot connect: verify both LAN addresses, the Private profile, the firewall's gaming-PC scope, and
netsh interface portproxy show all. A VPN or guest Wi-Fi can isolate the PCs. Windows' IP Helper service is also needed for port forwarding. - It broke after restarting WSL: the launcher route should resolve the new target, but verify it. The direct-WSL fallback needs its forwarding target updated manually.
- The web page works, but Skyrim stays local: check which mod supplies the winning
AIAgent.ini, its four values, and restart Skyrim. Confirm the resolved address in the CHIM log. - Dialogue works, but speech fails: test the host's STT or TTS connector separately. Do not open a new LAN port before identifying which request failed.
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=8081
Get-NetFirewallRule -DisplayName 'CHIM remote hosting' | Remove-NetFirewallRule
Disable the gaming PC's INI override when returning to a local CHIM server.
Alternative: Move Only The AI Services
You can keep HerikaServer 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 HerikaServer'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 CHIM connection and fewer individual service settings.


