COWMODSКаталог модов
CoreChatX

ВЕРСИИ (42)

release

CoreChatX 2026.3.3

2026.3.3
22 окт. 2026 г.16Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2, 26.3paper, purpur
Скачать
Что нового
# CoreChatX 2026.3.3 ## Added - Added bStats `discord_integration` charts on Paper and Velocity and a `telegram_integration` chart on Paper to count configured integrations. The new chart values contain only status categories, without bot tokens, Discord/Telegram IDs, player identities, messages, or traffic volume. The existing global bStats opt-out is respected; Paper proxy backends report Discord as `Managed by Velocity`. ## Fixed - Fixed Discord ChatItem images being generated for channels with `export-to-bridges: false`. Standalone and proxy servers now stop these exports before image preparation or sending while preserving local ChatItems and `allow-chatitems`. - Fixed overhead chat bubbles exposing messages from `STAFF` channels or channels with a non-empty `permission-receive`, even when bubble allowlists enabled them. Public-channel bubble settings continue to work as configured. - Fixed player-head ChatItem snapshots potentially blocking the Paper main thread during profile completion. Missing skins now use an immediate fallback while bounded asynchronous lookup, timeout, cache, and shutdown handling prepare a texture for a later capture. - Fixed Discord death messages bypassing Paper cancellation, `showDeathMessages`, blank-message checks, or the main scoreboard's death-message visibility. Discord and network deaths now share the same public eligibility rules; advancement announcements are unchanged. - Fixed PremiumVanish exposure through CoreChatX-managed Velocity TAB entries, chat completions, and shared backend directories. TAB and completions now use per-viewer visibility, public directories omit vanished players, hide/show and permission changes reconcile state, and cleanup preserves entries owned by other plugins. ## Known issues - Public-channel bubbles still cannot enforce per-viewer ignore or hidden-channel rules, or a chat radius smaller than the bubble view distance. Disable bubbles for channels that require those audience restrictions.
release

CoreChatX 2026.3.3

2026.3.3
22 окт. 2026 г.16Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2, 26.3velocity
Скачать
Что нового
# CoreChatX 2026.3.3 ## Added - Added bStats `discord_integration` charts on Paper and Velocity and a `telegram_integration` chart on Paper to count configured integrations. The new chart values contain only status categories, without bot tokens, Discord/Telegram IDs, player identities, messages, or traffic volume. The existing global bStats opt-out is respected; Paper proxy backends report Discord as `Managed by Velocity`. ## Fixed - Fixed Discord ChatItem images being generated for channels with `export-to-bridges: false`. Standalone and proxy servers now stop these exports before image preparation or sending while preserving local ChatItems and `allow-chatitems`. - Fixed overhead chat bubbles exposing messages from `STAFF` channels or channels with a non-empty `permission-receive`, even when bubble allowlists enabled them. Public-channel bubble settings continue to work as configured. - Fixed player-head ChatItem snapshots potentially blocking the Paper main thread during profile completion. Missing skins now use an immediate fallback while bounded asynchronous lookup, timeout, cache, and shutdown handling prepare a texture for a later capture. - Fixed Discord death messages bypassing Paper cancellation, `showDeathMessages`, blank-message checks, or the main scoreboard's death-message visibility. Discord and network deaths now share the same public eligibility rules; advancement announcements are unchanged. - Fixed PremiumVanish exposure through CoreChatX-managed Velocity TAB entries, chat completions, and shared backend directories. TAB and completions now use per-viewer visibility, public directories omit vanished players, hide/show and permission changes reconcile state, and cleanup preserves entries owned by other plugins. ## Known issues - Public-channel bubbles still cannot enforce per-viewer ignore or hidden-channel rules, or a chat radius smaller than the bubble view distance. Disable bubbles for channels that require those audience restrictions.
release

CoreChatX 2026.3.2

2026.3.2
7 окт. 2026 г.50Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2, 26.3paper, purpur
Скачать
Что нового
# CoreChatX 2026.3.2 ## Changed - ChatItem previews and remote PMs now limit overlapping requests, with customizable busy feedback in `chatitems.yml` and `messages.yml`. Older previews may expire early under heavy load. Forwarded PMs consume the configured cooldown even if later rejected or timed out. - Discord console logging now recovers from stalled requests, and ChatItem disk-cache limits remain enforced across reloads, with memory fallback on cache errors. Image transfers and Discord/Telegram exports also have workload limits and timeouts; overloaded exports may be dropped while Minecraft chat continues. ## Safety - Strengthened Velocity backend/player validation, Discord account-link updates and chat-text handling. Added stricter checks for runtime libraries, downloaded assets and custom resource packs; invalid libraries block Velocity startup, failed asset updates keep the working cache, and oversized textures may need resizing. ## Migration - **Update Velocity and all participating Paper backends together.** Stop Paper backends before Velocity, install matching `2026.3.2` JARs everywhere, then start Velocity first. Mixed `2026.3.1`/`2026.3.2` networks are incompatible. No database migration is required when upgrading from `2026.3.1`. - Ensure Paper `deployment.server-id` matches its registered Velocity backend name. For multiple groups, add `backend-groups.<server>=<network-channel>` in `velocity-config.properties` for every participating backend and match its Paper `deployment.network-channel`; these mappings are optional with one group. - Telegram now accepts incoming messages only from explicitly mapped chats/topics in `telegram.inbound.routes`. Set `telegram.inbound.allow-unmapped-chats: true` to restore the previous `default-channel` fallback. Custom pings from Telegram or other generic remote sources require an empty `use-permission`.
release

CoreChatX 2026.3.2

2026.3.2
7 окт. 2026 г.23Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2, 26.3velocity
Скачать
Что нового
# CoreChatX 2026.3.2 ## Changed - ChatItem previews and remote PMs now limit overlapping requests, with customizable busy feedback in `chatitems.yml` and `messages.yml`. Older previews may expire early under heavy load. Forwarded PMs consume the configured cooldown even if later rejected or timed out. - Discord console logging now recovers from stalled requests, and ChatItem disk-cache limits remain enforced across reloads, with memory fallback on cache errors. Image transfers and Discord/Telegram exports also have workload limits and timeouts; overloaded exports may be dropped while Minecraft chat continues. ## Safety - Strengthened Velocity backend/player validation, Discord account-link updates and chat-text handling. Added stricter checks for runtime libraries, downloaded assets and custom resource packs; invalid libraries block Velocity startup, failed asset updates keep the working cache, and oversized textures may need resizing. ## Migration - **Update Velocity and all participating Paper backends together.** Stop Paper backends before Velocity, install matching `2026.3.2` JARs everywhere, then start Velocity first. Mixed `2026.3.1`/`2026.3.2` networks are incompatible. No database migration is required when upgrading from `2026.3.1`. - Ensure Paper `deployment.server-id` matches its registered Velocity backend name. For multiple groups, add `backend-groups.<server>=<network-channel>` in `velocity-config.properties` for every participating backend and match its Paper `deployment.network-channel`; these mappings are optional with one group. - Telegram now accepts incoming messages only from explicitly mapped chats/topics in `telegram.inbound.routes`. Set `telegram.inbound.allow-unmapped-chats: true` to restore the previous `default-channel` fallback. Custom pings from Telegram or other generic remote sources require an empty `use-permission`.
release

CoreChatX 2026.3.1

2026.3.1
1 окт. 2026 г.9Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2paper, purpur
Скачать
Что нового
# CoreChatX 2026.3.1 ## Added - Added optional full advancement synchronization between Paper backends in the same Velocity group. The proxy stores criteria, partial progress and completion dates in YAML or MySQL, progressively merging each player's existing progress as they visit each backend. Explicit revocations stay revoked when older backend data is imported. - Historical advancement progress is restored without repeating chat announcements, toasts, XP, items or reward functions. New completions can announce live across participating backends; inventories, XP balances, statistics and recipe books are not synchronized. - Added `death-messages.network-enabled` to relay public death messages within the same Velocity group. It respects the source world's death-message rule and excludes hidden, cancelled and team-restricted messages; local death messages remain unchanged. - Added optional `PremiumVanish` hooks on Paper standalone and Velocity. Hidden players' join, first-join and quit announcements are suppressed, including their corresponding bridge messages; accepted first joins and counters are still recorded. ## Configuration - Advancement synchronization and network death messages are **disabled by default**. Advancement sync requires `advancement-sync.enabled` on Paper and `velocity-advancements.properties` on Velocity, explicit backend-to-group pins and a unique secret per backend. Its authenticated endpoint saves independently of online plugin-message carriers. Use HTTPS or an encrypted tunnel between separate machines; endpoint settings require a restart. Disable other plugins' advancement synchronization first. See the [setup guide](https://wiki-corechatx.icewolf23x.dev/advancement-sync.html). - `hooks.premiumvanish` is **enabled by default** in Paper `config.yml` and Velocity `velocity-config.properties`. Install `PremiumVanish` on the proxy for Velocity-owned network announcements. Paper hook changes apply through `/corechatx reload`; Velocity changes require a restart. ## Migration - **Before updating, stop the affected servers and back up every file and subfolder in their plugin folders, the complete Minecraft worlds and the CoreChatX database when MySQL is used.** Stop Paper backends before Velocity so final saves can finish. Install matching `2026.3.1` JARs on the proxy and all participating backends, then start Velocity first. - MySQL adds schema migration `V004` and `ccx_player_advancements`, including installations that leave advancement sync disabled. The normal schema auto-migration applies it at startup; if `schema-auto-migrate=false`, arrange the schema upgrade before boot. Older builds reject schema version 4: reverting only the JAR is not a database downgrade. - Canonical backups containing advancement records use format `3` and retain that progress through Velocity YAML-to-MySQL migration and rollback. Backups without advancement records keep format `1` or `2`, and both remain readable. Keep pre-update backups for downgrades, and retain each backend's existing world files until the required player visits have imported their progress.
release

CoreChatX 2026.3.1

2026.3.1
1 окт. 2026 г.8Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2velocity
Скачать
Что нового
# CoreChatX 2026.3.1 ## Added - Added optional full advancement synchronization between Paper backends in the same Velocity group. The proxy stores criteria, partial progress and completion dates in YAML or MySQL, progressively merging each player's existing progress as they visit each backend. Explicit revocations stay revoked when older backend data is imported. - Historical advancement progress is restored without repeating chat announcements, toasts, XP, items or reward functions. New completions can announce live across participating backends; inventories, XP balances, statistics and recipe books are not synchronized. - Added `death-messages.network-enabled` to relay public death messages within the same Velocity group. It respects the source world's death-message rule and excludes hidden, cancelled and team-restricted messages; local death messages remain unchanged. - Added optional `PremiumVanish` hooks on Paper standalone and Velocity. Hidden players' join, first-join and quit announcements are suppressed, including their corresponding bridge messages; accepted first joins and counters are still recorded. ## Configuration - Advancement synchronization and network death messages are **disabled by default**. Advancement sync requires `advancement-sync.enabled` on Paper and `velocity-advancements.properties` on Velocity, explicit backend-to-group pins and a unique secret per backend. Its authenticated endpoint saves independently of online plugin-message carriers. Use HTTPS or an encrypted tunnel between separate machines; endpoint settings require a restart. Disable other plugins' advancement synchronization first. See the [setup guide](https://wiki-corechatx.icewolf23x.dev/advancement-sync.html). - `hooks.premiumvanish` is **enabled by default** in Paper `config.yml` and Velocity `velocity-config.properties`. Install `PremiumVanish` on the proxy for Velocity-owned network announcements. Paper hook changes apply through `/corechatx reload`; Velocity changes require a restart. ## Migration - **Before updating, stop the affected servers and back up every file and subfolder in their plugin folders, the complete Minecraft worlds and the CoreChatX database when MySQL is used.** Stop Paper backends before Velocity so final saves can finish. Install matching `2026.3.1` JARs on the proxy and all participating backends, then start Velocity first. - MySQL adds schema migration `V004` and `ccx_player_advancements`, including installations that leave advancement sync disabled. The normal schema auto-migration applies it at startup; if `schema-auto-migrate=false`, arrange the schema upgrade before boot. Older builds reject schema version 4: reverting only the JAR is not a database downgrade. - Canonical backups containing advancement records use format `3` and retain that progress through Velocity YAML-to-MySQL migration and rollback. Backups without advancement records keep format `1` or `2`, and both remain readable. Keep pre-update backups for downgrades, and retain each backend's existing world files until the required player visits have imported their progress.
release

CoreChatX 2026.3.0.1-hotfix

2026.3.0.1-hotfix
13 сент. 2026 г.42Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2paper, purpur
Скачать
Что нового
# CoreChatX 2026.3.0.1-hotfix ## Changed - Paper and Velocity now display prominent, colored console banners for Modrinth updates: green for recommended stable releases and yellow for experimental alpha/beta builds, with installed/available versions and the download link. - Added the [CoreChatX wiki](https://wiki-corechatx.icewolf23x.dev/) link to the Paper and Velocity startup banners. ## Fixed (hotfix-related) - Fixed the first public chat message after joining or switching a Velocity backend being rejected because moderation data was only requested when the player tried to chat. Paper now loads player settings, privacy, channel, mute and global state proactively on join, with bounded read retries. Chat remains protected while authoritative moderation data is unavailable. - Fixed delayed proxy join callbacks applying display changes or first-join announcements to a disconnected or replaced player session. Accepted-join effects now wait for confirmed player and moderation data. - Fixed proxy request timeouts and first-join warnings reporting only `null`. Diagnostics now identify the operation, request, backend and player; timed-out writes are not automatically retried because they may already have committed. - Fixed the Modrinth update checker rejecting four-part hotfix versions such as `2026.3.0.1-hotfix`. This build orders hotfix revisions numerically and continues to detect later stable, beta and alpha versions. ## Compatibility - Updating from `2026.3.0` requires no configuration conversion or MySQL schema migration. Existing YAML/MySQL data and protocol `29` are unchanged. ## Migration - **Stop the affected servers and back up every file and subfolder in the CoreChatX plugin folders before replacing the JARs; also back up MySQL when used.** Install the matching hotfix JAR on Velocity and each participating Paper backend, then restart. Download this hotfix manually: the update checker in the older `2026.3.0` build does not recognize this version format. For upgrades from `2026.2.6` that also move YAML data to MySQL, follow the [step-by-step migration guide](https://wiki-corechatx.icewolf23x.dev/migration.html).
release

CoreChatX 2026.3.0.1-hotfix

2026.3.0.1-hotfix
13 сент. 2026 г.14Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2velocity
Скачать
Что нового
# CoreChatX 2026.3.0.1-hotfix ## Changed - Paper and Velocity now display prominent, colored console banners for Modrinth updates: green for recommended stable releases and yellow for experimental alpha/beta builds, with installed/available versions and the download link. - Added the [CoreChatX wiki](https://wiki-corechatx.icewolf23x.dev/) link to the Paper and Velocity startup banners. ## Fixed (hotfix-related) - Fixed the first public chat message after joining or switching a Velocity backend being rejected because moderation data was only requested when the player tried to chat. Paper now loads player settings, privacy, channel, mute and global state proactively on join, with bounded read retries. Chat remains protected while authoritative moderation data is unavailable. - Fixed delayed proxy join callbacks applying display changes or first-join announcements to a disconnected or replaced player session. Accepted-join effects now wait for confirmed player and moderation data. - Fixed proxy request timeouts and first-join warnings reporting only `null`. Diagnostics now identify the operation, request, backend and player; timed-out writes are not automatically retried because they may already have committed. - Fixed the Modrinth update checker rejecting four-part hotfix versions such as `2026.3.0.1-hotfix`. This build orders hotfix revisions numerically and continues to detect later stable, beta and alpha versions. ## Compatibility - Updating from `2026.3.0` requires no configuration conversion or MySQL schema migration. Existing YAML/MySQL data and protocol `29` are unchanged. ## Migration - **Stop the affected servers and back up every file and subfolder in the CoreChatX plugin folders before replacing the JARs; also back up MySQL when used.** Install the matching hotfix JAR on Velocity and each participating Paper backend, then restart. Download this hotfix manually: the update checker in the older `2026.3.0` build does not recognize this version format. For upgrades from `2026.2.6` that also move YAML data to MySQL, follow the [step-by-step migration guide](https://wiki-corechatx.icewolf23x.dev/migration.html).
release

