Frequently Asked Questions (FAQ)

Frequently asked questions (FAQ) about SPChat: Answers on moderation, domain binding, SSE connections, installation, and self-hosting.

    General
    Does SPChat cost anything?

    SPCast customers with a web radio package receive SPChat at no extra cost. Download and license are available in the Customer Center.

    For everyone else, there are two options:

    • €99.99* one-time for the self-hosted download licence, including 1 year of update access. Further update access then costs an optional €39* per year. The installed version remains usable without renewal.
    • €15* per month, cancel monthly for the ready-to-use Hosted version. With a 24-month minimum term, the price is €9.99* per month, totalling €239.76* for the minimum term. Operation and updates are included.

    All features are fully included in both options. There are no feature limits.

    Does SPChat run on shared hosting?

    Yes, that's exactly what it was built for. No VPS, no root access required. SPChat uses Server-Sent Events (SSE) instead of WebSockets, which works on any standard Apache hosting without special port configuration. On low-performance hosting environments, a proven HTTP polling fallback is also available.

    Requirements: PHP 8.2+, MySQL, Apache with .htaccess enabled. That's it.

    How do I get SPChat after purchase?

    After purchase, the download is available in the STREAMPANEL customer center. Download the ZIP package, extract it, and upload the files via FTP to your web server.

    The license is bound to your domain. If you switch domains, you can update it at any time in the customer center, free of charge.

    How many users can SPChat handle simultaneously?

    SPChat Hosted uses HTTP polling and allows a maximum of 50 concurrent users. This applies to both the monthly plan and the plan with a 24-month minimum term.

    For SPChat Download, server resources and configuration determine capacity. HTTP polling checks for new messages at intervals. With SSE, each active user keeps a longer PHP connection open, so the hosting must provide enough PHP workers.

    Video and voice chat have a separate limit in peer mode: a maximum of 3 connections per person and a polling interval of at least 2000 ms. These peer limits do not apply to LiveKit SFU. See the features and pricing page for details.

    How Is a Download License Bound to a Domain?

    The SPChat download license is bound to a specific domain. This means you install SPChat on your web server under a particular domain (e.g. chat.my-webradio.com) and the software verifies this binding.

    If you want to run SPChat under a different domain, you can update the registered domain at any time via the STREAMPANEL customer center, at no additional cost and without repurchasing.

    Free Chat or a Self-Hosted SPChat Licence?

    A free hosted chat may be sufficient for a web radio station. The individual service terms matter. Advertising, tracking, and a third-party domain are not inevitable features of free services.

    Before choosing, check:

    • Which advertisements and external services are included? Which settings can you control?
    • Where are accounts, messages, and uploads stored? What export and deletion options are available?
    • Can you use your own domain, a suitable design, and the moderation tools you need?
    • What limits apply to concurrent users, storage, and support?

    With the self-hosted SPChat Download edition, you choose the domain and hosting. You manage operation, backups, and updates. The hosting must meet the technical requirements. Core chat functions do not load advertising or analytics trackers; review any enabled additional services separately.

    The Download licence costs €99.99* once and includes one year of update access. Update access can then be renewed optionally for €39* per year; the installed version remains usable. Hosting and domain costs are separate. SPChat is available at no additional licence charge for eligible active SPCast web radio packages.

    The pricing page lists the hosted chat and download license plans. You can try the interface in the live demo.

    Technology & Installation
    How do I install SPChat?

    SPChat comes with a web installer. The short version:

    1. Download the ZIP package from the customer center
    2. Upload the files via FTP to your web server (public/ = document root)
    3. Create an empty MySQL database
    4. Open /install/ in your browser and complete the setup

    The installer checks PHP extensions, configures the database, and creates the first admin account. No SSH or terminal required.

    What are the technical requirements?

    PHP 8.2+ and a MySQL/MariaDB database, that's it. Required PHP extensions: pdo_mysql, mbstring, json, fileinfo. No root access, no VPS, no Composer at runtime.

    • Apache or LiteSpeed with mod_rewrite and .htaccess enabled
    • InnoDB engine & utf8mb4 charset
    • Write permissions on the media/uploads/ and storage/logs/ directories
    • PHP Settings: max_execution_time of at least 60 seconds in php.ini. Since SPChat uses Server-Sent Events (SSE) for real-time delivery and keeps each connection open for about 50 seconds, this prevents unexpected client disconnects.
    Do I need Node.js, Composer or Redis?

    No. SPChat requires no Node.js, Redis or Composer at runtime. Real-time delivery uses Server-Sent Events through PHP. All dependencies are included in the download package: extract the ZIP, upload it by FTP and run the web installer.

    For local development, php -S localhost:8000 -t public is sufficient. No build step needed.

    Does SPChat support S3 for media uploads?

    Yes. SPChat supports local storage and S3-compatible services such as AWS S3, Cloudflare R2, or MinIO. Configuration is done in the admin panel or in config/config.php under the storage key.

    Without S3 configuration, uploads are stored securely in a local directory outside the webroot. No direct browser access is possible.

    When does SPChat need a TURN server?

    TURN is needed for WebRTC video and voice when a browser cannot connect directly to the other participant or the LiveKit SFU. This can happen behind strict firewalls or certain NAT configurations. The normal SSE text chat does not need a TURN server.

    STUN helps browsers discover reachable network addresses. TURN relays encrypted WebRTC traffic as a fallback and therefore consumes bandwidth on the TURN server. SPChat lets the operator configure custom STUN and TURN servers.

    Peer mode allows a maximum of 3 connections per person. Sending and watching share this limit. More cameras can be active in the room. The polling interval is at least 2000 ms. These limits do not apply to LiveKit SFU.

    The bandwidth table for four cameras shows upload and download usage per person. It also explains why a TURN server does not reduce the multiple video transmissions in peer mode.

    How many P2P connections are possible?

    SPChat allows peer-to-peer (P2P) connections to at most 3 other people at a time per user. More than four cameras can be active in the room. What matters is who is actually connected to whom. Operators can lower this limit to one or two connections in the admin panel.

    Sending and watching share this limit. When two people watch each other’s camera, that uses one slot per person. An active camera without viewers uses no slots. Neither the local preview nor text chat requires a P2P connection.

    Can separate video groups use the same room?

    Yes. If person B watches A’s camera, each has one connection. Meanwhile, C, D and E can be connected to each other, using two connections each. All five people can use video in the same room because nobody has more than three connections.

    Someone already watching three other people has no free slot for another viewer of their own camera. The limit counts distinct people connected to you, regardless of which direction the video travels.

    How do I open or close a camera?

    Select the camera you want to watch. Public cameras need no approval, but still open only after you select them. For protected cameras, the person sending video must approve the request. A pending request already reserves one slot at each end.

    If you or the other person has no free slots, a message explains whose limit has been reached. Use “Close video connection” on the camera tile or in the viewer list to free a slot. This closes the connection between those two people in both directions. Other calls continue.

    How much traffic do four cameras generate?

    When four people broadcast their camera and watch the other three, each person sends three copies of their own video and receives three other videos. Each person uses all three slots. The table describes this fully connected group of four. Separate groups in the same room do not change its data usage.

    Example calculations per person with four active cameras
    Video bitrate per streamUpload per personDownload per personData per person per hour, upload + download
    0.5 Mbit/s1.5 Mbit/s1.5 Mbit/s1.35 GB
    1 Mbit/s3 Mbit/s3 Mbit/s2.7 GB
    2 Mbit/s6 Mbit/s6 Mbit/s5.4 GB

    These are example calculations, not fixed quality presets. They assume constant, equal video bitrates. Actual bitrates adapt to factors such as resolution, movement in the picture and the connection. Audio and network overhead add to these figures. Data amounts use decimal GB, where 1 GB = 1,000 MB.

    Does each person need 24 Mbit/s of upload?

    At 2 Mbit/s per video stream, each person needs 3 × 2 = 6 Mbit/s of upload. The 24 Mbit/s figure is the combined upload across all four people: 4 × 6 Mbit/s. Each person also needs 6 Mbit/s of download, plus audio and network overhead.

    Even 6 Mbit/s of upload can saturate a connection. What matters is the upload actually available, not just the advertised download speed. A connection with 5 Mbit/s of upload cannot support this example. Allow additional headroom for other applications and changes in Wi-Fi performance.

    Why does a TURN server not reduce this traffic?

    A TURN server such as coturn relays the individual connections when a direct connection is not possible. Each person still sends three outgoing video copies. TURN helps participants connect, but does not reduce upload usage in P2P mode.

    What works for larger video groups?

    If more than four people need to see everyone else, or one camera needs more than three viewers, an SFU system is suitable. Participants send their camera to a server, which distributes it to the recipients. Camera upload usage therefore does not grow with every additional person. This requires an SFU server and matching integration in the video chat. Connection quality, devices and server capacity still matter.

    See the TURN explanation and SPChat features for more details. Try the video chat in the demo with your own devices and connections.

    How Stable Is the Connection Without WebSockets?

    SPChat does not open a WebSocket connection. Messages are transferred through Server-Sent Events (SSE). No open WebSocket port or Node.js process is required. HTTP polling is available as a fallback when the hosting environment does not reliably support long-lived SSE connections.

    With SSE, each active user occupies a PHP process for part of the connection cycle. The available number of PHP-FPM workers therefore determines how many concurrent connections the hosting can handle. See How many users can SPChat handle simultaneously? for practical guidance.

    If messages are delayed or connections stop, check the PHP worker limit and possible buffering by the web server or reverse proxy first. Switch SPChat to HTTP polling in its configuration when the hosting remains unsuitable for SSE.

    Security & Privacy
    How are passwords stored?

    SPChat uses Argon2id for password hashing, the current gold standard. Plaintext passwords are never stored. On admin-triggered resets, the new password is sent to the user by email and immediately hashed.

    Is SPChat GDPR compliant?

    SPChat is designed for privacy-conscious operation, but the software alone cannot guarantee GDPR compliance. The operator remains responsible for hosting, data-processing agreements, retention periods, the privacy notice and enabled services.

    The browser makes no direct third-party connections for core functions. Emojis are bundled locally, and enabled GIPHY searches use the operator's server as a proxy. Chat and account data stay on the operator's hosting. Media can be stored locally or in S3-compatible storage selected by the operator.

    Does SPChat support two-factor authentication?

    Yes. SPChat supports TOTP-based 2FA (Time-based One-Time Passwords), compatible with Google Authenticator, Aegis, Authy, and other TOTP apps. Users enable 2FA independently in their profile settings.

    Where does SPChat store data?

    Chat, account and configuration data are stored in the MySQL or MariaDB database used by the SPChat installation. Local uploads are stored outside the webroot. Media can instead be stored in S3-compatible storage configured by the operator.

    With the download edition, you choose the web host, server location and optional S3 provider. The hosted edition runs on STREAMPANEL infrastructure. Check the hosted offer for its current data location and data-processing terms before ordering.

    Moderation & Admin
    How does the word filter work?

    The word filter in SPChat can respond in two ways:

    • Block: The message is rejected and the user sees an error message
    • Replace: The term is replaced with a defined placeholder (e.g. ***)

    Matches are also logged in the audit log so admins can identify patterns. Filters are applied server-side. A client-side bypass is not possible.

    How does the ban system work?

    Admins can ban users temporarily or permanently. A ban automatically triggers an IP ban as well. Banned users lose access immediately on their next API request, with no waiting for session timeouts.

    There is also a kick function: the user is removed from the chat immediately without a permanent ban. All actions are logged in the filterable audit log.

    Can messages be scheduled automatically?

    Yes. Via the admin panel you can create Scheduled Messages: messages that automatically appear in a room at a defined time. This runs via a cron job and is useful for announcements, daily greetings, or planned events during web radio broadcasts.

    Which Moderation Rules Apply in SPChat?

    SPChat does not impose a ready-made code of conduct. The operator decides which content and behavior are permitted in the chat. These rules should be clearly visible before a user starts posting.

    Several tools support enforcement. Moderators can kick users, add temporary or permanent bans and set IP bans. The word filter blocks or replaces configured terms. Reports help moderators review individual messages. Admin actions are recorded in the audit log.

    Assign moderation permissions only to the user groups that need them. Define when your team uses a warning, kick or ban. SPChat supplies the tools, while the operator remains responsible for the rules and individual decisions.

    Still have a question? Contact support

    Try the chat yourself

    The live demo shows the interface and chat flow without installation. Compare the plans for your own chat.