Connect a game server
This is the second of the two installs, and it happens on the machine that runs your game server. One binary deploys the plugin, installs the sidecar, registers its service, and prints four values for you to paste into the website.
It never contacts your website, and it never starts or stops your shard.
What gets deployed
Section titled “What gets deployed”| # | Component | Where it goes |
|---|---|---|
| 1 | The plugin overlay — C# source ServUO compiles at boot | into your ServUO tree |
| 2 | The uo-link sidecar — a small Rust service | a system directory, plus a service |
| 3 | A record of the run | install.json, with per-file hashes and backups |
ServUO shard ──loopback TCP 127.0.0.1:7788──► uo-link sidecar ──HTTP + WebSocket──► websiteThe shard dials out. It never listens for the website and is never reachable from the internet; only the sidecar is exposed, and only to your site.
Install
Section titled “Install”Download the binary for your OS, and
SHA256SUMS, from the installer releases page (v0.1.1).Releases are unsigned — there is no code-signing certificate, so that checksum file is the whole trust anchor. Check it:
Terminal window sha256sum -c SHA256SUMS --ignore-missingchmod +x runicgateway-installer-linux-x86_64On Windows,
(Get-FileHash .\runicgateway-installer-windows-x86_64.exe -Algorithm SHA256).Hashand compare. Windows will also show a SmartScreen prompt on first run, for the same reason.-
Stop the shard.
ServUO.exelocksScripts.dlland rewritesSaves/on exit, so the installer refuses to deploy under a running server. -
Run it, elevated.
Terminal window sudo ./runicgateway-installer-linux-x86_64 installAdd
--verifyfirst if you want to see every change it would make and write nothing.It asks four things: your ServUO root, whether to apply the optional patch tier, the hostname your website should use to reach this machine, and your site’s URL (used only to print a link at the end).
-
Read the summary. It reports the overlay sync file by file, the sidecar binary and its verified hash, the config and database paths, and the service state. Then it says what you must do next — restart ServUO yourself, because it will not do that for you.
The patch tier is optional
Section titled “The patch tier is optional”Most of the plugin is added files, which is why the base install is a safe copy. Two features need edits to stock ServUO sources, and those are opt-in, off unless you say yes, and refused where the target lines are not stock. Skipping the tier costs you vendor-sale events and in-game moderation audit forwarding; everything else works.
The tier is written and tested against stock ServUO 57.4. On any other version it is unsupported and untested, and the prompt makes you answer past a warning.
Paste the four values into the site
Section titled “Paste the four values into the site”A successful run ends by printing the one step it cannot do for you:
Base URL http://shard.example.com:8080 WebSocket URL ws://shard.example.com:8080/ws Protocol version 4 Auth token 4f9c… (also in sidecar.toml)Every value comes from asking the installed sidecar itself, so it cannot drift from what the service actually runs.
On the site, sign in as an administrator and open Shard (uo-link) in the admin
sidebar — /admin/uo/link. Tick Enable the shard integration, paste Base URL,
WebSocket URL, Auth token and Protocol, and save. The ingest client restarts
immediately.
The token is encrypted at rest and never returned to any client — losing it means
reading it back from sidecar.toml on the shard host, not from the website.
If the website is on a different machine
Section titled “If the website is on a different machine”The sidecar binds 127.0.0.1:8080, reachable only from the shard host. If the site runs
elsewhere, widen the bind and then narrow the access:
- Set
[web] bindinsidecar.tomlto0.0.0.0:8080and restart the service. - Firewall that port to your website’s address only. The auth token is always on, but it travels as a plain bearer token — the sidecar speaks HTTP, not HTTPS.
- If the two hosts are not on a trusted network, put the sidecar behind a TLS reverse
proxy or a VPN link and give the website the
https:///wss://URLs.
Leave [shard] bind on 127.0.0.1:7788. That socket accepts inbound commands to the
game, and being loopback-only is what makes that safe.
Next: Verify the whole stack — because a successful file copy is not a working bridge.