CoreChatX 2026.3.0

2026.3.0
9 сент. 2026 г.7Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2paper, purpur
Скачать
Что нового
# CoreChatX 2026.3.0 ## Added - Added asynchronous Modrinth update checks after startup and every 24 hours by default. Console and OP players receive stable-update recommendations and separate experimental alpha/beta announcements; no automatic installation occurs. - Optional `MYSQL` runtime storage for standalone Paper and Velocity: preferences, nicknames, statistics, active/hidden channels, ignores, mutes, global state, Discord links, unlink records and pending codes. `YAML` remains the default; Velocity keeps each network group separate. - Added `/ccxstorage` on Paper and Velocity for health checks, file/database validation, checksummed backups, migration plans, parity checks, history, resume and abort. Confirmations and durable journals protect migration/rollback; unfinished transitions keep affected gameplay storage unavailable. - Added the **Channel** compass in `/ccxsettings` and `/chatsettings`: `Persistent` keeps the last channel; `Non persistent` restores the configured default on reconnect, including after restarts. Changing the preference leaves the current channel unchanged, as do proxy backend transfers within the same connection. ## Changed - Settings, nickname, channel, ignore and moderation changes now report success after authority confirmation. Single-setting updates preserve other preferences; `/ignore` and `/unignore` apply the requested final state and enforce saved-list limits. A response timeout does not cancel an accepted database write. - With `MYSQL`, Paper loads complete player state before admission. Gameplay storage waits for database readiness and ownership checks; failures never silently select YAML. A database lease prevents two live processes from writing the same scope. ## Fixed ### Storage and recovery - Fixed `/ccxstorage migrate files-to-mysql abort` deleting rows that a planned/failed run never imported. Abort now preserves later imports and refuses deletion when imported contents have changed. - Fixed recovery accepting run IDs from another namespace or scope. Migration operations now enforce the configured owner, preventing cross-group changes. - Fixed Paper treating malformed persistent YAML as empty data and overwriting it. Startup reports the error; failed player/global reloads block writes and shutdown flushes until the file is repaired and successfully reloaded. - Fixed older concurrent YAML snapshots replacing newer data. Write failures now reach callers, and maintenance drains accepted writes—including timed-out requests—before migration or rollback. - Fixed writes retaining authority after waiting on locks past lease expiry. Shutdown also resolves queued operations and late completions, preventing expired owners from writing and callers from waiting indefinitely. - Fixed migration/rollback retries after a successful abort being mistaken for completed cutovers. Verified aborts can be retried without deleting journals; Velocity also supports cancelling unexecuted plans and safely repeating interrupted aborts. - Fixed MySQL startup deadlocks when network groups initialize separate scopes concurrently. Duplicate owners of the same scope remain rejected. - Fixed YAML saves after MySQL-to-YAML rollback dropping `runtime-updated-at`, regressing player aggregate versions and breaking canonical backup parity. - Fixed MySQL startup checksum mismatches from packaged migration line endings. JARs preserve the original migration bytes; never edit database checksums to bypass validation. ### Player state and moderation - Fixed delayed proxy mute lookups clearing newer mutes or leaving backend caches incorrectly cleared. - Fixed proxy public chat and PMs bypassing mutes before the player state loaded. With mute enforcement enabled, messages receive temporary-unavailability feedback until the authoritative mute lookup completes. - Fixed simultaneous Velocity YAML nickname changes assigning the same visible name to different players. Full player updates and `/nick` enforce normalized nickname ownership atomically. - Fixed late completions overwriting newer settings, channels, statistics, mutes, global state or Discord links/unlinks. Old quit cleanup no longer evicts newer login state; delayed code reads cannot restore invalidated Discord codes. - Fixed `/chatmute` overwriting the first-join counter and concurrent settings/ignore changes replacing unrelated values. - Fixed `/corechatx reload` temporarily resetting proxy preferences or statistics. Hydrated mirrors and pending requests survive reload, then refresh after transport registration. Deployment and storage identity changes still require restart. ### Discord and integrations - Fixed link instructions showing `/link` with custom Discord command names. Minecraft code help, required-link admission and Discord DMs now use the configured standalone/proxy command. - Fixed the first inbound Discord message showing an unresolved linked-player nickname before proxy player state loaded. - Fixed mandatory Discord linking admitting unlinked players when commands were unavailable or code creation failed. `account-linking.require-linked-to-play` now denies entry; Velocity checks before backend entry. `deny-if-unverifiable` only controls role checks for already linked players. - Fixed Velocity Discord console feedback missing messages sent through current or typed Adventure calls. - Reduced resource-pack fingerprint string copying during Discord ChatItem image initialization, cutting avoidable Paper startup/reload work while preserving the cache fingerprint format. - Fixed Discord token verification and gateway shutdown blocking Paper startup or `/corechatx reload`. Reconnection is asynchronous; retired connections and queued role callbacks cannot revive the old bridge. - Fixed linked Discord messages being dropped on standalone MySQL after the Minecraft player quit or the server restarted. Offline nickname/staff checks load saved settings asynchronously, honor `allow-offline-linked-players` and deny delivery when settings are unavailable. ### Chat and menus - Fixed dragging items into the temporary `/ccxsettings` inventory and losing them when the menu closed. - Fixed cross-server PM timeouts silently discarding pending deliveries. Each affected sender is now notified once. - Fixed inbound bridge and outbound Telegram length limits splitting emoji UTF-16 pairs. ## Configuration - Added `update-check.enabled` and `update-check.interval-hours` to Paper `config.yml` and Velocity `velocity-config.properties`. Customize OP notices through `messages.yml` keys `updates.stable` and `updates.preview`; Velocity notifications are console-only. - Added `{link_command}`, the configured Discord command name without `/`, to linking messages. Use `/{link_command} code:{code}`; standalone Paper or Velocity supplies `account-linking.link-command-name`. Exact older stock messages adapt automatically; customized messages need the placeholder added manually. - Paper `storage.yml` and Velocity `velocity-storage.yml` now configure `storage.backend`, stable namespace/scope, MySQL connections/TLS, bounded pools/executors, timeouts, leases and `schema-auto-migrate`. Supply credentials through `storage.mysql.password-env`; TLS defaults to `VERIFY_IDENTITY`. - Added saved `persistent-channel-enabled`, defaulting to `true` for existing players, and `link-check-unavailable-kick` in Paper Discord messages and Velocity account-linking messages. ## Permissions - Added `corechatx.command.storage` for inspection and backups: default `op` on Paper; grant it through the permission provider on Velocity. Migration/rollback changes remain console-only, including for operators. Velocity transitions require `--all-scopes`. ## Compatibility - Paper and Velocity JARs include the MySQL runtime and JDBC driver. Install only the matching platform JAR; separate storage-module, HikariCP or Connector/J installs are unnecessary. YAML-only setups need no database. ## Migration - **Before updating, stop the affected servers and back up every file and subfolder in the CoreChatX plugin folders**, including configuration, player data, credentials, journals and backups. Keep the old JARs separately; also back up MySQL when used. - The website includes a [2026.2.6 YAML → 2026.3.0 MySQL migration guide](https://wiki-corechatx.icewolf23x.dev/migration.html) for standalone Paper and Velocity: backups, configuration, verified migration, activation, rollback and interruption recovery. - Upgrade Velocity and every participating Paper backend together. Protocol `29` cannot reliably exchange complete runtime state and mutations with older JARs. - Legacy `storage.sql.*` never enabled MySQL. Use `storage.backend: MYSQL` and `storage.mysql.*`; existing YAML data requires `/ccxstorage migrate files-to-mysql plan` and confirmed execute/restart. Changing the backend alone does not migrate data. - Schema `V003` adds persistent channels as the default for existing players. With `schema-auto-migrate: false`, arrange the schema upgrade before startup. Older builds reject schema `3`; replacing the JAR cannot downgrade the database. - Keep corrected 2026.3.0 JARs after abort: older builds cannot read the `ABORTED` local journal state. Use each new plan's run IDs and tokens; never delete journals or alter checksums to force a retry. - Use `/ccxstorage rollback mysql-to-files` to export current MySQL data before returning to YAML; never overwrite newer data with a pre-migration backup. Canonical format `1` remains readable; non-persistent channel preferences require format `2` and its matching newer build. ## Known issues - Discord rate limits can delay channel-topic updates after rapid joins/restarts. Chat and linking continue while topic updates retry. - The 2026.2.6 migration was tested with synthetic legacy data, not production data. Rehearse with an isolated copy of your own data and retain complete backups before cutover.
release

CoreChatX 2026.3.0

2026.3.0
9 сент. 2026 г.7Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2velocity
Скачать
Что нового
# CoreChatX 2026.3.0 ## Added - Added asynchronous Modrinth update checks after startup and every 24 hours by default. Console and OP players receive stable-update recommendations and separate experimental alpha/beta announcements; no automatic installation occurs. - Optional `MYSQL` runtime storage for standalone Paper and Velocity: preferences, nicknames, statistics, active/hidden channels, ignores, mutes, global state, Discord links, unlink records and pending codes. `YAML` remains the default; Velocity keeps each network group separate. - Added `/ccxstorage` on Paper and Velocity for health checks, file/database validation, checksummed backups, migration plans, parity checks, history, resume and abort. Confirmations and durable journals protect migration/rollback; unfinished transitions keep affected gameplay storage unavailable. - Added the **Channel** compass in `/ccxsettings` and `/chatsettings`: `Persistent` keeps the last channel; `Non persistent` restores the configured default on reconnect, including after restarts. Changing the preference leaves the current channel unchanged, as do proxy backend transfers within the same connection. ## Changed - Settings, nickname, channel, ignore and moderation changes now report success after authority confirmation. Single-setting updates preserve other preferences; `/ignore` and `/unignore` apply the requested final state and enforce saved-list limits. A response timeout does not cancel an accepted database write. - With `MYSQL`, Paper loads complete player state before admission. Gameplay storage waits for database readiness and ownership checks; failures never silently select YAML. A database lease prevents two live processes from writing the same scope. ## Fixed ### Storage and recovery - Fixed `/ccxstorage migrate files-to-mysql abort` deleting rows that a planned/failed run never imported. Abort now preserves later imports and refuses deletion when imported contents have changed. - Fixed recovery accepting run IDs from another namespace or scope. Migration operations now enforce the configured owner, preventing cross-group changes. - Fixed Paper treating malformed persistent YAML as empty data and overwriting it. Startup reports the error; failed player/global reloads block writes and shutdown flushes until the file is repaired and successfully reloaded. - Fixed older concurrent YAML snapshots replacing newer data. Write failures now reach callers, and maintenance drains accepted writes—including timed-out requests—before migration or rollback. - Fixed writes retaining authority after waiting on locks past lease expiry. Shutdown also resolves queued operations and late completions, preventing expired owners from writing and callers from waiting indefinitely. - Fixed migration/rollback retries after a successful abort being mistaken for completed cutovers. Verified aborts can be retried without deleting journals; Velocity also supports cancelling unexecuted plans and safely repeating interrupted aborts. - Fixed MySQL startup deadlocks when network groups initialize separate scopes concurrently. Duplicate owners of the same scope remain rejected. - Fixed YAML saves after MySQL-to-YAML rollback dropping `runtime-updated-at`, regressing player aggregate versions and breaking canonical backup parity. - Fixed MySQL startup checksum mismatches from packaged migration line endings. JARs preserve the original migration bytes; never edit database checksums to bypass validation. ### Player state and moderation - Fixed delayed proxy mute lookups clearing newer mutes or leaving backend caches incorrectly cleared. - Fixed proxy public chat and PMs bypassing mutes before the player state loaded. With mute enforcement enabled, messages receive temporary-unavailability feedback until the authoritative mute lookup completes. - Fixed simultaneous Velocity YAML nickname changes assigning the same visible name to different players. Full player updates and `/nick` enforce normalized nickname ownership atomically. - Fixed late completions overwriting newer settings, channels, statistics, mutes, global state or Discord links/unlinks. Old quit cleanup no longer evicts newer login state; delayed code reads cannot restore invalidated Discord codes. - Fixed `/chatmute` overwriting the first-join counter and concurrent settings/ignore changes replacing unrelated values. - Fixed `/corechatx reload` temporarily resetting proxy preferences or statistics. Hydrated mirrors and pending requests survive reload, then refresh after transport registration. Deployment and storage identity changes still require restart. ### Discord and integrations - Fixed link instructions showing `/link` with custom Discord command names. Minecraft code help, required-link admission and Discord DMs now use the configured standalone/proxy command. - Fixed the first inbound Discord message showing an unresolved linked-player nickname before proxy player state loaded. - Fixed mandatory Discord linking admitting unlinked players when commands were unavailable or code creation failed. `account-linking.require-linked-to-play` now denies entry; Velocity checks before backend entry. `deny-if-unverifiable` only controls role checks for already linked players. - Fixed Velocity Discord console feedback missing messages sent through current or typed Adventure calls. - Reduced resource-pack fingerprint string copying during Discord ChatItem image initialization, cutting avoidable Paper startup/reload work while preserving the cache fingerprint format. - Fixed Discord token verification and gateway shutdown blocking Paper startup or `/corechatx reload`. Reconnection is asynchronous; retired connections and queued role callbacks cannot revive the old bridge. - Fixed linked Discord messages being dropped on standalone MySQL after the Minecraft player quit or the server restarted. Offline nickname/staff checks load saved settings asynchronously, honor `allow-offline-linked-players` and deny delivery when settings are unavailable. ### Chat and menus - Fixed dragging items into the temporary `/ccxsettings` inventory and losing them when the menu closed. - Fixed cross-server PM timeouts silently discarding pending deliveries. Each affected sender is now notified once. - Fixed inbound bridge and outbound Telegram length limits splitting emoji UTF-16 pairs. ## Configuration - Added `update-check.enabled` and `update-check.interval-hours` to Paper `config.yml` and Velocity `velocity-config.properties`. Customize OP notices through `messages.yml` keys `updates.stable` and `updates.preview`; Velocity notifications are console-only. - Added `{link_command}`, the configured Discord command name without `/`, to linking messages. Use `/{link_command} code:{code}`; standalone Paper or Velocity supplies `account-linking.link-command-name`. Exact older stock messages adapt automatically; customized messages need the placeholder added manually. - Paper `storage.yml` and Velocity `velocity-storage.yml` now configure `storage.backend`, stable namespace/scope, MySQL connections/TLS, bounded pools/executors, timeouts, leases and `schema-auto-migrate`. Supply credentials through `storage.mysql.password-env`; TLS defaults to `VERIFY_IDENTITY`. - Added saved `persistent-channel-enabled`, defaulting to `true` for existing players, and `link-check-unavailable-kick` in Paper Discord messages and Velocity account-linking messages. ## Permissions - Added `corechatx.command.storage` for inspection and backups: default `op` on Paper; grant it through the permission provider on Velocity. Migration/rollback changes remain console-only, including for operators. Velocity transitions require `--all-scopes`. ## Compatibility - Paper and Velocity JARs include the MySQL runtime and JDBC driver. Install only the matching platform JAR; separate storage-module, HikariCP or Connector/J installs are unnecessary. YAML-only setups need no database. ## Migration - **Before updating, stop the affected servers and back up every file and subfolder in the CoreChatX plugin folders**, including configuration, player data, credentials, journals and backups. Keep the old JARs separately; also back up MySQL when used. - The website includes a [2026.2.6 YAML → 2026.3.0 MySQL migration guide](https://wiki-corechatx.icewolf23x.dev/migration.html) for standalone Paper and Velocity: backups, configuration, verified migration, activation, rollback and interruption recovery. - Upgrade Velocity and every participating Paper backend together. Protocol `29` cannot reliably exchange complete runtime state and mutations with older JARs. - Legacy `storage.sql.*` never enabled MySQL. Use `storage.backend: MYSQL` and `storage.mysql.*`; existing YAML data requires `/ccxstorage migrate files-to-mysql plan` and confirmed execute/restart. Changing the backend alone does not migrate data. - Schema `V003` adds persistent channels as the default for existing players. With `schema-auto-migrate: false`, arrange the schema upgrade before startup. Older builds reject schema `3`; replacing the JAR cannot downgrade the database. - Keep corrected 2026.3.0 JARs after abort: older builds cannot read the `ABORTED` local journal state. Use each new plan's run IDs and tokens; never delete journals or alter checksums to force a retry. - Use `/ccxstorage rollback mysql-to-files` to export current MySQL data before returning to YAML; never overwrite newer data with a pre-migration backup. Canonical format `1` remains readable; non-persistent channel preferences require format `2` and its matching newer build. ## Known issues - Discord rate limits can delay channel-topic updates after rapid joins/restarts. Chat and linking continue while topic updates retry. - The 2026.2.6 migration was tested with synthetic legacy data, not production data. Rehearse with an isolated copy of your own data and retain complete backups before cutover.
release

