OBS Control Dock Guide

Keep common Social Stream controls inside OBS, including Credits Start, Preview, Test, and Reset.

Quick setup

  1. In Social Stream Ninja, open Global settings and toolsMechanics.
  2. Enable remote API control of extension. Keep Social Stream Ninja active during the stream.
  3. Copy the Session ID shown in Social Stream Ninja.
  4. In OBS, open DocksCustom Browser Docks.
  5. Name the dock Social Stream Controls and use this URL:
https://socialstream.ninja/obs-control-dock.html?session=YOUR_SESSION_ID
  1. Select Apply, close the settings window, and place the new dock where you want it in OBS.
  2. Confirm the dock says Connected. If the URL did not include a session, enter it in the dock and select Save & connect.

Open the Control Dock

Which server settings are required?

SettingFor this control dockPurpose
remote API control of extensionRequiredLets the control dock send commands to the Social Stream app or extension on channel 1.
Enable Dock to use and publish via API serverNot requiredOptional direct server transport for the Streaming Chat Dock.
Send chat messages to API serverNot requiredUsed when an external program needs to receive captured chat on channel 4.
Dock sends its commands to Extension via serverNot requiredUsed when the Streaming Chat Dock itself must send commands back through the server.
No &server is needed on the control-dock or Credits URLs. The control dock already opens its own WebSocket control connection. OBS's WebSocket Server Settings are unrelated and can remain off.

If you intentionally use direct API transport for dock.html, use the generated Dock link after enabling its server setting, or add &server to that Dock URL. This is optional and does not change how Credits commands work.

Using it with end-of-stream Credits

  1. Before the stream, set Credits Trigger Mode to Background collection. This lets the app collect chatters, members, and donors while the Credits Browser Source is closed.
  2. Add the generated Credits URL to the OBS ending scene using the same Session ID.
  3. At the end of the stream, switch to the ending scene first so the Credits Browser Source is loaded and connected.
  4. Select Start Credits in the OBS control dock.
Load before Start: background collection can work while the Credits page is closed, but Start, Preview, and Test need a connected Credits Browser Source to display anything.

See the Credits Roll Guide for collection modes, filters, and troubleshooting missing names.

What each Credits button does

ButtonResult
Start CreditsRuns the real collected list.
PreviewRuns the real list without consuming page-collected entries.
Test CreditsDisplays built-in participant, member, and donor examples. It does not prove that real names were collected.
Reset Saved CreditsClears the saved Background collection for the active Social Stream session.

Other controls and their required pages

  • Featured Chat: keep the normal Streaming Chat Dock and featured overlay connected on the same session.
  • Timer: keep the Timer page connected on the same session if it needs to display the timer.
  • Waitlist & Giveaway: configure the waitlist in Social Stream first; Reset clears the current entries.

The dock reconnects automatically if the API connection drops. A green Connected status only confirms the control connection; the target page still needs to be open when a command displays something.

Direct API examples

The same buttons can be scripted with HTTP GET requests:

https://io.socialstream.ninja/SESSION_ID/creditsStart
https://io.socialstream.ninja/SESSION_ID/creditsPreview
https://io.socialstream.ninja/SESSION_ID/creditsTest
https://io.socialstream.ninja/SESSION_ID/creditsReset

Replace SESSION_ID with the active Social Stream session. See Commands & API or the full API sandbox for more actions.

Troubleshooting

  • Session needed: use the exact Session ID from Social Stream, without the word session=.
  • Disconnected: enable remote API control, confirm Social Stream is active, and reopen the dock after changing its URL.
  • Credits says no source accepted the command: reveal the ending scene, wait for its Browser Source to load, then retry.
  • Test works but Start is empty: Test uses built-in names. Select Background collection before the stream and confirm normal chat sources are capturing.
  • Featured Chat button has no visible effect: confirm the Streaming Chat Dock and featured overlay use the same session and are loaded.