FAQ

Answers on SPChat moderation, domain binding, SSE connections, installation and hosting. Check community rules, technology and licensing in the FAQ.

Type to start searching
    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 one-time (incl. 1 year of updates) for the self-hosted download license
    • €15 per month for the ready-to-use Hosted version

    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 release?

    Once released, the download will be 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?

    Since SPChat uses Server-Sent Events (SSE) for real-time delivery, every active user standardly keeps a permanent connection open to the server. Each connection occupies one PHP process (PHP-FPM worker) for up to 50 seconds. The capacity therefore directly depends on your web hosting environment:

    • Up to 25 concurrent users: Runs smoothly on standard shared hosting (many shared hosts limit simultaneous PHP processes to 20 to 30).
    • 50 to 100 concurrent users: A VPS (Virtual Private Server) is recommended. The PHP setting pm.max_children should be configured to at least 120.
    • Over 100 concurrent users: A powerful VPS/VDS (min. 4 CPU cores, 8 GB RAM, pm.max_children > 300) is required. Optimized VPS hosting packages for SPChat are available from us upon request.

    Resource-Saving Alternative: If your webspace resources are limited or your host's PHP process limits are reached, the chat can easily be switched from SSE to classic HTTP polling in the configuration. This mode polls messages at short intervals, does not block permanent PHP processes, and massively reduces the server load.

    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.

    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 only for WebRTC video and voice when two browsers cannot establish a direct peer-to-peer connection. 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.

    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

    Still unsure? Test the chat yourself.

    The live demo shows the interface and chat flow without installation. Join the waitlist for your own chat.