CoreChatX 2026.2.6

2026.2.6
26 июл. 2026 г.60Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2paper, purpur
Скачать
Что нового
# CoreChatX 2026.2.6 ## Added - Added `/hidechannel <channel> [minutes]` and `/unhidechannel <channel>` so players can hide an accessible channel permanently or for a positive number of minutes without receiving or accidentally sending messages there. ## Fixed - Fixed Discord role-whitelist revocation: removing a linked member's final allowed role, or removing the member from the configured guild, now disconnects the online player on standalone Paper and Velocity and blocks reconnection until access is restored. Enable Discord's privileged **Server Members Intent** whenever `account-linking.required-play-roles` is active. - Fixed `/chatsettings` using repositories and menu services created before `/corechatx reload`, which could write preferences to obsolete runtime state. - Fixed `/reply` retaining direct and inverse conversation targets after a player leaves, preventing stale targets from carrying into a later session. - Fixed Velocity replay leaving an offline backend with an obsolete Discord link after an unlink aged out of the seven-day runtime cache or the proxy restarted; unlink tombstones are now durable and timestamp-ordered so newer relinks still win. - Fixed Discord player-list commands accessing Bukkit player and nickname state from JDA threads; Paper now captures an immutable player snapshot on the main thread before building the Discord response. - Fixed concurrent Discord link, unlink, pruning, and replay updates on Velocity so direct and inverse routing state remain consistent under simultaneous events. ## Permissions - Added `corechatx.command.hidechannel` and `corechatx.command.unhidechannel`, both enabled for players by default.
release

CoreChatX 2026.2.6

2026.2.6
26 июл. 2026 г.28Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2velocity
Скачать
Что нового
# CoreChatX 2026.2.6 ## Added - Added `/hidechannel <channel> [minutes]` and `/unhidechannel <channel>` so players can hide an accessible channel permanently or for a positive number of minutes without receiving or accidentally sending messages there. ## Fixed - Fixed Discord role-whitelist revocation: removing a linked member's final allowed role, or removing the member from the configured guild, now disconnects the online player on standalone Paper and Velocity and blocks reconnection until access is restored. Enable Discord's privileged **Server Members Intent** whenever `account-linking.required-play-roles` is active. - Fixed `/chatsettings` using repositories and menu services created before `/corechatx reload`, which could write preferences to obsolete runtime state. - Fixed `/reply` retaining direct and inverse conversation targets after a player leaves, preventing stale targets from carrying into a later session. - Fixed Velocity replay leaving an offline backend with an obsolete Discord link after an unlink aged out of the seven-day runtime cache or the proxy restarted; unlink tombstones are now durable and timestamp-ordered so newer relinks still win. - Fixed Discord player-list commands accessing Bukkit player and nickname state from JDA threads; Paper now captures an immutable player snapshot on the main thread before building the Discord response. - Fixed concurrent Discord link, unlink, pruning, and replay updates on Velocity so direct and inverse routing state remain consistent under simultaneous events. ## Permissions - Added `corechatx.command.hidechannel` and `corechatx.command.unhidechannel`, both enabled for players by default.
release

CoreChatX 2026.2.5

2026.2.5
26 июн. 2026 г.67Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2paper, purpur
Скачать
Что нового
# CoreChatX 2026.2.5 ## Added - Added bStats metrics for Paper and Velocity. - Added configurable public-chat `/ignore` behavior through `ignore.public-chat-mode` and per-channel `channels.<id>.ignore.public-chat-mode`. ## Fixed - Fixed public mention and custom-ping ignore handling so `notifications-only` blocks notifications from ignored players while keeping their public chat messages visible. - Fixed `hide-message` public-chat ignore mode so ignored players' public channel messages are not delivered to the viewer, including network and Discord bridge deliveries. - Fixed legacy formatting permission checks so denied nodes such as `corechatx.format.color.aqua` can reliably block matching `&` color codes. - Fixed denied legacy formatting codes being converted anyway after a second formatting pass. ## Configuration `privacy.yml` now supports: ```yaml ignore: public-chat-mode: "notifications-only" ``` `channels.yml` now supports per-channel overrides: ```yaml channels: global: ignore: public-chat-mode: "inherit" ``` Valid public-chat ignore modes are `off`, `notifications-only` and `hide-message`. Per-channel overrides also support `inherit`. ## Permissions - Added `corechatx.format.color`, `corechatx.format.color.*`, `corechatx.format.style` and `corechatx.format.style.*` as group permission nodes for player-authored legacy formatting. ## Technical - Paper and Velocity jars now include bStats' MIT-licensed single-file implementation and license notices without adding shaded external library jars.
release

CoreChatX 2026.2.5

2026.2.5
26 июн. 2026 г.25Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2velocity
Скачать
Что нового
# CoreChatX 2026.2.5 ## Added - Added bStats metrics for Paper and Velocity. - Added configurable public-chat `/ignore` behavior through `ignore.public-chat-mode` and per-channel `channels.<id>.ignore.public-chat-mode`. ## Fixed - Fixed public mention and custom-ping ignore handling so `notifications-only` blocks notifications from ignored players while keeping their public chat messages visible. - Fixed `hide-message` public-chat ignore mode so ignored players' public channel messages are not delivered to the viewer, including network and Discord bridge deliveries. - Fixed legacy formatting permission checks so denied nodes such as `corechatx.format.color.aqua` can reliably block matching `&` color codes. - Fixed denied legacy formatting codes being converted anyway after a second formatting pass. ## Configuration `privacy.yml` now supports: ```yaml ignore: public-chat-mode: "notifications-only" ``` `channels.yml` now supports per-channel overrides: ```yaml channels: global: ignore: public-chat-mode: "inherit" ``` Valid public-chat ignore modes are `off`, `notifications-only` and `hide-message`. Per-channel overrides also support `inherit`. ## Permissions - Added `corechatx.format.color`, `corechatx.format.color.*`, `corechatx.format.style` and `corechatx.format.style.*` as group permission nodes for player-authored legacy formatting. ## Technical - Paper and Velocity jars now include bStats' MIT-licensed single-file implementation and license notices without adding shaded external library jars.
release

CoreChatX 2026.2.4

2026.2.4
16 июн. 2026 г.25Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2paper, purpur
Скачать
Что нового
# CoreChatX 2026.2.4 ## Added - Added batched Discord console live logs for Paper and Velocity. CoreChatX now edits the latest bot log message until the configured size limit is reached, then sends a new silent message. - Added real Velocity proxy console live-log support through `discord.console.live-log`. - Added `nicknames.allow-special-characters`, default `false`, to keep `/nick` visible text limited to `A-Z`, `a-z`, `0-9` and `_` unless explicitly enabled. - Added per-event Discord mirror overrides under `discord.event-messages.events.death` and `discord.event-messages.events.advancement`. - Added ChatItem snapshot references to cross-server private messages so `/msg` and `/reply` can carry inspectable ChatItem previews through Velocity. ## Changed - Discord console live logs now use `discord.console.live-log-format.*` for `max-message-chars`, `monospace`, `line-prefix`, `date-format` and `hour-format`. - `/msg` and `/reply` now render configured ChatItem tokens such as `[i]`, `[item]`, `[inv]` and related aliases instead of sending them as plain text. - Discord item detail tooltips now resolve MiniMessage tags, including formatting and gradients, before the image renderer draws the tooltip text. - `/msg` tab completion now includes matching custom nicknames and avoids suggesting the sender's own real name or nickname. - Network chat completion entries now include plain custom nicknames, with support for `@nickname` completions. - Velocity Discord nickname sync now includes the configured Minecraft nickname prefix when the player has a custom nickname, while keeping the real-name fallback unprefixed. - Velocity third-party library logs now use the CoreChatX startup banner style and summarize present, missing and downloaded libraries without duplicate status lines. ## Fixed - Fixed Discord inbound messages after a restart sometimes reaching Minecraft without the linked player's LuckPerms prefix. CoreChatX now waits for async LuckPerms user data before final delivery. - Fixed linked Discord inbound permission checks for offline linked players by resolving channel send permission and mute-chat bypass through async LuckPerms checks. - Fixed private-message target lookup so custom nicknames can resolve to the real Minecraft username before local or cross-server delivery. - Fixed Velocity private-message ChatItem routing so remote preview requests can be forwarded back to the backend that owns the original snapshot. - Fixed Discord ChatItem selected-item actions so expired or unavailable previews return a Discord message instead of leaving the interaction pending. - Fixed Velocity Discord inbound fanout so a message that cannot be delivered to any backend in the CoreChatX group returns a clear failure instead of failing silently. - Fixed Velocity Discord console command replies so commands with no output no longer send the debug-style `Command executed. No command output was captured.` message, and translatable Velocity command output such as `!glist all` is rendered as readable text instead of raw translation keys. - Fixed `discord.connection-messages.channels` fallback semantics so empty lists fall back to `discord.default-channel-id`, and the configured values are treated as Discord channel IDs. - Fixed Velocity Discord inbound handling so route dispatch runs through the Velocity scheduler when the proxy runtime is available. ## Configuration New or changed default keys: - `config.yml -> nicknames.allow-special-characters` - `discord.yml -> discord.console.live-log-format.max-message-chars` - `discord.yml -> discord.console.live-log-format.monospace` - `discord.yml -> discord.console.live-log-format.line-prefix` - `discord.yml -> discord.console.live-log-format.date-format` - `discord.yml -> discord.console.live-log-format.hour-format` - `discord.yml -> discord.event-messages.events.death` - `discord.yml -> discord.event-messages.events.advancement` - `velocity-discord.yml -> discord.console.live-log-format.max-message-chars` - `velocity-discord.yml -> discord.console.live-log-format.monospace` - `velocity-discord.yml -> discord.console.live-log-format.line-prefix` - `velocity-discord.yml -> discord.console.live-log-format.date-format` - `velocity-discord.yml -> discord.console.live-log-format.hour-format` - `velocity-discord.yml -> discord.event-messages.events.death` - `velocity-discord.yml -> discord.event-messages.events.advancement` ## Compatibility - CoreChatX proxy protocol is now version `27`; update Paper and Velocity jars together. - Velocity third-party libraries are expected under the lowercase plugin data folder path `plugins/corechatx/libs`. ## Migration - If `discord.connection-messages.channels` is configured, keep Discord channel IDs in that list. - If you customized `death-format`, `advancement-format`, `death-color`, `advancement-color`, `death-description` or `advancement-description`, move those values into the matching `discord.event-messages.events.<event>` section. - Review `discord.console.live-log-format.*` if Discord console logging is enabled, especially if you do not want monospace code blocks or timestamp prefixes.
release

CoreChatX 2026.2.4

2026.2.4
16 июн. 2026 г.18Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2velocity
Скачать
Что нового
# CoreChatX 2026.2.4 ## Added - Added batched Discord console live logs for Paper and Velocity. CoreChatX now edits the latest bot log message until the configured size limit is reached, then sends a new silent message. - Added real Velocity proxy console live-log support through `discord.console.live-log`. - Added `nicknames.allow-special-characters`, default `false`, to keep `/nick` visible text limited to `A-Z`, `a-z`, `0-9` and `_` unless explicitly enabled. - Added per-event Discord mirror overrides under `discord.event-messages.events.death` and `discord.event-messages.events.advancement`. - Added ChatItem snapshot references to cross-server private messages so `/msg` and `/reply` can carry inspectable ChatItem previews through Velocity. ## Changed - Discord console live logs now use `discord.console.live-log-format.*` for `max-message-chars`, `monospace`, `line-prefix`, `date-format` and `hour-format`. - `/msg` and `/reply` now render configured ChatItem tokens such as `[i]`, `[item]`, `[inv]` and related aliases instead of sending them as plain text. - Discord item detail tooltips now resolve MiniMessage tags, including formatting and gradients, before the image renderer draws the tooltip text. - `/msg` tab completion now includes matching custom nicknames and avoids suggesting the sender's own real name or nickname. - Network chat completion entries now include plain custom nicknames, with support for `@nickname` completions. - Velocity Discord nickname sync now includes the configured Minecraft nickname prefix when the player has a custom nickname, while keeping the real-name fallback unprefixed. - Velocity third-party library logs now use the CoreChatX startup banner style and summarize present, missing and downloaded libraries without duplicate status lines. ## Fixed - Fixed Discord inbound messages after a restart sometimes reaching Minecraft without the linked player's LuckPerms prefix. CoreChatX now waits for async LuckPerms user data before final delivery. - Fixed linked Discord inbound permission checks for offline linked players by resolving channel send permission and mute-chat bypass through async LuckPerms checks. - Fixed private-message target lookup so custom nicknames can resolve to the real Minecraft username before local or cross-server delivery. - Fixed Velocity private-message ChatItem routing so remote preview requests can be forwarded back to the backend that owns the original snapshot. - Fixed Discord ChatItem selected-item actions so expired or unavailable previews return a Discord message instead of leaving the interaction pending. - Fixed Velocity Discord inbound fanout so a message that cannot be delivered to any backend in the CoreChatX group returns a clear failure instead of failing silently. - Fixed Velocity Discord console command replies so commands with no output no longer send the debug-style `Command executed. No command output was captured.` message, and translatable Velocity command output such as `!glist all` is rendered as readable text instead of raw translation keys. - Fixed `discord.connection-messages.channels` fallback semantics so empty lists fall back to `discord.default-channel-id`, and the configured values are treated as Discord channel IDs. - Fixed Velocity Discord inbound handling so route dispatch runs through the Velocity scheduler when the proxy runtime is available. ## Configuration New or changed default keys: - `config.yml -> nicknames.allow-special-characters` - `discord.yml -> discord.console.live-log-format.max-message-chars` - `discord.yml -> discord.console.live-log-format.monospace` - `discord.yml -> discord.console.live-log-format.line-prefix` - `discord.yml -> discord.console.live-log-format.date-format` - `discord.yml -> discord.console.live-log-format.hour-format` - `discord.yml -> discord.event-messages.events.death` - `discord.yml -> discord.event-messages.events.advancement` - `velocity-discord.yml -> discord.console.live-log-format.max-message-chars` - `velocity-discord.yml -> discord.console.live-log-format.monospace` - `velocity-discord.yml -> discord.console.live-log-format.line-prefix` - `velocity-discord.yml -> discord.console.live-log-format.date-format` - `velocity-discord.yml -> discord.console.live-log-format.hour-format` - `velocity-discord.yml -> discord.event-messages.events.death` - `velocity-discord.yml -> discord.event-messages.events.advancement` ## Compatibility - CoreChatX proxy protocol is now version `27`; update Paper and Velocity jars together. - Velocity third-party libraries are expected under the lowercase plugin data folder path `plugins/corechatx/libs`. ## Migration - If `discord.connection-messages.channels` is configured, keep Discord channel IDs in that list. - If you customized `death-format`, `advancement-format`, `death-color`, `advancement-color`, `death-description` or `advancement-description`, move those values into the matching `discord.event-messages.events.<event>` section. - Review `discord.console.live-log-format.*` if Discord console logging is enabled, especially if you do not want monospace code blocks or timestamp prefixes.
release

