Cross-Server Sync (Redis)

StarChat can seamlessly synchronize chat messages, private messages, ignores, and plugin data across an entire network of servers using Redis Pub/Sub.

Why Redis instead of BungeeCord/Velocity?

Unlike traditional proxy-based chat plugins (which run on BungeeCord or Velocity), StarChat operates natively on the backend servers (Paper, Purpur, Folia) and uses Redis to broadcast messages between them. This approach has multiple benefits:

  • PlaceholderAPI Support: Since chat is processed on the backend server, all local placeholders (like islands, factions, or combat tags) resolve perfectly before being broadcasted.
  • Zero Proxy Lag: Heavy regex processing and chat formats do not block the proxy\'s limited threads.
  • Interactive Features: Allows for seamless [item] and [inventory] showcases across different servers.

Setup Guide

  1. Install a Redis server (e.g. via Docker, pterodactyl egg, or apt-get).
  2. Open the config.yml file on every Spigot/Paper/Folia server you wish to link.
  3. Set redis.enabled: true.
  4. Input your Redis URI (e.g., redis://:password@127.0.0.1:6379/0).
  5. Set a unique server-name for each server (e.g., "Survival", "Skyblock").
  6. (Crucial) Ensure all servers are connected to the same MySQL Database. Data like ignores and toggles must be shared.
  7. Restart the servers.

⚙️ Cross-Server Formatting

When a message is sent from another server, the %server% placeholder in your format-components.yml will be populated with the sender's server-name. You can use this to add a "[Survival]" tag in your network chat.