[ { type: install message: < pw groupmod audio -m 3. Pairing a client: when a Moonlight client requests pairing, moonshine logs a banner with a URL to open in a browser to enter the PIN, e.g. PAIRING REQUESTED - open this URL in a browser to enter the PIN: http://:47989/pin?uniqueid=... When run as a service this banner goes to the log file, not the console (default /var/log/moonshine.log, see moonshine_log_file in the rc script): tail -f /var/log/moonshine.log Open that URL, type the PIN shown on the client, and the pairing completes. 4. Gamepad support uses /dev/uinput, which is not group-accessible by default. To reach it as a non-root user, expose it to the 'video' group (see item 2) via /etc/devfs.rules: [localrules=10] add path 'uinput' mode 0660 group video with devfs_system_ruleset="localrules" in /etc/rc.conf, then 'service devfs restart'. 5. Audio capture reads the game's audio from the virtual_oss(8) loopback device /dev/dsp.loop. Enable it before starting moonshine: service virtual_oss enable service virtual_oss start The default virtual_oss configuration creates /dev/dsp.loop; point your playback applications at it so their audio is streamed to the client. 6. To bind a dual-stack address ("::" in the config), also set: sysctl net.inet6.ip6.v6only=0 EOM } ]