CoreChatX 2026.2.3

2026.2.3
4 июн. 2026 г.30Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2paper, purpur
Скачать
Что нового
# CoreChatX 2026.2.3 ## Added - Added channel command shortcuts through `channels.<id>.shortcut`. - Running `/shortcut` switches the player to that CoreChatX channel. - Running `/shortcut <message>` sends one message to that channel without changing the player's active channel. - Added Discord nickname sync with `account-linking.sync-mc-name` for both Paper `STANDALONE` and Velocity `PROXY`. Linked Discord members can have their Discord nickname updated to the Minecraft nickname, falling back to the real player name when no custom nickname is set. - Added Discord event mirrors through `discord.event-messages` for death and advancement messages. - Paper `STANDALONE` can send the event embeds directly. - Velocity `PROXY` can send the accepted backend events once per CoreChatX group. - Added Discord server status embeds through `discord.server-status`. - Paper `STANDALONE` can announce clean server startup/shutdown. - Velocity `PROXY` can announce proxy startup/shutdown and backend online/offline state changes from `backend-groups.*`. - `proxy`, `default`, and `servers.<id>` entries can override channels, titles, descriptions, colors, and enabled flags. - Added `/corechatx itemcache <warmup|status|cancel>` with `corechatx.command.itemcache` to pre-render Discord ChatItem item icons into cache. - Added ChatItem token placeholders for in-game token formats: `{token}`, `{name}`, `{material}`, and `{amount}`. `{name}` uses `custom_name`, then `item_name`, then the material fallback. - Added `LICENSE` and `THIRD-PARTY-NOTICES.md` to document CoreChatX proprietary code and the third-party dependency notice summary. ## Changed - Removed shaded jar packaging. Paper now declares external runtime libraries through `plugin.yml` `libraries`, while Velocity downloads its external third-party jars into `plugins/CoreChatX/libs` and logs whether libraries were downloaded or already present. - Discord ChatItem renders now default to `discord-images.render.scale: 8`, `single-item-details-scale: 8`, and `single-item-details-icon-multiplier: 4`. - Velocity PlaceholderAPI resolution through `PAPIProxyBridge` now times out after 3 seconds and falls back to the original text instead of waiting indefinitely. ## Fixed - Fixed mentions and ping notifications for channels the target player cannot read. If the mentioned player cannot receive the channel, CoreChatX no longer pings them and no longer renders the name as an `@` mention. - Fixed Discord selected-item inspection hanging forever when the selected snapshot expired or the selected item could not be rendered. Discord now receives the configured `expired-message` or `unavailable-message`. - Fixed intermittent missing Discord ChatItem previews in `PROXY` mode by sending preview packets on the server thread, allowing empty failure packets, retrying failed Discord image sends, and completing chunk transfers only once all chunks are available. - Fixed enchanted books in Discord item rendering by including stored enchantments from `EnchantmentStorageMeta`, so stored enchants can appear in tooltip data and trigger enchanted rendering. - Fixed Velocity Discord inbound delivery so backend plugin-message send failures are caught and logged per backend instead of silently breaking delivery. - Fixed Velocity connection-message routing so proxy join/quit fanout handles backend send failures and keeps group join tracking consistent. - Fixed Velocity YAML default synchronization for keys that existed with a `null` value, so missing defaults can be restored more consistently. ## Configuration New or changed default keys: - `channels.<id>.shortcut` - `chatitems.yml -> tokens.item.token-format` placeholders: `{token}`, `{name}`, `{material}`, `{amount}` - `chatitems.yml -> discord-images.render.scale: 8` - `chatitems.yml -> discord-images.render.single-item-details-scale: 8` - `chatitems.yml -> discord-images.render.single-item-details-icon-multiplier: 4` - `account-linking.sync-mc-name` - `discord.event-messages` - `discord.server-status` `plugin.yml` now includes: - Paper runtime `libraries` - `corechatx.command.itemcache` ## Migration - Review `discord.connection-messages.channels` if you enabled Discord join/quit mirrors. Values must now be Discord channel IDs, not CoreChatX channel IDs. - Review `discord.server-status`, `discord.event-messages`, and `account-linking.sync-mc-name` before enabling them, especially on Velocity networks. - Existing configs should receive missing default keys automatically, but server owners should still compare `channels.yml`, `chatitems.yml`, `discord.yml`, and `velocity-discord.yml` with the new defaults.
release

CoreChatX 2026.2.3

2026.2.3
4 июн. 2026 г.15Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2velocity
Скачать
Что нового
# CoreChatX 2026.2.3 ## Added - Added channel command shortcuts through `channels.<id>.shortcut`. - Running `/shortcut` switches the player to that CoreChatX channel. - Running `/shortcut <message>` sends one message to that channel without changing the player's active channel. - Added Discord nickname sync with `account-linking.sync-mc-name` for both Paper `STANDALONE` and Velocity `PROXY`. Linked Discord members can have their Discord nickname updated to the Minecraft nickname, falling back to the real player name when no custom nickname is set. - Added Discord event mirrors through `discord.event-messages` for death and advancement messages. - Paper `STANDALONE` can send the event embeds directly. - Velocity `PROXY` can send the accepted backend events once per CoreChatX group. - Added Discord server status embeds through `discord.server-status`. - Paper `STANDALONE` can announce clean server startup/shutdown. - Velocity `PROXY` can announce proxy startup/shutdown and backend online/offline state changes from `backend-groups.*`. - `proxy`, `default`, and `servers.<id>` entries can override channels, titles, descriptions, colors, and enabled flags. - Added `/corechatx itemcache <warmup|status|cancel>` with `corechatx.command.itemcache` to pre-render Discord ChatItem item icons into cache. - Added ChatItem token placeholders for in-game token formats: `{token}`, `{name}`, `{material}`, and `{amount}`. `{name}` uses `custom_name`, then `item_name`, then the material fallback. - Added `LICENSE` and `THIRD-PARTY-NOTICES.md` to document CoreChatX proprietary code and the third-party dependency notice summary. ## Changed - Removed shaded jar packaging. Paper now declares external runtime libraries through `plugin.yml` `libraries`, while Velocity downloads its external third-party jars into `plugins/CoreChatX/libs` and logs whether libraries were downloaded or already present. - Discord ChatItem renders now default to `discord-images.render.scale: 8`, `single-item-details-scale: 8`, and `single-item-details-icon-multiplier: 4`. - Velocity PlaceholderAPI resolution through `PAPIProxyBridge` now times out after 3 seconds and falls back to the original text instead of waiting indefinitely. ## Fixed - Fixed mentions and ping notifications for channels the target player cannot read. If the mentioned player cannot receive the channel, CoreChatX no longer pings them and no longer renders the name as an `@` mention. - Fixed Discord selected-item inspection hanging forever when the selected snapshot expired or the selected item could not be rendered. Discord now receives the configured `expired-message` or `unavailable-message`. - Fixed intermittent missing Discord ChatItem previews in `PROXY` mode by sending preview packets on the server thread, allowing empty failure packets, retrying failed Discord image sends, and completing chunk transfers only once all chunks are available. - Fixed enchanted books in Discord item rendering by including stored enchantments from `EnchantmentStorageMeta`, so stored enchants can appear in tooltip data and trigger enchanted rendering. - Fixed Velocity Discord inbound delivery so backend plugin-message send failures are caught and logged per backend instead of silently breaking delivery. - Fixed Velocity connection-message routing so proxy join/quit fanout handles backend send failures and keeps group join tracking consistent. - Fixed Velocity YAML default synchronization for keys that existed with a `null` value, so missing defaults can be restored more consistently. ## Configuration New or changed default keys: - `channels.<id>.shortcut` - `chatitems.yml -> tokens.item.token-format` placeholders: `{token}`, `{name}`, `{material}`, `{amount}` - `chatitems.yml -> discord-images.render.scale: 8` - `chatitems.yml -> discord-images.render.single-item-details-scale: 8` - `chatitems.yml -> discord-images.render.single-item-details-icon-multiplier: 4` - `account-linking.sync-mc-name` - `discord.event-messages` - `discord.server-status` `plugin.yml` now includes: - Paper runtime `libraries` - `corechatx.command.itemcache` ## Migration - Review `discord.connection-messages.channels` if you enabled Discord join/quit mirrors. Values must now be Discord channel IDs, not CoreChatX channel IDs. - Review `discord.server-status`, `discord.event-messages`, and `account-linking.sync-mc-name` before enabling them, especially on Velocity networks. - Existing configs should receive missing default keys automatically, but server owners should still compare `channels.yml`, `chatitems.yml`, `discord.yml`, and `velocity-discord.yml` with the new defaults.
release

CoreChatX 2026.2.2

2026.2.2
2 июн. 2026 г.18Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2paper, purpur
Скачать
Что нового
# CoreChatX 2026.2.2 ## Added - Added Discord image rendering for ChatItem tokens sent from Minecraft: `[item]`, `[i]`, `[armor]`, `[hotbar]`, `[inventory]`, `[inv]`, `[enderchest]`, `[ender]`, `[ec]`, and shulker previews from `[item]`. - In `STANDALONE`, Paper renders and sends the Discord attachment directly. - In `PROXY`, Paper renders the snapshot and Velocity sends the final Discord embed/attachment for the correct proxy group. - Added interactive Discord item inspection for non-`[item]` snapshots. Inventory-like renders can show dropdown menus; selecting an entry sends an ephemeral single-item preview to that Discord user. The menu expires with the same lifetime as the in-game ChatItem preview token. - Added Minecraft-style single item renders for Discord `[item]` previews. The generated image uses the Minecraft bitmap font, tooltip background, custom names, lore, enchantments, potion effects, attributes, armor trims, durability, and item icon rendering instead of plain Discord embed text. - Added Discord handling for inbound attachments. Discord images/files now appear in Minecraft as clickable `[filename]` components with hover text and an open-url click action; messages with only attachments are forwarded too. - Added Discord console support: - `discord.console` in Paper `discord.yml` can run a standalone or per-backend console bot. - `discord.console` in Velocity `velocity-discord.yml` can run proxy console commands from Discord. - `command-prefix: ""` is allowed and makes every message in the console channel execute as a command. - Added Discord `player-list` command support for both Paper `STANDALONE` and Velocity `PROXY`. - Text command default: `!playerlist`. - Slash command default: `/playerlist`. - Velocity resolves the target proxy group from `discord.inbound.channel-routes`. - Added Discord text channel description updates through `discord.channel-description`. - Paper `STANDALONE`: updates standalone channel topics. - Velocity `PROXY`: updates text channel topics per configured `network-channel`. - Internal placeholders: `{online}` and `{online_in_group}`. - PlaceholderAPI placeholders are supported on Paper; Velocity can resolve them through `PAPIProxyBridge` when installed. - Added Velocity-owned join/quit/first-join announcements for `deployment.mode: PROXY`. - Velocity now decides join/quit based on proxy group entry, group switch, and proxy disconnect. - Switching backend inside the same CoreChatX group does not announce join/quit. - Switching between groups sends quit to the old group and join to the new group. - Added group-wide broadcast routing in `PROXY` mode. Paper `/broadcast <message>` now fans out to the current Velocity group instead of only the local backend, and Velocity also provides `/broadcast`. - Added player head rendering support for name-only profile components such as `minecraft:player_head[minecraft:profile="IceWolf23X"]`, in addition to heads that already contain texture properties. ## Changed - ChatItem in-game previews now use more compact layouts for single/small snapshots: - `[item]` opens a 5-slot hopper preview with the item centered. - `[armor]` opens a 5-slot hopper preview with helmet, chestplate, leggings, boots, and offhand. - `[inventory]`, `[hotbar]`, `[enderchest]`, and shulker previews keep their existing snapshot sizes. - Velocity Discord bridge output can resolve PlaceholderAPI placeholders through optional `PAPIProxyBridge` for Velocity-side formats such as player list rows, channel descriptions, join/quit messages, and fallback Discord formats. - Paper `discord.yml` is now clearly split by runtime responsibility: - `STANDALONE` owns Discord bridge, account linking, login gates, player list, channel descriptions, and console. - `PROXY` keeps bridge/account-linking/login gates on Velocity, while Paper can still run a console-only backend bot if configured. ## Fixed - Fixed PlaceholderAPI placeholders staying unresolved in cross-server messages when the message had to be routed through Velocity. - Fixed proxy join/quit symptoms where quit messages could be missing, duplicated, or formatted differently depending on which backend still had players online. - Fixed Minecraft-to-Discord raw mention abuse. Players typing raw Discord mention syntax like `<@...>`, role mentions, `@everyone`, or `@here` can now be blocked from pinging Discord users/roles. - Fixed Discord inbound attachment forwarding so attachment-only Discord messages are no longer dropped before reaching Minecraft. - Fixed config synchronization behavior so missing default keys are added back to Paper YAML configs and Velocity YAML/properties configs instead of requiring a clean file for every new option. ## Configuration `chatitems.yml` now supports Discord image rendering and item menu configuration: ```yaml discord-images: enabled: true max-images-per-message: 3 embed: title: item: "{item_name}" armor: "{player_nickname}'s armor" hotbar: "{player_nickname}'s hotbar" inventory: "{player_nickname}'s inventory" enderchest: "{player_nickname}'s ender chest" shulker: "{player_nickname}'s shulker" description: item: - "{enchantments}" - "{attributes}" - "{potion_effects}" - "{lore}" - "{armor_trim}" - "{banner_patterns}" - "{unbreakable}" - "{can_place_on}" - "{can_break}" - "{book_metadata}" - "{firework_data}" - "{durability_line}" armor: [] hotbar: [] inventory: [] enderchest: [] shulker: [] item-menu: enabled: true placeholder: "Inspect an item" label-format: "Slot {slot}: {item_display_name}" description-format: "x{amount} - {material}" expired-message: "This ChatItem preview has expired." unavailable-message: "That item preview is unavailable." render: scale: 5 single-item-details-scale: 5 single-item-details-icon-multiplier: 3 assets: minecraft-version: "auto" download-vanilla-assets: true resource-packs: [] ``` - `discord-images.embed.title.*`: controls Discord embed titles; for `[item]`, the title is rendered into the PNG tooltip panel. - `discord-images.embed.description.item`: controls single-item tooltip details. Empty metadata placeholders are skipped, so missing lore/enchantments/durability do not leave unwanted blank detail sections. - `discord-images.item-menu.*`: controls the Discord dropdown menu shown under multi-item snapshots. - `discord-images.render.scale`: pixel scale for inventory-like renders. - `discord-images.render.single-item-details-scale`: pixel scale for the single-item tooltip text/background. - `discord-images.render.single-item-details-icon-multiplier`: multiplier applied only to the item icon in the single-item details panel. - `discord-images.assets.resource-packs`: optional resource pack zip/folder paths used before vanilla fallback assets. `discord.yml` and `velocity-discord.yml` now include: ```yaml discord: prevent-mentions-from-minecraft: true connection-messages: enabled: false join-format: "" first-join-format: "" quit-format: "" embed: enabled: false join-color: "#57F287" first-join-color: "#57F287" quit-color: "#ED4245" join-description: "" first-join-description: "" quit-description: "" console: enabled: false channel-id: "" command-prefix: "!" player-list: enabled: false command: "!playerlist" register-slash-command: true slash-command-name: "playerlist" channel-description: enabled: false interval-seconds: 300 triggers: on-connection: true on-disconnection: true event-debounce-seconds: 5 entries: [] ``` Velocity `velocity-discord.yml` also supports group-aware options: ```yaml account-linking: required-play-roles: groups: # corechatx:survival: # enabled: true # role-ids: # - "123456789012345678" discord: channel-description: triggers: on-group-change: true entries: # - channel-id: "123456789012345678" # network-channel: "corechatx:survival" # description: "Players {online_in_group}/{online}" inbound: channel-routes: # "123456789012345678": # channel: "global" # network-channel: "corechatx:survival" # require-linked: inherit ``` New Velocity message file: ```yaml # velocity-messages.yml nicknames: prefix: "" first-join: enabled: true counter-enabled: true join-quit: join-enabled: true quit-enabled: true join: "<dark_gray>[</dark_gray><green>+</green><dark_gray>]</dark_gray> <white>{player_nickname}</white>" quit: "<dark_gray>[</dark_gray><red>-</red><dark_gray>]</dark_gray> <white>{player_nickname}</white>" first-join: "<dark_gray>[</dark_gray><gradient:#79d6b8:#5aa9ff>Welcome</gradient><dark_gray>]</dark_gray> <white>{player_nickname}</white><gray> is joining for the first time as player </gray><white>#{count}</white><gray>.</gray>" ``` `config.yml` join/quit comments now clarify that `join-quit.mode: NETWORK` is Velocity-owned in `PROXY` mode and uses `velocity-messages.yml`. ## Commands - Changed Paper `/broadcast <message>` in `PROXY` mode to route through Velocity to the backend group instead of sending only on the local backend. - Added Velocity `/broadcast`: - with one configured group: `/broadcast <message>`; - with multiple groups: `/broadcast <group> <message>`; - group can be `all` to broadcast to every CoreChatX group. - Added Discord `!playerlist` and `/playerlist` when `discord.player-list.enabled: true`. ## Compatibility - Paper and Velocity must both be updated to `2026.2.2`. The CoreChatX plugin-message protocol is `26` in this release and older proxy/backend builds are not compatible. - `PAPIProxyBridge` is optional on Velocity. Without it, CoreChatX still works, but Velocity-side PlaceholderAPI placeholders cannot be resolved and only CoreChatX internal placeholders such as `{online}` and `{online_in_group}` are available. - No vanilla Minecraft assets are bundled inside the plugin jar. Discord item rendering uses cached/downloaded vanilla assets and optional resource packs from `chatitems.yml`. ## Safety - `discord.prevent-mentions-from-minecraft: true` prevents Minecraft players from triggering Discord user, role, `@everyone`, or `@here` pings through the bridge. - Discord console commands are controlled by `discord.console.allowed-user-ids` and `discord.console.allowed-role-ids`; empty lists mean anyone with write access to the console channel can run commands. - Discord channel description updates are interval-based and event-debounced to avoid excessive Discord channel metadata updates during mass joins/quits. ## Migration - A clean config review is strongly recommended for `2026.2.2`, especially `chatitems.yml`, `discord.yml`, `velocity-discord.yml`, and the new `velocity-messages.yml`. - Existing configs should receive missing default keys automatically, but server owners should still compare the new defaults because several Discord features are split between Paper `STANDALONE` and Velocity `PROXY`. - In `PROXY` mode, configure Discord bridge/account-linking/login gates/player-list/channel descriptions on Velocity. Paper `discord.yml` is still useful for standalone setups and optional backend console-only bots.
release

