| Transport | How it works | Choose it if |
|---|---|---|
| SSE (default) | one open connection per member | small or medium forum, no requirement. Each stream takes a PHP process: limited to 3 streams per member and 300 s per stream (the browser reconnects by itself). |
| Polling | a short request every few seconds (5 s by default) | hosting that copes badly with long connections. A little less instant, very light. |
| WebSocket | dedicated gateway | many members connected at the same time. Needs a gateway (see below). |
| Auto | WebSocket as long as the gateway answers, otherwise the chosen fallback (SSE or Polling) | you want WebSocket without the risk of a total outage |
| Mode | How it works |
|---|---|
| Integrated (default) | the gateway runs on the server of the forum. Engine of your choice: Node.js (18 or later) or Workerman (pure PHP, no Node). Start, stop, installation of the dependencies and diagnostics from WebSocket Server > Integrated Server. |
| External | the gateway runs on another machine: you fill in its addresses (WebSocket URL wss://…/ws as seen by the browsers, Publisher URL https://…/internal/publish called by XenForo). The External Server page generates the Node configuration (Generate Node configuration). |
| Managed Service | third-party service Ably or Pusher Channels, set on WebSocket Server > Managed Service. The credentials (key, secret) are entered there and are not shown again afterwards. |
/internal/publish) on the Internet: only /ws and, if needed, /health should be.php cmd.php xs-rtc:websocket start|stop|restart|status|diagnostics.docs/REALTIMECHAT_EXTERNAL_GATEWAY.md.