Sueta

CrossChat

1.3.7

CrossChat the links all Messages as one

·Plugin
  1. 1.3.7latestCrossChat 1.3.74 weeks ago
    Fixed
    - Fixed players being disconnected because Velocity cannot deny signed chat messages. CrossChat now forwards the message unsigned. - Restored the crosschat:suppress signal for the Paper/Purpur companion. If the companion is unavailable, CrossChat leaves the source server's local chat alone and broadcasts only to other participating servers, avoiding a duplicate proxy broadcast on the source server. - The sender is excluded from the proxy broadcast to avoid duplicating the client's optimistic local chat render. - SignedVelocity is no longer required for CrossChat's chat handling.
    Changed
    - Updated the proxy version to 1.3.7. - Documented the Paper unsigned-chat setting and companion behavior for source-server formatting and local echo suppression.
    5 downloads
  2. 1.3.6CrossChat 1.3.64 weeks ago

    [1.3.6]

    Fixed
    - CrossChat now processes PlayerChatEvent last so its cancellation cannot be overwritten by another proxy chat listener, preventing duplicate local-backend messages.
    Changed
    - Updated the proxy version to 1.3.6.
    Fixed
    - Fixed mixed legacy & color codes and MiniMessage formatting so a prefix/suffix can safely combine both styles without losing or bleeding color state. - The parser now correctly closes legacy styling before switching into a MiniMessage segment, which fixes cases like legacy prefix + MiniMessage suffix.
    2 downloads
  3. 1.3.4CrossChat 1.3.4Sep 4, 2026

    [1.3.5] — 2026-09-04

    Fixed
    - Fixed mixed legacy & color codes and MiniMessage formatting so a prefix/suffix can safely combine both styles without losing or bleeding color state. - The parser now correctly closes legacy styling before switching into a MiniMessage segment, which fixes cases like legacy prefix + MiniMessage suffix.
    Changed
    - Updated the proxy version to 1.3.5.
    58 downloads
  4. 1.3.3CrossChat 1.3.3Aug 8, 2026

    [1.3.3] — 2026-08-08

    Added
    - Added {suffix} and {group} placeholders backed by LuckPerms metadata.
    Changed
    - Renamed the proxy plugin and jar to Crosschat, with configuration stored in plugins/Crosschat/. - Updated the proxy build target to the stable Velocity 3.4.0 API.
    7 downloads
  5. 1.3.2CrossChat 1.3.2Jun 27, 2026

    [1.3.2] — 2026-06-26

    Fixed
    - Sender no longer sees their own message — the 1.3.1 workaround that excluded the sender from the broadcast was too aggressive; it was only needed because the client-side optimistic render doubled the message for the sender without [SignedVelocity](https://modrinth.com/plugin/signedvelocity) installed - With SignedVelocity on the proxy, Velocity properly completes the Minecraft 1.19+ chat-signing handshake so ChatResult.denied() fully suppresses the client-side render — no double message occurs - The sender exclusion has been removed; all eligible players including the sender now receive the formatted broadcast exactly once
    Notes
    - [SignedVelocity](https://modrinth.com/plugin/signedvelocity) must be installed on the proxy (not the backend). This is required for ChatResult.denied() to work correctly with signed chat on Velocity 3.x / Minecraft 1.19.3+. Installing it on backend servers is not needed and may cause issues.
    57 downloads
  6. 1.3.1CrossChat 1.3.1Jun 27, 2026

    [1.3.1]

    Fixed
    - Double-message for the sender — in Minecraft 1.19.3+ the client renders the sender's own chat message locally the instant they press Enter (client-side optimistic display), before the server processes the packet; the proxy's formatted broadcast then arrived on top of that local render, producing two visible messages for the sender only - Fix: the sender is now excluded from the broadcast() loop — they see their message exactly once via the client-side render; all other players continue to receive the formatted broadcast as normal
    6 downloads
  7. 1.2.1CrossChat 1.2.1Jun 24, 2026

    [1.3.0] — 2026-06-24

    Fixed
    - Double-message bug — players were seeing every global-chat message twice (once from the proxy broadcast and once echoed by the backend server) - Root cause: the ChatResult.message() + crosschat:suppress plugin-message approach introduced in 1.2.0 had a race condition on Velocity 3.5.0-SNAPSHOT; the suppress signal could arrive at the backend after the chat packet, causing SuppressListener to miss the event and Paper to echo the message locally - Fix: replaced ChatResult.message() with ChatResult.denied() — Velocity drops the packet entirely so the backend never receives it and cannot echo it - ChatResult.denied() is safe on Velocity 3.3+ / Minecraft 1.19.3+; the 1.19.1–1.19.2 strict-signing concern that motivated the 1.2.0 workaround no longer applies to modern server builds
    Removed
    - `crosschat:suppress` plugin-message channel — no longer sent - `CrossChatBackend` companion plugin is no longer required; it can be removed from backend servers (leaving it installed is harmless but it will never receive a suppress signal)
    10 downloads
  8. 1.2.0CrossChat 1.2.0Apr 18, 2026
    Fixed
    - Critical: players kicked with "A proxy plugin caused an illegal protocol state" on Minecraft 1.19.1+ - Root cause: ChatResult.denied() cannot cancel a cryptographically-signed chat message at the proxy level (Velocity/Minecraft protocol restriction introduced in 1.19.1) - Fix: replaced ChatResult.denied() with ChatResult.message(text) which strips the signature (making the message "unsigned") instead of attempting to cancel it — this prevents the disconnect entirely
    Added
    - `crosschat:suppress` plugin-message channel — the proxy sends the sender's UUID to the backend over this channel immediately before forwarding the unsigned echo; the companion backend plugin uses this to silently cancel local display - `CrossChatBackend` companion Paper plugin (backend/) — drop into each Paper/Purpur backend's plugins/ directory to suppress the local-chat echo of messages already broadcast globally: - Listens on crosschat:suppress - Cancels AsyncChatEvent for the flagged player via a one-shot ConcurrentHashMap set - Compatible with Paper 1.19.1+, Java 17+ - If the backend plugin is absent, global broadcast still works but the message will also appear in local backend chat
    Notes
    - In config/paper-global.yml on each backend, ensure enforce-secure-profiles: false so that the signature-stripped message forwarded by Velocity is accepted rather than rejected with a "Chat message delivery failed" system message
    82 downloads
  9. 1.1.0CrossChat 1.1.0Apr 18, 2026
    - servers block in config.yml now uses key: "Display" format instead of a plain list, allowing each server to have its own coloured/formatted name shown in {server} - Backwards-compatible: old ' - name' list entries still load (display defaults to uppercased server name) - Config internally uses Map<String, String> with getDisplayName() - Bump version to 1.1.0
    19 downloads

Similar projects

Plugin →