CoreChatX 2026.2.2

2026.2.2
2 июн. 2026 г.8Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2velocity
Скачать
Что нового
# CoreChatX 2026.2.2 ## Added - Added Discord image rendering for ChatItem tokens sent from Minecraft: `[item]`, `[i]`, `[armor]`, `[hotbar]`, `[inventory]`, `[inv]`, `[enderchest]`, `[ender]`, `[ec]`, and shulker previews from `[item]`. - In `STANDALONE`, Paper renders and sends the Discord attachment directly. - In `PROXY`, Paper renders the snapshot and Velocity sends the final Discord embed/attachment for the correct proxy group. - Added interactive Discord item inspection for non-`[item]` snapshots. Inventory-like renders can show dropdown menus; selecting an entry sends an ephemeral single-item preview to that Discord user. The menu expires with the same lifetime as the in-game ChatItem preview token. - Added Minecraft-style single item renders for Discord `[item]` previews. The generated image uses the Minecraft bitmap font, tooltip background, custom names, lore, enchantments, potion effects, attributes, armor trims, durability, and item icon rendering instead of plain Discord embed text. - Added Discord handling for inbound attachments. Discord images/files now appear in Minecraft as clickable `[filename]` components with hover text and an open-url click action; messages with only attachments are forwarded too. - Added Discord console support: - `discord.console` in Paper `discord.yml` can run a standalone or per-backend console bot. - `discord.console` in Velocity `velocity-discord.yml` can run proxy console commands from Discord. - `command-prefix: ""` is allowed and makes every message in the console channel execute as a command. - Added Discord `player-list` command support for both Paper `STANDALONE` and Velocity `PROXY`. - Text command default: `!playerlist`. - Slash command default: `/playerlist`. - Velocity resolves the target proxy group from `discord.inbound.channel-routes`. - Added Discord text channel description updates through `discord.channel-description`. - Paper `STANDALONE`: updates standalone channel topics. - Velocity `PROXY`: updates text channel topics per configured `network-channel`. - Internal placeholders: `{online}` and `{online_in_group}`. - PlaceholderAPI placeholders are supported on Paper; Velocity can resolve them through `PAPIProxyBridge` when installed. - Added Velocity-owned join/quit/first-join announcements for `deployment.mode: PROXY`. - Velocity now decides join/quit based on proxy group entry, group switch, and proxy disconnect. - Switching backend inside the same CoreChatX group does not announce join/quit. - Switching between groups sends quit to the old group and join to the new group. - Added group-wide broadcast routing in `PROXY` mode. Paper `/broadcast <message>` now fans out to the current Velocity group instead of only the local backend, and Velocity also provides `/broadcast`. - Added player head rendering support for name-only profile components such as `minecraft:player_head[minecraft:profile="IceWolf23X"]`, in addition to heads that already contain texture properties. ## Changed - ChatItem in-game previews now use more compact layouts for single/small snapshots: - `[item]` opens a 5-slot hopper preview with the item centered. - `[armor]` opens a 5-slot hopper preview with helmet, chestplate, leggings, boots, and offhand. - `[inventory]`, `[hotbar]`, `[enderchest]`, and shulker previews keep their existing snapshot sizes. - Velocity Discord bridge output can resolve PlaceholderAPI placeholders through optional `PAPIProxyBridge` for Velocity-side formats such as player list rows, channel descriptions, join/quit messages, and fallback Discord formats. - Paper `discord.yml` is now clearly split by runtime responsibility: - `STANDALONE` owns Discord bridge, account linking, login gates, player list, channel descriptions, and console. - `PROXY` keeps bridge/account-linking/login gates on Velocity, while Paper can still run a console-only backend bot if configured. ## Fixed - Fixed PlaceholderAPI placeholders staying unresolved in cross-server messages when the message had to be routed through Velocity. - Fixed proxy join/quit symptoms where quit messages could be missing, duplicated, or formatted differently depending on which backend still had players online. - Fixed Minecraft-to-Discord raw mention abuse. Players typing raw Discord mention syntax like `<@...>`, role mentions, `@everyone`, or `@here` can now be blocked from pinging Discord users/roles. - Fixed Discord inbound attachment forwarding so attachment-only Discord messages are no longer dropped before reaching Minecraft. - Fixed config synchronization behavior so missing default keys are added back to Paper YAML configs and Velocity YAML/properties configs instead of requiring a clean file for every new option. ## Configuration `chatitems.yml` now supports Discord image rendering and item menu configuration: ```yaml discord-images: enabled: true max-images-per-message: 3 embed: title: item: "{item_name}" armor: "{player_nickname}'s armor" hotbar: "{player_nickname}'s hotbar" inventory: "{player_nickname}'s inventory" enderchest: "{player_nickname}'s ender chest" shulker: "{player_nickname}'s shulker" description: item: - "{enchantments}" - "{attributes}" - "{potion_effects}" - "{lore}" - "{armor_trim}" - "{banner_patterns}" - "{unbreakable}" - "{can_place_on}" - "{can_break}" - "{book_metadata}" - "{firework_data}" - "{durability_line}" armor: [] hotbar: [] inventory: [] enderchest: [] shulker: [] item-menu: enabled: true placeholder: "Inspect an item" label-format: "Slot {slot}: {item_display_name}" description-format: "x{amount} - {material}" expired-message: "This ChatItem preview has expired." unavailable-message: "That item preview is unavailable." render: scale: 5 single-item-details-scale: 5 single-item-details-icon-multiplier: 3 assets: minecraft-version: "auto" download-vanilla-assets: true resource-packs: [] ``` - `discord-images.embed.title.*`: controls Discord embed titles; for `[item]`, the title is rendered into the PNG tooltip panel. - `discord-images.embed.description.item`: controls single-item tooltip details. Empty metadata placeholders are skipped, so missing lore/enchantments/durability do not leave unwanted blank detail sections. - `discord-images.item-menu.*`: controls the Discord dropdown menu shown under multi-item snapshots. - `discord-images.render.scale`: pixel scale for inventory-like renders. - `discord-images.render.single-item-details-scale`: pixel scale for the single-item tooltip text/background. - `discord-images.render.single-item-details-icon-multiplier`: multiplier applied only to the item icon in the single-item details panel. - `discord-images.assets.resource-packs`: optional resource pack zip/folder paths used before vanilla fallback assets. `discord.yml` and `velocity-discord.yml` now include: ```yaml discord: prevent-mentions-from-minecraft: true connection-messages: enabled: false join-format: "" first-join-format: "" quit-format: "" embed: enabled: false join-color: "#57F287" first-join-color: "#57F287" quit-color: "#ED4245" join-description: "" first-join-description: "" quit-description: "" console: enabled: false channel-id: "" command-prefix: "!" player-list: enabled: false command: "!playerlist" register-slash-command: true slash-command-name: "playerlist" channel-description: enabled: false interval-seconds: 300 triggers: on-connection: true on-disconnection: true event-debounce-seconds: 5 entries: [] ``` Velocity `velocity-discord.yml` also supports group-aware options: ```yaml account-linking: required-play-roles: groups: # corechatx:survival: # enabled: true # role-ids: # - "123456789012345678" discord: channel-description: triggers: on-group-change: true entries: # - channel-id: "123456789012345678" # network-channel: "corechatx:survival" # description: "Players {online_in_group}/{online}" inbound: channel-routes: # "123456789012345678": # channel: "global" # network-channel: "corechatx:survival" # require-linked: inherit ``` New Velocity message file: ```yaml # velocity-messages.yml nicknames: prefix: "" first-join: enabled: true counter-enabled: true join-quit: join-enabled: true quit-enabled: true join: "<dark_gray>[</dark_gray><green>+</green><dark_gray>]</dark_gray> <white>{player_nickname}</white>" quit: "<dark_gray>[</dark_gray><red>-</red><dark_gray>]</dark_gray> <white>{player_nickname}</white>" first-join: "<dark_gray>[</dark_gray><gradient:#79d6b8:#5aa9ff>Welcome</gradient><dark_gray>]</dark_gray> <white>{player_nickname}</white><gray> is joining for the first time as player </gray><white>#{count}</white><gray>.</gray>" ``` `config.yml` join/quit comments now clarify that `join-quit.mode: NETWORK` is Velocity-owned in `PROXY` mode and uses `velocity-messages.yml`. ## Commands - Changed Paper `/broadcast <message>` in `PROXY` mode to route through Velocity to the backend group instead of sending only on the local backend. - Added Velocity `/broadcast`: - with one configured group: `/broadcast <message>`; - with multiple groups: `/broadcast <group> <message>`; - group can be `all` to broadcast to every CoreChatX group. - Added Discord `!playerlist` and `/playerlist` when `discord.player-list.enabled: true`. ## Compatibility - Paper and Velocity must both be updated to `2026.2.2`. The CoreChatX plugin-message protocol is `26` in this release and older proxy/backend builds are not compatible. - `PAPIProxyBridge` is optional on Velocity. Without it, CoreChatX still works, but Velocity-side PlaceholderAPI placeholders cannot be resolved and only CoreChatX internal placeholders such as `{online}` and `{online_in_group}` are available. - No vanilla Minecraft assets are bundled inside the plugin jar. Discord item rendering uses cached/downloaded vanilla assets and optional resource packs from `chatitems.yml`. ## Safety - `discord.prevent-mentions-from-minecraft: true` prevents Minecraft players from triggering Discord user, role, `@everyone`, or `@here` pings through the bridge. - Discord console commands are controlled by `discord.console.allowed-user-ids` and `discord.console.allowed-role-ids`; empty lists mean anyone with write access to the console channel can run commands. - Discord channel description updates are interval-based and event-debounced to avoid excessive Discord channel metadata updates during mass joins/quits. ## Migration - A clean config review is strongly recommended for `2026.2.2`, especially `chatitems.yml`, `discord.yml`, `velocity-discord.yml`, and the new `velocity-messages.yml`. - Existing configs should receive missing default keys automatically, but server owners should still compare the new defaults because several Discord features are split between Paper `STANDALONE` and Velocity `PROXY`. - In `PROXY` mode, configure Discord bridge/account-linking/login gates/player-list/channel descriptions on Velocity. Paper `discord.yml` is still useful for standalone setups and optional backend console-only bots.
release

CoreChatX 2026.2.1

