CrossChatСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачать
ВЕРСИИ (10)
release
CrossChat 1.3.7
1.3.727 сент. 2026 г.92Minecraft: 26.2velocity
Что нового
### 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.
release
CrossChat 1.3.6
1.3.627 сент. 2026 г.4Minecraft: 26.2velocity
Что нового
## [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.
release
CrossChat 1.3.4
1.3.44 сент. 2026 г.65Minecraft: 26.2velocity
Что нового
## [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`.
release
CrossChat 1.3.4
1.3.49 авг. 2026 г.66Minecraft: 26.1, 26.1.1, 26.1.2, 26.2velocity
Что нового
## [1.3.4] — 2026-08-09
### Fixed
- PlaceholderAPI values inside LuckPerms suffixes are now resolved on Paper and forwarded to the proxy for chat, matching tablist output.
### Changed
- Updated the proxy and optional backend companion to `1.3.4`.
- The backend companion now optionally integrates with PlaceholderAPI and LuckPerms; both remain optional.
release
CrossChat 1.3.3
1.3.38 авг. 2026 г.11Minecraft: 26.2velocity
Что нового
## [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.
release
CrossChat 1.3.2
1.3.227 июн. 2026 г.61Minecraft: 26.2velocity
Что нового
## [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.
release
CrossChat 1.3.1
1.3.127 июн. 2026 г.11Minecraft: 26.2velocity
Что нового
## [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
release
CrossChat 1.2.1
1.2.124 июн. 2026 г.14Minecraft: 26.2velocity
Что нового
## [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)
release
CrossChat 1.2.0
1.2.018 апр. 2026 г.98Minecraft: 1.21.11velocity
Что нового
### 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
release
CrossChat 1.1.0
1.1.018 апр. 2026 г.27Minecraft: 1.21.11velocity
Что нового
- 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