2026.2.1
26 мая 2026 г.15Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2paper, purpur
Скачать
Что нового
# CoreChatX 2026.2.1 ## Added - Added Velocity-owned runtime data authority for `PROXY` deployments. Player settings, nicknames, ignore lists, active channels, mutes, global state, first-join count, Discord links and pending link codes are stored per Velocity `network-channel` group. - Added Velocity-side Discord bot ownership through `plugins/corechatx/velocity-discord.yml` for proxy networks. In `PROXY`, Discord bridge I/O, Discord account linking, required-link-to-play and required-role-to-play are handled by Velocity. - Added group-specific Discord required role gates through `account-linking.required-play-roles.groups.<network-channel>`, so separate CoreChatX proxy groups can require different Discord roles. - Added optional Paper backend Discord console-only bots in `PROXY` mode through `discord.yml -> discord.console.*`, intended for per-backend console access with separate bot tokens. - Added configurable Discord join/quit/first-join mirrors with plain text or embed output, including separate join, first-join and quit descriptions and colors. - Added CoreChatX PlaceholderAPI values: - `%corechatx_player_nickname%` returns the same visual value as CoreChatX `{player_nickname}`. - `%corechatx_first_join_date%` returns the player's recorded first join date. - `%corechatx_messages_count%` returns the player's persisted public message count. ## Changed - In `PROXY`, Paper backends act as runtime/cache clients for cross-server data and send writes to Velocity instead of persisting network runtime state locally. - Join, quit and first-join network announcements are coordinated through Velocity in `PROXY` mode, so backend switches inside the same CoreChatX group do not create extra connection messages. - Required Discord link/role checks can be decided before the player fully enters a backend when Velocity can resolve the target backend group through `backend-groups.<velocity-server-name>`. - Minecraft -> Discord messages in proxy mode are rendered by Paper, then delivered by the Velocity Discord bot. Discord -> Minecraft messages are read by Velocity and routed to the configured CoreChatX group/channel. - Minecraft-to-Discord bridge output can prevent raw Discord mention syntax from pinging users, roles, `@everyone` or `@here`. ## Fixed - Fixed the previous proxy limitation where a backend without online players could miss Discord link state and incorrectly kick a linked player after a server switch. - Fixed Velocity Discord link-state replay on backend switch so previously empty backends get delayed retry replays instead of an immediate failed replay warning while plugin messaging is not ready yet. - Fixed the previous Discord role-check limitation that required a backend authority server with an online player carrier. Velocity now checks Discord roles directly. - Fixed the first join after a proxy/backend restart sometimes using the real player name instead of the saved CoreChatX nickname in proxy-level connection messages. - Fixed duplicate Discord join/quit mirrors when multiple exported CoreChatX channels mapped to the same Discord target. - Fixed proxy runtime player-state cache reads re-sending unnecessary `GET_PLAYER_STATE` requests after the state was already cached, reducing duplicate proxy data traffic during repeated settings/nickname lookups. - Fixed Discord and Telegram outbound bridge messages showing raw MiniMessage tags from formatted labels, bridge templates, nicknames or rank prefixes. Values like `<color:#e8481D>[EXAMPLE]</color>` now appear as `[EXAMPLE]`. - Fixed legacy and hex formatting leaking into external bridge output from identity fields. Values like `&b&lIce`, `&3&lUser` and `&#ff0000Rank` are now sent as plain text. - Fixed `deployment.mode` changes during `/corechatx reload` partially switching storage authority without a full restart. ## Configuration `velocity-config.properties` supports backend group pins for pre-backend login gates: ```properties network-channel=corechatx:survival,corechatx:minigames backend-groups.survival-1=corechatx:survival backend-groups.minigames-1=corechatx:minigames ``` `velocity-discord.yml` owns proxy Discord setup: ```yaml account-linking: enabled: true require-linked-to-play: true required-play-roles: enabled: true guild-id: "123456789012345678" role-ids: - "234567890123456789" groups: "corechatx:survival": role-ids: - "345678901234567890" discord: enabled: true bot-token: "your-token" inbound: channel-routes: "456789012345678901": channel: "global" network-channel: "corechatx:survival" ``` ## Safety - Bridge formatting cleanup applies to labels and identity/template fragments. Player message content in `{plain_text}` is preserved, so normal text such as `R&D` or links in angle brackets is not stripped. ## Compatibility - Paper and Velocity CoreChatX jars must be updated together. The plugin-message protocol changed for the new proxy data authority and mixed-version Paper/Velocity networks are not supported. ## Migration - A clean setup is recommended for `2026.2.1`, especially on existing Velocity networks. Regenerate fresh Paper and Velocity config files, then manually reapply values such as `deployment.*`, channel formats, Discord token, Discord routes and required role IDs. - In `PROXY`, do not treat old Paper backend runtime YAML files as authoritative network data. Velocity now owns cross-server runtime/user state under `plugins/corechatx/data/groups/<encoded-channel>/`.
release

CoreChatX 2026.2.1

2026.2.1
26 мая 2026 г.14Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2velocity
Скачать
Что нового
# CoreChatX 2026.2.1 ## Added - Added Velocity-owned runtime data authority for `PROXY` deployments. Player settings, nicknames, ignore lists, active channels, mutes, global state, first-join count, Discord links and pending link codes are stored per Velocity `network-channel` group. - Added Velocity-side Discord bot ownership through `plugins/corechatx/velocity-discord.yml` for proxy networks. In `PROXY`, Discord bridge I/O, Discord account linking, required-link-to-play and required-role-to-play are handled by Velocity. - Added group-specific Discord required role gates through `account-linking.required-play-roles.groups.<network-channel>`, so separate CoreChatX proxy groups can require different Discord roles. - Added optional Paper backend Discord console-only bots in `PROXY` mode through `discord.yml -> discord.console.*`, intended for per-backend console access with separate bot tokens. - Added configurable Discord join/quit/first-join mirrors with plain text or embed output, including separate join, first-join and quit descriptions and colors. - Added CoreChatX PlaceholderAPI values: - `%corechatx_player_nickname%` returns the same visual value as CoreChatX `{player_nickname}`. - `%corechatx_first_join_date%` returns the player's recorded first join date. - `%corechatx_messages_count%` returns the player's persisted public message count. ## Changed - In `PROXY`, Paper backends act as runtime/cache clients for cross-server data and send writes to Velocity instead of persisting network runtime state locally. - Join, quit and first-join network announcements are coordinated through Velocity in `PROXY` mode, so backend switches inside the same CoreChatX group do not create extra connection messages. - Required Discord link/role checks can be decided before the player fully enters a backend when Velocity can resolve the target backend group through `backend-groups.<velocity-server-name>`. - Minecraft -> Discord messages in proxy mode are rendered by Paper, then delivered by the Velocity Discord bot. Discord -> Minecraft messages are read by Velocity and routed to the configured CoreChatX group/channel. - Minecraft-to-Discord bridge output can prevent raw Discord mention syntax from pinging users, roles, `@everyone` or `@here`. ## Fixed - Fixed the previous proxy limitation where a backend without online players could miss Discord link state and incorrectly kick a linked player after a server switch. - Fixed Velocity Discord link-state replay on backend switch so previously empty backends get delayed retry replays instead of an immediate failed replay warning while plugin messaging is not ready yet. - Fixed the previous Discord role-check limitation that required a backend authority server with an online player carrier. Velocity now checks Discord roles directly. - Fixed the first join after a proxy/backend restart sometimes using the real player name instead of the saved CoreChatX nickname in proxy-level connection messages. - Fixed duplicate Discord join/quit mirrors when multiple exported CoreChatX channels mapped to the same Discord target. - Fixed proxy runtime player-state cache reads re-sending unnecessary `GET_PLAYER_STATE` requests after the state was already cached, reducing duplicate proxy data traffic during repeated settings/nickname lookups. - Fixed Discord and Telegram outbound bridge messages showing raw MiniMessage tags from formatted labels, bridge templates, nicknames or rank prefixes. Values like `<color:#e8481D>[EXAMPLE]</color>` now appear as `[EXAMPLE]`. - Fixed legacy and hex formatting leaking into external bridge output from identity fields. Values like `&b&lIce`, `&3&lUser` and `&#ff0000Rank` are now sent as plain text. - Fixed `deployment.mode` changes during `/corechatx reload` partially switching storage authority without a full restart. ## Configuration `velocity-config.properties` supports backend group pins for pre-backend login gates: ```properties network-channel=corechatx:survival,corechatx:minigames backend-groups.survival-1=corechatx:survival backend-groups.minigames-1=corechatx:minigames ``` `velocity-discord.yml` owns proxy Discord setup: ```yaml account-linking: enabled: true require-linked-to-play: true required-play-roles: enabled: true guild-id: "123456789012345678" role-ids: - "234567890123456789" groups: "corechatx:survival": role-ids: - "345678901234567890" discord: enabled: true bot-token: "your-token" inbound: channel-routes: "456789012345678901": channel: "global" network-channel: "corechatx:survival" ``` ## Safety - Bridge formatting cleanup applies to labels and identity/template fragments. Player message content in `{plain_text}` is preserved, so normal text such as `R&D` or links in angle brackets is not stripped. ## Compatibility - Paper and Velocity CoreChatX jars must be updated together. The plugin-message protocol changed for the new proxy data authority and mixed-version Paper/Velocity networks are not supported. ## Migration - A clean setup is recommended for `2026.2.1`, especially on existing Velocity networks. Regenerate fresh Paper and Velocity config files, then manually reapply values such as `deployment.*`, channel formats, Discord token, Discord routes and required role IDs. - In `PROXY`, do not treat old Paper backend runtime YAML files as authoritative network data. Velocity now owns cross-server runtime/user state under `plugins/corechatx/data/groups/<encoded-channel>/`.
release

CoreChatX 2026.2.0

2026.2.0
24 мая 2026 г.16Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2paper, purpur
Скачать
Что нового
# CoreChatX 2026.2.0 ## Added - Added Velocity-owned runtime data authority for `PROXY` deployments. Player settings, nicknames, ignore lists, active channels, mutes, global state, first-join count, Discord links and pending link codes are now stored per Velocity `network-channel` group. - Added Velocity-side Discord bot support through `plugins/corechatx/velocity-discord.yml` for proxy networks. In `PROXY`, Discord bridge I/O, Discord account linking, required-link-to-play and required-role-to-play are handled by Velocity. - Added group-specific Discord required role gates through `account-linking.required-play-roles.groups.<network-channel>`, so separate CoreChatX proxy groups can require different Discord roles. - Added PlaceholderAPI placeholder `%corechatx_player_nickname%`, matching CoreChatX `{player_nickname}` output. ## Changed - In `PROXY`, Paper backends now act as runtime/cache clients for cross-server data and send writes to Velocity instead of persisting network runtime state locally. - Required Discord link/role checks can now be decided before the player fully enters a backend when Velocity can resolve the target backend group through `backend-groups.<velocity-server-name>`. - Minecraft -> Discord messages in proxy mode are rendered by Paper, then delivered by the Velocity Discord bot. Discord -> Minecraft messages are read by Velocity and routed to the configured CoreChatX group/channel. ## Fixed - Fixed the previous proxy limitation where a backend without online players could miss Discord link state and incorrectly kick a linked player after a server switch. - Fixed the previous Discord role-check limitation that required a backend authority server with an online player carrier. Velocity now checks Discord roles directly. ## Configuration `velocity-config.properties` now supports backend group pins for pre-backend login gates: ```properties network-channel=corechatx:survival,corechatx:minigames backend-groups.survival-1=corechatx:survival backend-groups.minigames-1=corechatx:minigames ``` `velocity-discord.yml` now owns proxy Discord setup: ```yaml account-linking: enabled: true require-linked-to-play: true required-play-roles: enabled: true guild-id: "123456789012345678" role-ids: - "234567890123456789" groups: "corechatx:survival": role-ids: - "345678901234567890" discord: enabled: true bot-token: "your-token" inbound: channel-routes: "456789012345678901": channel: "global" network-channel: "corechatx:survival" ``` ## Compatibility - Paper and Velocity CoreChatX jars must be updated together. The plugin-message protocol changed for the new proxy data authority and mixed-version Paper/Velocity networks are not supported. ## Migration - A clean setup is recommended for `2026.2.0`, especially on existing Velocity networks. Regenerate fresh Paper and Velocity config files, then manually reapply values such as `deployment.*`, channel formats, Discord token, Discord routes and required role IDs. - In `PROXY`, do not treat old Paper backend runtime YAML files as authoritative network data. Velocity now owns cross-server runtime/user state under `plugins/corechatx/data/groups/<encoded-channel>/`.
release

CoreChatX 2026.2.0

2026.2.0
24 мая 2026 г.9Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2velocity
Скачать
Что нового
# CoreChatX 2026.2.0 ## Added - Added Velocity-owned runtime data authority for `PROXY` deployments. Player settings, nicknames, ignore lists, active channels, mutes, global state, first-join count, Discord links and pending link codes are now stored per Velocity `network-channel` group. - Added Velocity-side Discord bot support through `plugins/corechatx/velocity-discord.yml` for proxy networks. In `PROXY`, Discord bridge I/O, Discord account linking, required-link-to-play and required-role-to-play are handled by Velocity. - Added group-specific Discord required role gates through `account-linking.required-play-roles.groups.<network-channel>`, so separate CoreChatX proxy groups can require different Discord roles. - Added PlaceholderAPI placeholder `%corechatx_player_nickname%`, matching CoreChatX `{player_nickname}` output. ## Changed - In `PROXY`, Paper backends now act as runtime/cache clients for cross-server data and send writes to Velocity instead of persisting network runtime state locally. - Required Discord link/role checks can now be decided before the player fully enters a backend when Velocity can resolve the target backend group through `backend-groups.<velocity-server-name>`. - Minecraft -> Discord messages in proxy mode are rendered by Paper, then delivered by the Velocity Discord bot. Discord -> Minecraft messages are read by Velocity and routed to the configured CoreChatX group/channel. ## Fixed - Fixed the previous proxy limitation where a backend without online players could miss Discord link state and incorrectly kick a linked player after a server switch. - Fixed the previous Discord role-check limitation that required a backend authority server with an online player carrier. Velocity now checks Discord roles directly. ## Configuration `velocity-config.properties` now supports backend group pins for pre-backend login gates: ```properties network-channel=corechatx:survival,corechatx:minigames backend-groups.survival-1=corechatx:survival backend-groups.minigames-1=corechatx:minigames ``` `velocity-discord.yml` now owns proxy Discord setup: ```yaml account-linking: enabled: true require-linked-to-play: true required-play-roles: enabled: true guild-id: "123456789012345678" role-ids: - "234567890123456789" groups: "corechatx:survival": role-ids: - "345678901234567890" discord: enabled: true bot-token: "your-token" inbound: channel-routes: "456789012345678901": channel: "global" network-channel: "corechatx:survival" ``` ## Compatibility - Paper and Velocity CoreChatX jars must be updated together. The plugin-message protocol changed for the new proxy data authority and mixed-version Paper/Velocity networks are not supported. ## Migration - A clean setup is recommended for `2026.2.0`, especially on existing Velocity networks. Regenerate fresh Paper and Velocity config files, then manually reapply values such as `deployment.*`, channel formats, Discord token, Discord routes and required role IDs. - In `PROXY`, do not treat old Paper backend runtime YAML files as authoritative network data. Velocity now owns cross-server runtime/user state under `plugins/corechatx/data/groups/<encoded-channel>/`.
release

CoreChatX 2026.1.8

2026.1.8
19 мая 2026 г.23Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2velocity
Скачать
Что нового
# CoreChatX 2026.1.8 ## Added - Added optional Discord-Minecraft account linking for Discord inbound chat, with Minecraft `/discord link`, `/discord unlink`, `/discord linked`, admin link override, Discord `/link code:<code>`, Discord `/unlink`, persistent `discordlinks.yml`, and same-proxy-group sync. - Added linked Discord inbound identity rendering: linked Discord users can be shown with their Minecraft real name, CoreChatX nickname, and Minecraft rank data instead of Discord-only identity. - Added optional linked-user enforcement for Discord inbound, including blocked unlinked messages, optional Discord message deletion, optional DM feedback, Minecraft mute checks, and CoreChatX channel send-permission checks. - Added optional Discord link-to-play enforcement. When `discord.inbound.account-linking.require-linked-to-play` is `true`, unlinked Minecraft players are kicked after joining with a temporary Discord `/link code:<code>` in the kick reason. ## Changed - Player mention suggestions now include custom nicknames as well as real Minecraft usernames, including players online on other backends in the same Velocity `network-channel` group. - Mention tokens now display the custom nickname when a tagged player has one, while still resolving the player identity safely. - `/realname <nickname>` tab completion now includes custom nicknames from the whole current proxy group, not only the current backend. ## Fixed - Fixed settings updates such as PM toggles, GUI toggles, and locale changes so they preserve the saved custom nickname instead of clearing it. - Fixed Discord link sync ordering so stale remote `LINK`, `UNLINK`, or pending-code packets cannot overwrite newer account-link state between backends in the same proxy group. ## Configuration `discord.yml` now supports: ```yaml discord: inbound: account-linking: enabled: false require-linked: false require-linked-to-play: false route-overrides: {} ``` `channels.yml` Discord sections now support per-channel inbound account-link overrides: ```yaml discord: require-linked-inbound: "inherit" ``` `messages.yml` now supports the kick message shown to unlinked players: ```yaml discord: link-required-kick: "<red>You must link your Discord account to play.</red>\n<gray>Use Discord command </gray><white>/link code:{code}</white><gray> within </gray><white>{minutes}</white><gray> minute(s).</gray>" ``` ## Compatibility - CoreChatX plugin-message protocol is now `13`. Paper and Velocity must both run `2026.1.8`; mixed proxy/backend versions are not supported. ## Safety - Link-to-play joins do not publish normal join, first-join, state-sync, or quit messages for players that are immediately kicked for missing Discord linking.
release

CoreChatX 2026.1.8

2026.1.8
19 мая 2026 г.12Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2paper, purpur
Скачать
Что нового
# CoreChatX 2026.1.8 ## Added - Added optional Discord-Minecraft account linking for Discord inbound chat, with Minecraft `/discord link`, `/discord unlink`, `/discord linked`, admin link override, Discord `/link code:<code>`, Discord `/unlink`, persistent `discordlinks.yml`, and same-proxy-group sync. - Added linked Discord inbound identity rendering: linked Discord users can be shown with their Minecraft real name, CoreChatX nickname, and Minecraft rank data instead of Discord-only identity. - Added optional linked-user enforcement for Discord inbound, including blocked unlinked messages, optional Discord message deletion, optional DM feedback, Minecraft mute checks, and CoreChatX channel send-permission checks. - Added optional Discord link-to-play enforcement. When `discord.inbound.account-linking.require-linked-to-play` is `true`, unlinked Minecraft players are kicked after joining with a temporary Discord `/link code:<code>` in the kick reason. ## Changed - Player mention suggestions now include custom nicknames as well as real Minecraft usernames, including players online on other backends in the same Velocity `network-channel` group. - Mention tokens now display the custom nickname when a tagged player has one, while still resolving the player identity safely. - `/realname <nickname>` tab completion now includes custom nicknames from the whole current proxy group, not only the current backend. ## Fixed - Fixed settings updates such as PM toggles, GUI toggles, and locale changes so they preserve the saved custom nickname instead of clearing it. - Fixed Discord link sync ordering so stale remote `LINK`, `UNLINK`, or pending-code packets cannot overwrite newer account-link state between backends in the same proxy group. ## Configuration `discord.yml` now supports: ```yaml discord: inbound: account-linking: enabled: false require-linked: false require-linked-to-play: false route-overrides: {} ``` `channels.yml` Discord sections now support per-channel inbound account-link overrides: ```yaml discord: require-linked-inbound: "inherit" ``` `messages.yml` now supports the kick message shown to unlinked players: ```yaml discord: link-required-kick: "<red>You must link your Discord account to play.</red>\n<gray>Use Discord command </gray><white>/link code:{code}</white><gray> within </gray><white>{minutes}</white><gray> minute(s).</gray>" ``` ## Compatibility - CoreChatX plugin-message protocol is now `13`. Paper and Velocity must both run `2026.1.8`; mixed proxy/backend versions are not supported. ## Safety - Link-to-play joins do not publish normal join, first-join, state-sync, or quit messages for players that are immediately kicked for missing Discord linking.
release

CoreChatX 2026.1.7

2026.1.7
17 мая 2026 г.20Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2velocity
Скачать
Что нового
# CoreChatX 2026.1.7 ## Nicknames - Split player display placeholders: - `{player_name}` always resolves to the real Minecraft username. - `{player_nickname}` resolves to the custom nickname when set, otherwise the real username. - Added `nicknames.prefix` in `config.yml`. - The prefix is included directly in `{player_nickname}` only when a custom nickname exists. - Updated default chat, group chat, join/quit, first-join, and ChatItem preview titles to use `{player_nickname}` where a display name is intended. - Added safe MiniMessage support to `/nick`. - Allowed: named colors, formats, hex colors, and gradients. - Legacy `&` codes and `&#rrggbb` hex still work. - Unsupported MiniMessage tags are stripped silently while keeping their text. - Added nickname permissions for hex and gradients: - `corechatx.nick.color.hex` - `corechatx.nick.color.gradient` - `corechatx.nick.color` grants both children. - Added duplicate nickname protection. - Custom plain nicknames cannot duplicate another custom nickname or another player's real username. - A player may still set their own real username as nickname text, useful for color-only setups. - Added `/realname <nickname>`. - Permission: `corechatx.command.realname` - Tab completion suggests only custom nickname plain text, without the configured prefix. ## Proxy State Sync - Fixed cross-server nickname state propagation inside the same Velocity channel group. - Player state sync now fans out to the other registered backends in the same group, instead of only caching the update on the proxy. - Player state sync remains group-isolated and does not cross into other `network-channel` groups. - Stale or invalid state sync packets for players not currently online in the source group are ignored by Velocity. ## Network Compatibility - The CoreChatX plugin-message protocol remains `11`. - Network chat packets carry real username and nickname separately. - Paper and Velocity should both run `2026.1.7`; mixed plugin/proxy versions are not supported for this release line.
release

CoreChatX 2026.1.7

2026.1.7
17 мая 2026 г.17Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2paper, purpur
Скачать
Что нового
# CoreChatX 2026.1.7 ## Nicknames - Split player display placeholders: - `{player_name}` always resolves to the real Minecraft username. - `{player_nickname}` resolves to the custom nickname when set, otherwise the real username. - Added `nicknames.prefix` in `config.yml`. - The prefix is included directly in `{player_nickname}` only when a custom nickname exists. - Updated default chat, group chat, join/quit, first-join, and ChatItem preview titles to use `{player_nickname}` where a display name is intended. - Added safe MiniMessage support to `/nick`. - Allowed: named colors, formats, hex colors, and gradients. - Legacy `&` codes and `&#rrggbb` hex still work. - Unsupported MiniMessage tags are stripped silently while keeping their text. - Added nickname permissions for hex and gradients: - `corechatx.nick.color.hex` - `corechatx.nick.color.gradient` - `corechatx.nick.color` grants both children. - Added duplicate nickname protection. - Custom plain nicknames cannot duplicate another custom nickname or another player's real username. - A player may still set their own real username as nickname text, useful for color-only setups. - Added `/realname <nickname>`. - Permission: `corechatx.command.realname` - Tab completion suggests only custom nickname plain text, without the configured prefix. ## Proxy State Sync - Fixed cross-server nickname state propagation inside the same Velocity channel group. - Player state sync now fans out to the other registered backends in the same group, instead of only caching the update on the proxy. - Player state sync remains group-isolated and does not cross into other `network-channel` groups. - Stale or invalid state sync packets for players not currently online in the source group are ignored by Velocity. ## Network Compatibility - The CoreChatX plugin-message protocol remains `11`. - Network chat packets carry real username and nickname separately. - Paper and Velocity should both run `2026.1.7`; mixed plugin/proxy versions are not supported for this release line.
release

CoreChatX 2026.1.6

2026.1.6
16 мая 2026 г.18Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2velocity
Скачать
Что нового
# CoreChatX 2026.1.6 ## Added - Added `join-quit.mode` in `config.yml` to choose how join, first-join, and quit messages are delivered. - `LOCAL` keeps messages on the current Paper backend. - `NETWORK` forwards true network join/leave events through Velocity when proxy transport is available. - Added Velocity multi-channel proxy groups through the existing `velocity-config.properties -> network-channel` key. - Legacy single-channel format still works: `network-channel=corechatx:main`. - Multiple isolated groups use a comma-separated list: `network-channel=corechatx:survival,corechatx:minigames`. - Each Paper backend joins the group matching its own `config.yml -> deployment.network-channel`. - Added persistent `/nick` support on Paper. - `/nick <nickname>` sets your nickname. - `/nick off`, `/nick clear`, and `/nick reset` clear it. - `/nick <player> <nickname|off>` lets permitted staff change another online player's nickname. ## Changed - Velocity routing is now isolated per configured network channel. - Network chat, private messages, player directory, TAB/completions, state sync, ChatItem snapshot routing, and join/leave routing stay inside the source channel group. - Private message lookup now searches only players known inside the same proxy group, not the whole proxy. - ChatItem snapshot cache and pending routes are naturally isolated because each channel has its own router. - Velocity now learns backend group membership from plugin messages and a lightweight registration handshake. - Paper still does not need a new config field. - If a backend starts sending CoreChatX packets on another configured channel, Velocity moves it to that group and logs the change. - Network join/leave messages now understand group boundaries. - Moving between backend servers inside the same group does not emit fake quit/join announcements. - Moving between different CoreChatX proxy groups emits quit in the old group and join in the new group. - Proxy disconnect emits quit only in the player's last known group. ## Nicknames - Nicknames are persisted in player data and synchronized through CoreChatX state sync in proxy mode. - Chat, PMs, spy output, broadcasts, join/quit/first-join messages, and network chat display the nickname when one is set. - Real player identity remains unchanged: lookup, replies, ignores, privacy, routing, and state sync still use UUIDs and real Minecraft names internally. - Added dedicated permissions: - `corechatx.command.nick` - `corechatx.command.nick.others` - `corechatx.nick.color` - `corechatx.nick.format` - Added per-code nickname permissions so server owners can allow specific colors or styles only. - Example color child: `corechatx.nick.color.red` - Example format child: `corechatx.nick.format.bold` - Added `nicknames.change-only-colors` in `config.yml`. - `false` lets `/nick IceWolf` change the visible text. - `true` only allows color/style changes while the visible text stays exactly the player's real Minecraft username. ## Configuration `config.yml` now includes: ```yml nicknames: # false = /nick can change the visible name text and styling, for example IceWolf23X -> IceWolf. # true = /nick can only change allowed colors/styles; the visible text after removing formatting must stay exactly the real Minecraft username. # Example with true: IceWolf23X may use &cIceWolf23X, but not &cIceWolf. change-only-colors: false join-quit: # LOCAL = announce only on the current Paper backend. # NETWORK = in PROXY mode, announce true network join/leave through the Velocity module. mode: "LOCAL" join-enabled: true quit-enabled: true ``` `velocity-config.properties` now supports a list: ```properties # Comma-separate values to split this proxy into isolated CoreChatX network groups. # Each Paper backend joins the group matching its deployment.network-channel. network-channel=corechatx:main ``` Example multi-group setup: ```properties network-channel=corechatx:survival,corechatx:minigames ``` Paper backends still use: ```yml deployment: network-channel: "corechatx:survival" ``` ## Compatibility - Existing single-channel Velocity installs keep their previous behavior. - Existing Paper configs do not need a new deployment key. - Existing nickname-free player data remains valid. - The player state sync decoder accepts the previous protocol shape for compatibility and treats missing nickname data as blank.
release

CoreChatX 2026.1.6

2026.1.6
16 мая 2026 г.14Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2paper, purpur
Скачать
Что нового
# CoreChatX 2026.1.6 ## Added - Added `join-quit.mode` in `config.yml` to choose how join, first-join, and quit messages are delivered. - `LOCAL` keeps messages on the current Paper backend. - `NETWORK` forwards true network join/leave events through Velocity when proxy transport is available. - Added Velocity multi-channel proxy groups through the existing `velocity-config.properties -> network-channel` key. - Legacy single-channel format still works: `network-channel=corechatx:main`. - Multiple isolated groups use a comma-separated list: `network-channel=corechatx:survival,corechatx:minigames`. - Each Paper backend joins the group matching its own `config.yml -> deployment.network-channel`. - Added persistent `/nick` support on Paper. - `/nick <nickname>` sets your nickname. - `/nick off`, `/nick clear`, and `/nick reset` clear it. - `/nick <player> <nickname|off>` lets permitted staff change another online player's nickname. ## Changed - Velocity routing is now isolated per configured network channel. - Network chat, private messages, player directory, TAB/completions, state sync, ChatItem snapshot routing, and join/leave routing stay inside the source channel group. - Private message lookup now searches only players known inside the same proxy group, not the whole proxy. - ChatItem snapshot cache and pending routes are naturally isolated because each channel has its own router. - Velocity now learns backend group membership from plugin messages and a lightweight registration handshake. - Paper still does not need a new config field. - If a backend starts sending CoreChatX packets on another configured channel, Velocity moves it to that group and logs the change. - Network join/leave messages now understand group boundaries. - Moving between backend servers inside the same group does not emit fake quit/join announcements. - Moving between different CoreChatX proxy groups emits quit in the old group and join in the new group. - Proxy disconnect emits quit only in the player's last known group. ## Nicknames - Nicknames are persisted in player data and synchronized through CoreChatX state sync in proxy mode. - Chat, PMs, spy output, broadcasts, join/quit/first-join messages, and network chat display the nickname when one is set. - Real player identity remains unchanged: lookup, replies, ignores, privacy, routing, and state sync still use UUIDs and real Minecraft names internally. - Added dedicated permissions: - `corechatx.command.nick` - `corechatx.command.nick.others` - `corechatx.nick.color` - `corechatx.nick.format` - Added per-code nickname permissions so server owners can allow specific colors or styles only. - Example color child: `corechatx.nick.color.red` - Example format child: `corechatx.nick.format.bold` - Added `nicknames.change-only-colors` in `config.yml`. - `false` lets `/nick IceWolf` change the visible text. - `true` only allows color/style changes while the visible text stays exactly the player's real Minecraft username. ## Configuration `config.yml` now includes: ```yml nicknames: # false = /nick can change the visible name text and styling, for example IceWolf23X -> IceWolf. # true = /nick can only change allowed colors/styles; the visible text after removing formatting must stay exactly the real Minecraft username. # Example with true: IceWolf23X may use &cIceWolf23X, but not &cIceWolf. change-only-colors: false join-quit: # LOCAL = announce only on the current Paper backend. # NETWORK = in PROXY mode, announce true network join/leave through the Velocity module. mode: "LOCAL" join-enabled: true quit-enabled: true ``` `velocity-config.properties` now supports a list: ```properties # Comma-separate values to split this proxy into isolated CoreChatX network groups. # Each Paper backend joins the group matching its deployment.network-channel. network-channel=corechatx:main ``` Example multi-group setup: ```properties network-channel=corechatx:survival,corechatx:minigames ``` Paper backends still use: ```yml deployment: network-channel: "corechatx:survival" ``` ## Compatibility - Existing single-channel Velocity installs keep their previous behavior. - Existing Paper configs do not need a new deployment key. - Existing nickname-free player data remains valid. - The player state sync decoder accepts the previous protocol shape for compatibility and treats missing nickname data as blank.
release

CoreChatX 2026.1.5

2026.1.5
12 мая 2026 г.16Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2velocity
Скачать
Что нового
# CoreChatX 2026.1.5 ## Fixed - Discord -> Minecraft player mentions are now controlled by the target channel's `allow-mentions.from-discord` setting. - Discord custom pings such as `@staff` now require at least one matching Discord role ID configured in `pings.yml`. - Custom pings with missing or empty `discord-roles` now stay as plain text when used from Discord and do not notify Minecraft players. - Minecraft custom pings still use `use-permission`; existing `receive-permission` checks still apply to Minecraft recipients. - Telegram inbound mentions are now controlled by `allow-mentions.from-telegram`. - Network chat from other Minecraft servers remains treated as Minecraft-originated and uses `allow-mentions.from-minecraft`. ## Configuration `channels.yml` now uses source-specific mention gates: ```yml allow-mentions: from-minecraft: true from-discord: true from-telegram: true ``` `pings.yml` custom pings now support Discord role allow-lists: ```yml custom-pings: staff: trigger: "@staff" use-permission: "corechatx.ping.use.staff" receive-permission: "corechatx.staff" discord-roles: - "123456789012345678" bypass-toggle: true token-format: "<#ff8f8f>{trigger}</#ff8f8f>" ``` Empty `discord-roles: []` means the ping cannot be activated from Discord. ## Migration - Existing scalar values like `allow-mentions: true` or `allow-mentions: false` are replaced at startup with the new nested default section. - Existing nested source values are preserved, and missing nested keys are added automatically.
release

CoreChatX 2026.1.5

2026.1.5
12 мая 2026 г.14Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2paper, purpur
Скачать
Что нового
# CoreChatX 2026.1.5 ## Fixed - Discord -> Minecraft player mentions are now controlled by the target channel's `allow-mentions.from-discord` setting. - Discord custom pings such as `@staff` now require at least one matching Discord role ID configured in `pings.yml`. - Custom pings with missing or empty `discord-roles` now stay as plain text when used from Discord and do not notify Minecraft players. - Minecraft custom pings still use `use-permission`; existing `receive-permission` checks still apply to Minecraft recipients. - Telegram inbound mentions are now controlled by `allow-mentions.from-telegram`. - Network chat from other Minecraft servers remains treated as Minecraft-originated and uses `allow-mentions.from-minecraft`. ## Configuration `channels.yml` now uses source-specific mention gates: ```yml allow-mentions: from-minecraft: true from-discord: true from-telegram: true ``` `pings.yml` custom pings now support Discord role allow-lists: ```yml custom-pings: staff: trigger: "@staff" use-permission: "corechatx.ping.use.staff" receive-permission: "corechatx.staff" discord-roles: - "123456789012345678" bypass-toggle: true token-format: "<#ff8f8f>{trigger}</#ff8f8f>" ``` Empty `discord-roles: []` means the ping cannot be activated from Discord. ## Migration - Existing scalar values like `allow-mentions: true` or `allow-mentions: false` are replaced at startup with the new nested default section. - Existing nested source values are preserved, and missing nested keys are added automatically.
beta

CoreChatX 2026.1.4

2026.1.4
11 мая 2026 г.24Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2paper, purpur
Скачать
Что нового
# CoreChatX 2026.1.4 ## Fixed - Discord -> Minecraft messages no longer force a hardcoded `[Discord]` sender prefix. - Discord -> Minecraft messages can now be fully formatted from `discord.inbound.format`. - Discord bridge formats can now be overridden per channel from `channels.yml`. - Telegram bridge formats can now be overridden per channel from `channels.yml`. - Discord -> Minecraft messages now expose `{rank_prefix}` as the sender's highest Discord role name. - Added `{role_color}` for Discord -> Minecraft messages. It resolves to the highest colored Discord role and can be used as a MiniMessage color tag. - Added `{channel_prefix}` for Discord -> Minecraft messages so custom channel tags can be kept in `discord.inbound.format`. - PlaceholderAPI placeholders are now processed in `discord.format` for Minecraft -> Discord messages. - Minecraft -> Discord `discord.format` now supports `{rank_prefix}`. - Minecraft formatting codes from LuckPerms or PlaceholderAPI prefixes are stripped before messages are sent to Discord or Telegram, while the actual message text is preserved. - Telegram outbound formats also support `{rank_prefix}` if the token is used. - Inbound bridge logging now handles unexpected/unknown source ids without throwing. ## Configuration Discord -> Minecraft messages are now controlled by one format key: ```yml discord: inbound: format: "{channel_prefix}[Discord] {role_color}{rank_prefix}</role_color>{sender_name}: {plain_text}" ``` Per-channel bridge formats can be set in `channels.yml`: ```yml channels: mod: discord: outbound-format: "[MOD] {rank_prefix}{sender_name}: {plain_text}" inbound-format: "{channel_prefix}[Discord] {role_color}{rank_prefix}</role_color>{sender_name}: {plain_text}" telegram: outbound-format: "[MOD] {rank_prefix}{sender_name}: {plain_text}" inbound-format: "{channel_prefix}[Telegram] {sender_name}: {plain_text}" ``` If a per-channel format is blank, CoreChatX falls back to the matching global bridge format. Available inbound tokens: - `{source}`: display source name, for example `Discord` or `Telegram` - `{source_type}`: raw source id, for example `discord` - `{channel_id}`: CoreChatX channel id - `{channel_prefix}`: prefix extracted from the channel format, or the configured channel prefix fallback - `{sender_name}`: bridge sender display name - `{rank_prefix}`: Discord sender's highest role name, blank for Telegram - `{role_color}`: MiniMessage color tag from the highest colored Discord role, or `white` - `{plain_text}` / `{message}`: sanitized message content Example with role-colored prefix and message: ```yml discord: inbound: format: "{channel_prefix}<dark_gray>[Discord]</dark_gray> {role_color}{rank_prefix}</role_color> <white>{sender_name}</white>: {role_color}{plain_text}</role_color>" ``` Minecraft -> Discord formats can now use PlaceholderAPI placeholders and `{rank_prefix}`: ```yml discord: format: "[{source_server}] [{channel_id}] {rank_prefix}{sender_name}: {plain_text}" ``` ## Safety - Bridge formats are now validated on config load. - Unknown placeholders and invalid inbound MiniMessage syntax produce warnings instead of failing startup. - The outbound formatter strips formatting from templates and rank prefixes, but preserves literal ampersands in the real chat message.
beta

CoreChatX 2026.1.4

2026.1.4
11 мая 2026 г.14Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2velocity
Скачать
Что нового
# CoreChatX 2026.1.4 ## Fixed - Discord -> Minecraft messages no longer force a hardcoded `[Discord]` sender prefix. - Discord -> Minecraft messages can now be fully formatted from `discord.inbound.format`. - Discord bridge formats can now be overridden per channel from `channels.yml`. - Telegram bridge formats can now be overridden per channel from `channels.yml`. - Discord -> Minecraft messages now expose `{rank_prefix}` as the sender's highest Discord role name. - Added `{role_color}` for Discord -> Minecraft messages. It resolves to the highest colored Discord role and can be used as a MiniMessage color tag. - Added `{channel_prefix}` for Discord -> Minecraft messages so custom channel tags can be kept in `discord.inbound.format`. - PlaceholderAPI placeholders are now processed in `discord.format` for Minecraft -> Discord messages. - Minecraft -> Discord `discord.format` now supports `{rank_prefix}`. - Minecraft formatting codes from LuckPerms or PlaceholderAPI prefixes are stripped before messages are sent to Discord or Telegram, while the actual message text is preserved. - Telegram outbound formats also support `{rank_prefix}` if the token is used. - Inbound bridge logging now handles unexpected/unknown source ids without throwing. ## Configuration Discord -> Minecraft messages are now controlled by one format key: ```yml discord: inbound: format: "{channel_prefix}[Discord] {role_color}{rank_prefix}</role_color>{sender_name}: {plain_text}" ``` Per-channel bridge formats can be set in `channels.yml`: ```yml channels: mod: discord: outbound-format: "[MOD] {rank_prefix}{sender_name}: {plain_text}" inbound-format: "{channel_prefix}[Discord] {role_color}{rank_prefix}</role_color>{sender_name}: {plain_text}" telegram: outbound-format: "[MOD] {rank_prefix}{sender_name}: {plain_text}" inbound-format: "{channel_prefix}[Telegram] {sender_name}: {plain_text}" ``` If a per-channel format is blank, CoreChatX falls back to the matching global bridge format. Available inbound tokens: - `{source}`: display source name, for example `Discord` or `Telegram` - `{source_type}`: raw source id, for example `discord` - `{channel_id}`: CoreChatX channel id - `{channel_prefix}`: prefix extracted from the channel format, or the configured channel prefix fallback - `{sender_name}`: bridge sender display name - `{rank_prefix}`: Discord sender's highest role name, blank for Telegram - `{role_color}`: MiniMessage color tag from the highest colored Discord role, or `white` - `{plain_text}` / `{message}`: sanitized message content Example with role-colored prefix and message: ```yml discord: inbound: format: "{channel_prefix}<dark_gray>[Discord]</dark_gray> {role_color}{rank_prefix}</role_color> <white>{sender_name}</white>: {role_color}{plain_text}</role_color>" ``` Minecraft -> Discord formats can now use PlaceholderAPI placeholders and `{rank_prefix}`: ```yml discord: format: "[{source_server}] [{channel_id}] {rank_prefix}{sender_name}: {plain_text}" ``` ## Safety - Bridge formats are now validated on config load. - Unknown placeholders and invalid inbound MiniMessage syntax produce warnings instead of failing startup. - The outbound formatter strips formatting from templates and rank prefixes, but preserves literal ampersands in the real chat message.
alpha

CoreChatX 2026.1.3

2026.1.3
11 мая 2026 г.14Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2velocity
Скачать
Что нового
# CoreChatX Config Manager Changes ## Added - Added automatic default-key synchronization for Paper YAML configuration files. - When a config file exists but is missing a key from the bundled default, CoreChatX now writes that missing key back into the real file. - Existing configured values are preserved and are not overwritten by bundled defaults. - Missing nested sections and empty map sections are restored, including values such as route maps and channel overrides. - The default locale file `locales/en_us.yml` is also synchronized from bundled defaults. - Velocity `velocity-config.properties` now appends missing bundled default properties when the file exists but is incomplete. ## Safety Rules - Invalid or unparsable YAML files are not rewritten automatically. - Runtime data files such as `playerdata.yml`, `state.yml`, `channeldata.yml`, `ignoredata.yml`, and `mutedata.yml` are not treated as normal admin config for default-key synchronization. - Velocity properties are appended instead of rewriting the whole file, so existing comments and values stay intact. ## Technical - Added `DefaultConfigSynchronizer` as the Paper-side central YAML loader/synchronizer. - Updated Paper config loading paths to use the synchronizer through `ConfigurationService`, `ConfigRegistry`, and the default locale loader. - Added regression coverage for restoring missing nested defaults without overwriting existing values. - Added missing-property synchronization to the Velocity bootstrap config loader.
alpha

CoreChatX 2026.1.3

2026.1.3
11 мая 2026 г.10Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2paper, purpur
Скачать
Что нового
# CoreChatX Config Manager Changes ## Added - Added automatic default-key synchronization for Paper YAML configuration files. - When a config file exists but is missing a key from the bundled default, CoreChatX now writes that missing key back into the real file. - Existing configured values are preserved and are not overwritten by bundled defaults. - Missing nested sections and empty map sections are restored, including values such as route maps and channel overrides. - The default locale file `locales/en_us.yml` is also synchronized from bundled defaults. - Velocity `velocity-config.properties` now appends missing bundled default properties when the file exists but is incomplete. ## Safety Rules - Invalid or unparsable YAML files are not rewritten automatically. - Runtime data files such as `playerdata.yml`, `state.yml`, `channeldata.yml`, `ignoredata.yml`, and `mutedata.yml` are not treated as normal admin config for default-key synchronization. - Velocity properties are appended instead of rewriting the whole file, so existing comments and values stay intact. ## Technical - Added `DefaultConfigSynchronizer` as the Paper-side central YAML loader/synchronizer. - Updated Paper config loading paths to use the synchronizer through `ConfigurationService`, `ConfigRegistry`, and the default locale loader. - Added regression coverage for restoring missing nested defaults without overwriting existing values. - Added missing-property synchronization to the Velocity bootstrap config loader.
alpha

CoreChatX 2026.1.2

2026.1.2
11 мая 2026 г.17Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2paper, purpur
Скачать
Что нового
# CoreChatX 2026.1.2 ## Fixed - Discord -> Minecraft messages no longer force a hardcoded `[Discord]` sender prefix. - Discord -> Minecraft messages can now be fully formatted from `discord.inbound.format`. - Discord -> Minecraft messages now expose `{rank_prefix}` as the sender's highest Discord role name. - Added `{role_color}` for Discord -> Minecraft messages. It resolves to the highest Discord role color and can be used as a MiniMessage color tag. - PlaceholderAPI placeholders are now processed in `discord.format` for Minecraft -> Discord messages. - Minecraft -> Discord `discord.format` now supports `{rank_prefix}`. - Telegram outbound formats also support `{rank_prefix}` if the token is used. ## Configuration Discord -> Minecraft messages are now controlled by one format key: ```yml discord: inbound: format: "[Discord] {role_color}{rank_prefix}</role_color>{sender_name}: {plain_text}" ``` Available Discord inbound tokens: - `{source}`: display source name, for example `Discord` - `{source_type}`: raw source id, for example `discord` - `{sender_name}`: Discord sender display name - `{rank_prefix}`: highest Discord role name - `{role_color}`: MiniMessage color tag from the highest Discord role color, or `white` - `{plain_text}` / `{message}`: sanitized message content Example with role-colored prefix and message: ```yml discord: inbound: format: "<dark_gray>[Discord]</dark_gray> {role_color}{rank_prefix}</role_color> <white>{sender_name}</white>: {role_color}{plain_text}</role_color>" ``` Minecraft -> Discord formats can now use PlaceholderAPI placeholders and `{rank_prefix}`: ```yml discord: format: "[{source_server}] [{channel_id}] {rank_prefix}{sender_name}: {plain_text}" ```
alpha

CoreChatX 2026.1.2

2026.1.2
11 мая 2026 г.13Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2velocity
Скачать
Что нового
# CoreChatX 2026.1.2 ## Fixed - Discord -> Minecraft messages no longer force a hardcoded `[Discord]` sender prefix. - Discord -> Minecraft messages can now be fully formatted from `discord.inbound.format`. - Discord -> Minecraft messages now expose `{rank_prefix}` as the sender's highest Discord role name. - Added `{role_color}` for Discord -> Minecraft messages. It resolves to the highest Discord role color and can be used as a MiniMessage color tag. - PlaceholderAPI placeholders are now processed in `discord.format` for Minecraft -> Discord messages. - Minecraft -> Discord `discord.format` now supports `{rank_prefix}`. - Telegram outbound formats also support `{rank_prefix}` if the token is used. ## Configuration Discord -> Minecraft messages are now controlled by one format key: ```yml discord: inbound: format: "[Discord] {role_color}{rank_prefix}</role_color>{sender_name}: {plain_text}" ``` Available Discord inbound tokens: - `{source}`: display source name, for example `Discord` - `{source_type}`: raw source id, for example `discord` - `{sender_name}`: Discord sender display name - `{rank_prefix}`: highest Discord role name - `{role_color}`: MiniMessage color tag from the highest Discord role color, or `white` - `{plain_text}` / `{message}`: sanitized message content Example with role-colored prefix and message: ```yml discord: inbound: format: "<dark_gray>[Discord]</dark_gray> {role_color}{rank_prefix}</role_color> <white>{sender_name}</white>: {role_color}{plain_text}</role_color>" ``` Minecraft -> Discord formats can now use PlaceholderAPI placeholders and `{rank_prefix}`: ```yml discord: format: "[{source_server}] [{channel_id}] {rank_prefix}{sender_name}: {plain_text}" ```
alpha

CoreChatX 2026.1.1

2026.1.1
10 мая 2026 г.18Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2velocity
Скачать
Что нового
## CoreChatX 2026.1.1 ### Fixed - Fixed a chat formatting crash when PlaceholderAPI or other plugins returned legacy Minecraft formatting codes inside MiniMessage chat formats. - Added support for converting legacy `&` and `§` formatting codes into MiniMessage before rendering. - Added support for legacy hex color formats such as `&#ffa200`, `&x&f&f&a&2&0&0`, and `§x§f§f§a§2§0§0`. - Fixed compatibility with EssentialsX nicknames generated with legacy hex colors, which could previously cause public chat messages to fail rendering. ### Technical - Added regression tests for legacy formatting conversion and Essentials-style hex nicknames. - Improved sanitization of legacy hex formatting in chat-related text paths.
alpha

CoreChatX 2026.1.1

2026.1.1
10 мая 2026 г.10Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2paper, purpur
Скачать
Что нового
## CoreChatX 2026.1.1 ### Fixed - Fixed a chat formatting crash when PlaceholderAPI or other plugins returned legacy Minecraft formatting codes inside MiniMessage chat formats. - Added support for converting legacy `&` and `§` formatting codes into MiniMessage before rendering. - Added support for legacy hex color formats such as `&#ffa200`, `&x&f&f&a&2&0&0`, and `§x§f§f§a§2§0§0`. - Fixed compatibility with EssentialsX nicknames generated with legacy hex colors, which could previously cause public chat messages to fail rendering. ### Technical - Added regression tests for legacy formatting conversion and Essentials-style hex nicknames. - Improved sanitization of legacy hex formatting in chat-related text paths.
alpha

CoreChatX 2026.1.0

2026.1.0
6 мая 2026 г.15Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2velocity
Скачать
Что нового
Velocity Version upload to Modrinth
alpha

CoreChatX 2026.1.0

2026.1.0
6 мая 2026 г.26Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2paper, purpur
Скачать
Что нового
Paper Version upload to modrinth