Meow Anti-XrayСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачать
ВЕРСИИ (34)
release
Meow Anti-Xray 1.7.0 (NeoForge)
1.7.0+mc26.1.x.neoforge10 окт. 2026 г.88Minecraft: 26.1, 26.1.1, 26.1.2neoforge
Что нового
# Meow Anti-Xray 1.7.0 更新日志
这是面向 Minecraft 26.1 / 26.1.1 / 26.1.2 的 1.7.0 版本。Fabric 与 NeoForge 分别提供安装文件,要求 Java 25。
- 新增 `/antixray config` 生效配置摘要与 `/antixray validate` 只读预检。
- 重载前验证配置;失败时保留原文件及上次有效运行配置,支持 UTF-8 BOM。
- 同步性能诊断和可重复压测工具,异步队列默认保持 16。
- 同步可退出的 bStats 客户端;默认 `service-id=0`,尚未激活上报。
- Fabric 要求 Loader 0.19.5 或更新版本,确保实际联机时区块发送注入正常。
- 修复 NeoForge 26.1 / 26.1.1 的方块破坏事件兼容,避免因事件类改名导致启动失败。
## 验证
- 完成双 loader 单元测试、发布构建与实际安装服启动。
- 26.1、26.1.1、26.1.2 两端均通过 2 客户端 / 25 秒区块收发与重写检查,0 错误。
- 配置预检、正常重载、错误重载保留原保护及 UTF-8 BOM 检查通过。
- NeoForge 三个补丁版本均通过真实挖掘验证。
---
# Meow Anti-Xray 1.7.0
This release brings the 1.7.0 version line to Minecraft 26.1, 26.1.1, and 26.1.2. Separate Fabric and NeoForge files are provided; Java 25 is required.
- Adds `/antixray config` for effective configuration and `/antixray validate` for read-only preflight checks.
- Validates before reload; invalid files and the last known good runtime configuration are preserved. UTF-8 BOM is supported.
- Updates pressure diagnostics and repeatable test tools; the default async queue remains 16.
- Includes the optional bStats client; submission remains inactive with the default `service-id=0`.
- Requires Fabric Loader 0.19.5 or newer for compatible chunk-send mixin processing during player login.
- Fixes block-break event compatibility on NeoForge 26.1 / 26.1.1 so the older event name no longer prevents startup.
## Validation
- Passed dual-loader unit tests, release builds, and standalone packaged-jar startup.
- Both loaders on 26.1, 26.1.1, and 26.1.2 passed two-client / 25-second chunk delivery and rewrite checks with zero errors.
- Passed config preflight, reload, invalid reload preserving protection, and UTF-8 BOM checks.
- All three NeoForge patch versions also passed an actual block-break check.
release
Meow Anti-Xray 1.7.0 (Fabric)
1.7.0+mc26.1.x.fabric10 окт. 2026 г.198Minecraft: 26.1, 26.1.1, 26.1.2fabric
Что нового
# Meow Anti-Xray 1.7.0 更新日志
这是面向 Minecraft 26.1 / 26.1.1 / 26.1.2 的 1.7.0 版本。Fabric 与 NeoForge 分别提供安装文件,要求 Java 25。
- 新增 `/antixray config` 生效配置摘要与 `/antixray validate` 只读预检。
- 重载前验证配置;失败时保留原文件及上次有效运行配置,支持 UTF-8 BOM。
- 同步性能诊断和可重复压测工具,异步队列默认保持 16。
- 同步可退出的 bStats 客户端;默认 `service-id=0`,尚未激活上报。
- Fabric 要求 Loader 0.19.5 或更新版本,确保实际联机时区块发送注入正常。
- 修复 NeoForge 26.1 / 26.1.1 的方块破坏事件兼容,避免因事件类改名导致启动失败。
## 验证
- 完成双 loader 单元测试、发布构建与实际安装服启动。
- 26.1、26.1.1、26.1.2 两端均通过 2 客户端 / 25 秒区块收发与重写检查,0 错误。
- 配置预检、正常重载、错误重载保留原保护及 UTF-8 BOM 检查通过。
- NeoForge 三个补丁版本均通过真实挖掘验证。
---
# Meow Anti-Xray 1.7.0
This release brings the 1.7.0 version line to Minecraft 26.1, 26.1.1, and 26.1.2. Separate Fabric and NeoForge files are provided; Java 25 is required.
- Adds `/antixray config` for effective configuration and `/antixray validate` for read-only preflight checks.
- Validates before reload; invalid files and the last known good runtime configuration are preserved. UTF-8 BOM is supported.
- Updates pressure diagnostics and repeatable test tools; the default async queue remains 16.
- Includes the optional bStats client; submission remains inactive with the default `service-id=0`.
- Requires Fabric Loader 0.19.5 or newer for compatible chunk-send mixin processing during player login.
- Fixes block-break event compatibility on NeoForge 26.1 / 26.1.1 so the older event name no longer prevents startup.
## Validation
- Passed dual-loader unit tests, release builds, and standalone packaged-jar startup.
- Both loaders on 26.1, 26.1.1, and 26.1.2 passed two-client / 25-second chunk delivery and rewrite checks with zero errors.
- Passed config preflight, reload, invalid reload preserving protection, and UTF-8 BOM checks.
- All three NeoForge patch versions also passed an actual block-break check.
release
Meow Anti-Xray 1.7.0 (NeoForge)
1.7.0+mc26.2.neoforge10 окт. 2026 г.54Minecraft: 26.2neoforge
Что нового
# Meow Anti-Xray 1.7.0 更新日志
这是面向 Minecraft 26.2 的 1.7.0 版本。Fabric 与 NeoForge 分别提供安装文件,要求 Java 25。
- 与现有 26.2 / 1.6.0 保持反矿透功能一致,统一模组版本号。
- 保留 Minecraft 26.2 专用依赖、区块包适配与协议 776。
- 异步队列默认保持 16,旧配置可继续使用。
- Fabric 要求 Loader 0.19.5 或更新版本,确保实际联机时区块发送注入正常。
## 验证
- 完成双 loader 单元测试、发布构建与实际安装服启动。
- 26.2 两端均通过 2 客户端 / 25 秒区块收发与重写检查,0 错误。
- 配置预检、正常重载、错误重载保留原保护及 UTF-8 BOM 检查通过。
---
# Meow Anti-Xray 1.7.0
This release brings the 1.7.0 version line to Minecraft 26.2. Separate Fabric and NeoForge files are provided; Java 25 is required.
- Aligns the mod version while retaining the anti-xray features of 1.6.0 for Minecraft 26.2.
- Retains Minecraft 26.2 dependencies, chunk packet integration, and protocol 776.
- The default async queue remains 16; existing configurations remain supported.
- Requires Fabric Loader 0.19.5 or newer for compatible chunk-send mixin processing during player login.
## Validation
- Passed dual-loader unit tests, release builds, and standalone packaged-jar startup.
- Both loaders on 26.2 passed two-client / 25-second chunk delivery and rewrite checks with zero errors.
- Passed config preflight, reload, invalid reload preserving protection, and UTF-8 BOM checks.
release
Meow Anti-Xray 1.7.0 (Fabric)
1.7.0+mc26.2.fabric10 окт. 2026 г.564Minecraft: 26.2fabric
Что нового
# Meow Anti-Xray 1.7.0 更新日志
这是面向 Minecraft 26.2 的 1.7.0 版本。Fabric 与 NeoForge 分别提供安装文件,要求 Java 25。
- 与现有 26.2 / 1.6.0 保持反矿透功能一致,统一模组版本号。
- 保留 Minecraft 26.2 专用依赖、区块包适配与协议 776。
- 异步队列默认保持 16,旧配置可继续使用。
- Fabric 要求 Loader 0.19.5 或更新版本,确保实际联机时区块发送注入正常。
## 验证
- 完成双 loader 单元测试、发布构建与实际安装服启动。
- 26.2 两端均通过 2 客户端 / 25 秒区块收发与重写检查,0 错误。
- 配置预检、正常重载、错误重载保留原保护及 UTF-8 BOM 检查通过。
---
# Meow Anti-Xray 1.7.0
This release brings the 1.7.0 version line to Minecraft 26.2. Separate Fabric and NeoForge files are provided; Java 25 is required.
- Aligns the mod version while retaining the anti-xray features of 1.6.0 for Minecraft 26.2.
- Retains Minecraft 26.2 dependencies, chunk packet integration, and protocol 776.
- The default async queue remains 16; existing configurations remain supported.
- Requires Fabric Loader 0.19.5 or newer for compatible chunk-send mixin processing during player login.
## Validation
- Passed dual-loader unit tests, release builds, and standalone packaged-jar startup.
- Both loaders on 26.2 passed two-client / 25-second chunk delivery and rewrite checks with zero errors.
- Passed config preflight, reload, invalid reload preserving protection, and UTF-8 BOM checks.
release
Meow Anti-Xray 1.7.0 (NeoForge)
1.7.0+mc26.3.neoforge24 сент. 2026 г.174Minecraft: 26.3neoforge
Что нового
# Meow Anti-Xray 1.7.0 更新日志
这是面向 Minecraft 26.3 的兼容性版本。
## 兼容性
- 更新 Minecraft 到 26.3(网络协议 777)。
- 更新 Fabric Loader 到 0.19.5、Fabric API 到 0.161.0+26.3。
- 更新 NeoForge 到 26.3.0.16-beta。
- Fabric 与 NeoForge 均要求 Java 25。
## 验证
- Fabric 与 NeoForge 均完成单元测试、双 loader 发布构建和实际开发服启动检查。
- 两端 26.3 网络假玩家压测均能进入 play 并收到区块包,2 客户端 25 秒样本均为 0 错误。
---
# Meow Anti-Xray 1.7.0 Changelog
This release adds Minecraft 26.3 compatibility.
## Compatibility
- Updated Minecraft to 26.3 (network protocol 777).
- Updated Fabric Loader to 0.19.5 and Fabric API to 0.161.0+26.3.
- Updated NeoForge to 26.3.0.16-beta.
- Both loaders require Java 25.
## Verification
- Completed unit tests, dual-loader release builds, and real dev-server startup checks for Fabric and NeoForge.
- Both 26.3 network fake-player routes entered play and received chunk packets; the 2-client, 25-second samples completed with 0 errors on both loaders.
release
Meow Anti-Xray 1.7.0 (Fabric)
1.7.0+mc26.3.fabric24 сент. 2026 г.1,5 тыс.Minecraft: 26.3fabric
Что нового
# Meow Anti-Xray 1.7.0 更新日志
这是面向 Minecraft 26.3 的兼容性版本。
## 兼容性
- 更新 Minecraft 到 26.3(网络协议 777)。
- 更新 Fabric Loader 到 0.19.5、Fabric API 到 0.161.0+26.3。
- 更新 NeoForge 到 26.3.0.16-beta。
- Fabric 与 NeoForge 均要求 Java 25。
## 验证
- Fabric 与 NeoForge 均完成单元测试、双 loader 发布构建和实际开发服启动检查。
- 两端 26.3 网络假玩家压测均能进入 play 并收到区块包,2 客户端 25 秒样本均为 0 错误。
---
# Meow Anti-Xray 1.7.0 Changelog
This release adds Minecraft 26.3 compatibility.
## Compatibility
- Updated Minecraft to 26.3 (network protocol 777).
- Updated Fabric Loader to 0.19.5 and Fabric API to 0.161.0+26.3.
- Updated NeoForge to 26.3.0.16-beta.
- Both loaders require Java 25.
## Verification
- Completed unit tests, dual-loader release builds, and real dev-server startup checks for Fabric and NeoForge.
- Both 26.3 network fake-player routes entered play and received chunk packets; the 2-client, 25-second samples completed with 0 errors on both loaders.
release
Meow Anti-Xray 1.6.0 (NeoForge)
1.6.0+mc26.2.neoforge27 авг. 2026 г.117Minecraft: 26.2neoforge
Что нового
# Meow Anti-Xray 1.6.0 更新日志
这是面向 Minecraft 26.2 的维护与可观测性版本。
## 兼容性
- 更新 Fabric Loader、Fabric API 与 NeoForge 依赖到 26.2 线的较新版本。
- Fabric 与 NeoForge 的反矿透行为保持一致。
## 匿名统计
- 集成可退出的 bStats 匿名统计客户端,用于统计活跃服务器和基础运行时版本。
- 默认生成独立服务器 UUID,不收集服务器地址、名称、玩家名称或玩家 UUID。
- 统计配置位于 `config/meowantixray-bstats.properties`,设置 `enabled=false` 可关闭。
## 验证
- 完成 Fabric 与 NeoForge 单元测试、构建和启动兼容性检查。
- 保持异步队列默认值为 `16`,不因单次吞吐数据扩大内存压力。
---
# Meow Anti-Xray 1.6.0 Changelog
This is a maintenance and observability release for Minecraft 26.2.
## Compatibility
- Updated the Fabric Loader, Fabric API, and NeoForge dependencies to newer versions on the 26.2 line.
- Kept anti-xray behavior aligned between Fabric and NeoForge.
## Anonymous Metrics
- Added an opt-out bStats client for anonymous active-server and basic runtime version metrics.
- A separate random server UUID is generated; server addresses, names, player names, and player UUIDs are not collected.
- Metrics configuration is stored at `config/meowantixray-bstats.properties`; set `enabled=false` to disable it.
## Verification
- Completed Fabric and NeoForge unit tests, builds, and startup compatibility checks.
- Kept the default async queue at `16` instead of increasing memory pressure based on a single throughput sample.
release
Meow Anti-Xray 1.6.0 (Fabric)
1.6.0+mc26.2.fabric27 авг. 2026 г.1,1 тыс.Minecraft: 26.2fabric
Что нового
# Meow Anti-Xray 1.6.0 更新日志
这是面向 Minecraft 26.2 的维护与可观测性版本。
## 兼容性
- 更新 Fabric Loader、Fabric API 与 NeoForge 依赖到 26.2 线的较新版本。
- Fabric 与 NeoForge 的反矿透行为保持一致。
## 匿名统计
- 集成可退出的 bStats 匿名统计客户端,用于统计活跃服务器和基础运行时版本。
- 默认生成独立服务器 UUID,不收集服务器地址、名称、玩家名称或玩家 UUID。
- 统计配置位于 `config/meowantixray-bstats.properties`,设置 `enabled=false` 可关闭。
## 验证
- 完成 Fabric 与 NeoForge 单元测试、构建和启动兼容性检查。
- 保持异步队列默认值为 `16`,不因单次吞吐数据扩大内存压力。
---
# Meow Anti-Xray 1.6.0 Changelog
This is a maintenance and observability release for Minecraft 26.2.
## Compatibility
- Updated the Fabric Loader, Fabric API, and NeoForge dependencies to newer versions on the 26.2 line.
- Kept anti-xray behavior aligned between Fabric and NeoForge.
## Anonymous Metrics
- Added an opt-out bStats client for anonymous active-server and basic runtime version metrics.
- A separate random server UUID is generated; server addresses, names, player names, and player UUIDs are not collected.
- Metrics configuration is stored at `config/meowantixray-bstats.properties`; set `enabled=false` to disable it.
## Verification
- Completed Fabric and NeoForge unit tests, builds, and startup compatibility checks.
- Kept the default async queue at `16` instead of increasing memory pressure based on a single throughput sample.
release
Meow Anti-Xray 1.5.0 (NeoForge)
1.5.0+mc26.2.neoforge2 авг. 2026 г.78Minecraft: 26.2neoforge
Что нового
# Meow Anti-Xray 1.5.0 更新日志
这是面向 Minecraft 26.2 的双 Loader 性能基线版本。
## 性能基线
- 新增可重复的 Fabric / NeoForge 压力矩阵工具,统一记录版本、JDK、CPU、配置校验和、区块吞吐及反矿透运行时指标。
- 完成 Fabric 与 NeoForge 在 8 个网络假玩家、90 秒 spectator 跑图路线下的 queue `0 / 16 / 32 / 64` 筛选。
- 默认 `async-queue-size` 保持为 `16`,优先保证异步任务可以收敛并控制内存压力。
- queue `32` 和 `64` 可作为高内存服务器的手动调优选项,但应结合 `/antixray profile` 观察 `inFlight`、同步 fallback 和压力状态。
## 兼容性
- 支持 Minecraft `26.2` 与 Java `25`。
- Fabric 与 NeoForge 行为保持对齐。
## 验证
- 双 Loader 压力样本均为 8/8 客户端进入 play、0 runner errors,并产生非零区块重写任务。
- 完整矩阵与重复样本记录在 `reports/1.5.0-pressure-matrix.md`。
---
# Meow Anti-Xray 1.5.0 Changelog
This is the dual-loader performance baseline release for Minecraft 26.2.
## Performance Baseline
- Added repeatable Fabric and NeoForge pressure-matrix tooling that records versions, JDK, CPU, config checksums, chunk throughput, and anti-xray runtime counters.
- Completed queue `0 / 16 / 32 / 64` screening with eight network fake players on a 90-second spectator route for both loaders.
- Kept the default `async-queue-size` at `16` to favor bounded work and predictable memory pressure.
- Queues `32` and `64` remain available as manual tuning options for servers with more memory; use `/antixray profile` to watch `inFlight`, sync fallback, and pressure.
## Compatibility
- Supports Minecraft `26.2` and Java `25`.
- Fabric and NeoForge behavior remains aligned.
## Verification
- Every loader sample reached play with 8/8 clients, zero runner errors, and visible rewrite activity.
- The complete matrix and repeat samples are recorded in `reports/1.5.0-pressure-matrix.md`.
release
Meow Anti-Xray 1.5.0 (Fabric)
1.5.0+mc26.2.fabric2 авг. 2026 г.647Minecraft: 26.2fabric
Что нового
# Meow Anti-Xray 1.5.0 更新日志
这是面向 Minecraft 26.2 的双 Loader 性能基线版本。
## 性能基线
- 新增可重复的 Fabric / NeoForge 压力矩阵工具,统一记录版本、JDK、CPU、配置校验和、区块吞吐及反矿透运行时指标。
- 完成 Fabric 与 NeoForge 在 8 个网络假玩家、90 秒 spectator 跑图路线下的 queue `0 / 16 / 32 / 64` 筛选。
- 默认 `async-queue-size` 保持为 `16`,优先保证异步任务可以收敛并控制内存压力。
- queue `32` 和 `64` 可作为高内存服务器的手动调优选项,但应结合 `/antixray profile` 观察 `inFlight`、同步 fallback 和压力状态。
## 兼容性
- 支持 Minecraft `26.2` 与 Java `25`。
- Fabric 与 NeoForge 行为保持对齐。
## 验证
- 双 Loader 压力样本均为 8/8 客户端进入 play、0 runner errors,并产生非零区块重写任务。
- 完整矩阵与重复样本记录在 `reports/1.5.0-pressure-matrix.md`。
---
# Meow Anti-Xray 1.5.0 Changelog
This is the dual-loader performance baseline release for Minecraft 26.2.
## Performance Baseline
- Added repeatable Fabric and NeoForge pressure-matrix tooling that records versions, JDK, CPU, config checksums, chunk throughput, and anti-xray runtime counters.
- Completed queue `0 / 16 / 32 / 64` screening with eight network fake players on a 90-second spectator route for both loaders.
- Kept the default `async-queue-size` at `16` to favor bounded work and predictable memory pressure.
- Queues `32` and `64` remain available as manual tuning options for servers with more memory; use `/antixray profile` to watch `inFlight`, sync fallback, and pressure.
## Compatibility
- Supports Minecraft `26.2` and Java `25`.
- Fabric and NeoForge behavior remains aligned.
## Verification
- Every loader sample reached play with 8/8 clients, zero runner errors, and visible rewrite activity.
- The complete matrix and repeat samples are recorded in `reports/1.5.0-pressure-matrix.md`.
release
Meow Anti-Xray 1.4.0 (NeoForge)
1.4.0+neoforge12 июл. 2026 г.83Minecraft: 26.2neoforge
Что нового
# Meow Anti-Xray 1.4.0 更新日志
这是面向 Minecraft 26.2 的配置安全与诊断版本,合并了原计划中的 1.3.2 与 1.4.0。
## 配置检查
- 新增 OP-only 只读 `/antixray config`,可在游戏、控制台和 RCON 查看当前实际生效的全局、异步及分维度配置摘要。
- 新增 OP-only 只读 `/antixray validate`,在不应用配置的情况下检查磁盘文件,并报告 YAML 格式、布尔值、数值范围、维度、未知方块 ID、空替换列表和重复方块等问题。
- 验证结果会明确显示是否可以安全执行 reload。
## 安全重载
- `/antixray reload` 现在先完整验证候选配置,再一次性切换运行态。
- 配置读取、格式或方块校验失败时,不覆盖原配置文件,也不使用部分解析结果。
- 运行中 reload 失败会继续使用最后一次有效配置,避免意外削弱反矿透防护。
- 首次启动遇到已有但无效的配置时,保留该文件,并使用内存中的安全默认配置启动。
## 兼容性
- 支持 Minecraft `26.2` 与 Java `25`。
- Fabric / NeoForge 依赖范围不变。
---
# Meow Anti-Xray 1.4.0 Changelog
This Minecraft 26.2 release combines the previously planned 1.3.2 diagnostics work with the 1.4.0 configuration-safety iteration.
## Configuration Checks
- Added OP-only read-only `/antixray config` for effective global, async, and per-dimension configuration summaries in game, console, and RCON.
- Added OP-only read-only `/antixray validate`, which checks the file on disk without applying it and reports YAML syntax, boolean values, numeric ranges, dimensions, unknown block ids, empty replacement lists, and duplicate blocks.
- Validation clearly reports whether reload is safe.
## Safe Reload
- `/antixray reload` now fully validates a candidate configuration before atomically switching the runtime state.
- Read, syntax, or block validation failures no longer overwrite the existing file or activate partially parsed values.
- A failed runtime reload retains the last-known-good configuration so protection is not unexpectedly weakened.
- If an existing config is invalid during first startup, the file is preserved and safe in-memory defaults are used.
## Compatibility
- Supports Minecraft `26.2` and Java `25`.
- Fabric and NeoForge dependency ranges are unchanged.
release
Meow Anti-Xray 1.4.0 (Fabric)
1.4.0+fabric12 июл. 2026 г.619Minecraft: 26.2fabric
Что нового
# Meow Anti-Xray 1.4.0 更新日志
这是面向 Minecraft 26.2 的配置安全与诊断版本,合并了原计划中的 1.3.2 与 1.4.0。
## 配置检查
- 新增 OP-only 只读 `/antixray config`,可在游戏、控制台和 RCON 查看当前实际生效的全局、异步及分维度配置摘要。
- 新增 OP-only 只读 `/antixray validate`,在不应用配置的情况下检查磁盘文件,并报告 YAML 格式、布尔值、数值范围、维度、未知方块 ID、空替换列表和重复方块等问题。
- 验证结果会明确显示是否可以安全执行 reload。
## 安全重载
- `/antixray reload` 现在先完整验证候选配置,再一次性切换运行态。
- 配置读取、格式或方块校验失败时,不覆盖原配置文件,也不使用部分解析结果。
- 运行中 reload 失败会继续使用最后一次有效配置,避免意外削弱反矿透防护。
- 首次启动遇到已有但无效的配置时,保留该文件,并使用内存中的安全默认配置启动。
## 兼容性
- 支持 Minecraft `26.2` 与 Java `25`。
- Fabric / NeoForge 依赖范围不变。
---
# Meow Anti-Xray 1.4.0 Changelog
This Minecraft 26.2 release combines the previously planned 1.3.2 diagnostics work with the 1.4.0 configuration-safety iteration.
## Configuration Checks
- Added OP-only read-only `/antixray config` for effective global, async, and per-dimension configuration summaries in game, console, and RCON.
- Added OP-only read-only `/antixray validate`, which checks the file on disk without applying it and reports YAML syntax, boolean values, numeric ranges, dimensions, unknown block ids, empty replacement lists, and duplicate blocks.
- Validation clearly reports whether reload is safe.
## Safe Reload
- `/antixray reload` now fully validates a candidate configuration before atomically switching the runtime state.
- Read, syntax, or block validation failures no longer overwrite the existing file or activate partially parsed values.
- A failed runtime reload retains the last-known-good configuration so protection is not unexpectedly weakened.
- If an existing config is invalid during first startup, the file is preserved and safe in-memory defaults are used.
## Compatibility
- Supports Minecraft `26.2` and Java `25`.
- Fabric and NeoForge dependency ranges are unchanged.
release
Meow Anti-Xray 1.2.3 (NeoForge)
1.2.3+neoforge28 июн. 2026 г.111Minecraft: 26.1, 26.1.1, 26.1.2neoforge
Что нового
# Meow Anti-Xray 1.2.3 更新日志
这是面向 Minecraft 26.1.x 维护线的 Paper parity 小版本。
## Paper 对齐
- 假块选择的运行期随机种子改为非零 `ThreadLocalRandom`,再沿用 xorshift 与无符号 bounded scaling,更贴近 Paper anti-xray 的随机假块选择方式。
- 补充 Paper transparent override 回归测试,锁定 spawner、barrier、shulker box、slime block、mangrove roots 不作为实心遮挡参与暴露判断。
## 兼容性
- 继续支持 Minecraft `26.1`、`26.1.1`、`26.1.2`。
- Fabric / NeoForge 依赖范围不变。
## 验证
- `node --check tools\mc-2612-load-runner.js`
- `.\gradlew.bat clean test :neoforge:test releaseAllLoaders --console=plain`
---
# Meow Anti-Xray 1.2.3 Changelog
This is a Paper parity patch release for the Minecraft 26.1.x maintenance line.
## Paper Parity
- Fake block selection now uses a non-zero `ThreadLocalRandom` runtime seed, followed by xorshift and unsigned bounded scaling, closer to Paper anti-xray's random fake block selection.
- Added regression coverage for Paper transparent overrides, locking spawner, barrier, shulker boxes, slime block, and mangrove roots as non-solid blockers for exposure checks.
## Compatibility
- Continues to support Minecraft `26.1`, `26.1.1`, and `26.1.2`.
- Fabric / NeoForge dependency ranges are unchanged.
## Verification
- `node --check tools\mc-2612-load-runner.js`
- `.\gradlew.bat clean test :neoforge:test releaseAllLoaders --console=plain`
release
Meow Anti-Xray 1.2.3 (Fabric)
1.2.3+fabric28 июн. 2026 г.722Minecraft: 26.1, 26.1.1, 26.1.2fabric
Что нового
# Meow Anti-Xray 1.2.3 更新日志
这是面向 Minecraft 26.1.x 维护线的 Paper parity 小版本。
## Paper 对齐
- 假块选择的运行期随机种子改为非零 `ThreadLocalRandom`,再沿用 xorshift 与无符号 bounded scaling,更贴近 Paper anti-xray 的随机假块选择方式。
- 补充 Paper transparent override 回归测试,锁定 spawner、barrier、shulker box、slime block、mangrove roots 不作为实心遮挡参与暴露判断。
## 兼容性
- 继续支持 Minecraft `26.1`、`26.1.1`、`26.1.2`。
- Fabric / NeoForge 依赖范围不变。
## 验证
- `node --check tools\mc-2612-load-runner.js`
- `.\gradlew.bat clean test :neoforge:test releaseAllLoaders --console=plain`
---
# Meow Anti-Xray 1.2.3 Changelog
This is a Paper parity patch release for the Minecraft 26.1.x maintenance line.
## Paper Parity
- Fake block selection now uses a non-zero `ThreadLocalRandom` runtime seed, followed by xorshift and unsigned bounded scaling, closer to Paper anti-xray's random fake block selection.
- Added regression coverage for Paper transparent overrides, locking spawner, barrier, shulker boxes, slime block, and mangrove roots as non-solid blockers for exposure checks.
## Compatibility
- Continues to support Minecraft `26.1`, `26.1.1`, and `26.1.2`.
- Fabric / NeoForge dependency ranges are unchanged.
## Verification
- `node --check tools\mc-2612-load-runner.js`
- `.\gradlew.bat clean test :neoforge:test releaseAllLoaders --console=plain`
release
Meow Anti-Xray 1.3.1 (NeoForge)
1.3.1+neoforge28 июн. 2026 г.42Minecraft: 26.2neoforge
Что нового
# Meow Anti-Xray 1.3.1 更新日志
这是面向 Minecraft 26.2 的 Paper parity 小版本。
## Paper 对齐
- 假块选择的运行期随机种子改为非零 `ThreadLocalRandom`,再沿用 xorshift 与无符号 bounded scaling,更贴近 Paper anti-xray 的随机假块选择方式。
- 补充 Paper transparent override 回归测试,锁定 spawner、barrier、shulker box、slime block、mangrove roots 不作为实心遮挡参与暴露判断。
## 兼容性
- 继续支持 Minecraft `26.2`。
- Fabric / NeoForge 依赖范围不变。
## 验证
- `node --check tools\mc-2612-load-runner.js`
- `.\gradlew.bat clean test :neoforge:test releaseAllLoaders --console=plain`
- Fabric `runServer` 真实启动通过,2 个 Minecraft 26.2 假网络玩家 RCON spectator 跑图 `26s`:`chunks=4980`、`batches=383`、`errors=0`,`/antixray profile` 显示 `rewriteTasks=4980`。
- NeoForge `:neoforge:runServer` 真实启动通过,`/antixray status` 确认 `loader=neoforge, version=1.3.1, minecraft=26.2`;短跑图中假玩家可登录和 RCON 传送,但本地短测未触发 chunk rewrite,后续仍需继续跟进 NeoForge 压测链路。
---
# Meow Anti-Xray 1.3.1 Changelog
This is a Paper parity patch release for Minecraft 26.2.
## Paper Parity
- Fake block selection now uses a non-zero `ThreadLocalRandom` runtime seed, followed by xorshift and unsigned bounded scaling, closer to Paper anti-xray's random fake block selection.
- Added regression coverage for Paper transparent overrides, locking spawner, barrier, shulker boxes, slime block, and mangrove roots as non-solid blockers for exposure checks.
## Compatibility
- Continues to support Minecraft `26.2`.
- Fabric / NeoForge dependency ranges are unchanged.
## Verification
- `node --check tools\mc-2612-load-runner.js`
- `.\gradlew.bat clean test :neoforge:test releaseAllLoaders --console=plain`
- Fabric `runServer` real startup passed. A 2-client Minecraft 26.2 RCON spectator smoke ran for `26s` with `chunks=4980`, `batches=383`, `errors=0`, and `/antixray profile` reported `rewriteTasks=4980`.
- NeoForge `:neoforge:runServer` real startup passed, and `/antixray status` confirmed `loader=neoforge, version=1.3.1, minecraft=26.2`. The short local run allowed fake clients to log in and receive RCON teleports, but did not trigger chunk rewrite work; the NeoForge pressure path still needs follow-up.
release
Meow Anti-Xray 1.3.1 (Fabric)
1.3.1+fabric28 июн. 2026 г.450Minecraft: 26.2fabric
Что нового
# Meow Anti-Xray 1.3.1 更新日志
这是面向 Minecraft 26.2 的 Paper parity 小版本。
## Paper 对齐
- 假块选择的运行期随机种子改为非零 `ThreadLocalRandom`,再沿用 xorshift 与无符号 bounded scaling,更贴近 Paper anti-xray 的随机假块选择方式。
- 补充 Paper transparent override 回归测试,锁定 spawner、barrier、shulker box、slime block、mangrove roots 不作为实心遮挡参与暴露判断。
## 兼容性
- 继续支持 Minecraft `26.2`。
- Fabric / NeoForge 依赖范围不变。
## 验证
- `node --check tools\mc-2612-load-runner.js`
- `.\gradlew.bat clean test :neoforge:test releaseAllLoaders --console=plain`
- Fabric `runServer` 真实启动通过,2 个 Minecraft 26.2 假网络玩家 RCON spectator 跑图 `26s`:`chunks=4980`、`batches=383`、`errors=0`,`/antixray profile` 显示 `rewriteTasks=4980`。
- NeoForge `:neoforge:runServer` 真实启动通过,`/antixray status` 确认 `loader=neoforge, version=1.3.1, minecraft=26.2`;短跑图中假玩家可登录和 RCON 传送,但本地短测未触发 chunk rewrite,后续仍需继续跟进 NeoForge 压测链路。
---
# Meow Anti-Xray 1.3.1 Changelog
This is a Paper parity patch release for Minecraft 26.2.
## Paper Parity
- Fake block selection now uses a non-zero `ThreadLocalRandom` runtime seed, followed by xorshift and unsigned bounded scaling, closer to Paper anti-xray's random fake block selection.
- Added regression coverage for Paper transparent overrides, locking spawner, barrier, shulker boxes, slime block, and mangrove roots as non-solid blockers for exposure checks.
## Compatibility
- Continues to support Minecraft `26.2`.
- Fabric / NeoForge dependency ranges are unchanged.
## Verification
- `node --check tools\mc-2612-load-runner.js`
- `.\gradlew.bat clean test :neoforge:test releaseAllLoaders --console=plain`
- Fabric `runServer` real startup passed. A 2-client Minecraft 26.2 RCON spectator smoke ran for `26s` with `chunks=4980`, `batches=383`, `errors=0`, and `/antixray profile` reported `rewriteTasks=4980`.
- NeoForge `:neoforge:runServer` real startup passed, and `/antixray status` confirmed `loader=neoforge, version=1.3.1, minecraft=26.2`. The short local run allowed fake clients to log in and receive RCON teleports, but did not trigger chunk rewrite work; the NeoForge pressure path still needs follow-up.
release
Meow Anti-Xray 1.3.0 (NeoForge)
1.3.0+neoforge28 июн. 2026 г.23Minecraft: 26.2neoforge
Что нового
# Meow Anti-Xray 1.3.0 更新日志
这是面向 Minecraft 26.2 的兼容与验证版本,重点是升级双 loader 依赖、校准官方版本信息,并补齐 26.2 下的真实压测结果。
## 兼容性
- 支持 Minecraft `26.2`,Java 语言级别保持 `25`。
- Fabric 侧升级到 Fabric Loader `0.19.3` 与 Fabric API `0.153.0+26.2`。
- NeoForge 侧升级到 `26.2.0.7-beta`。
- Fabric metadata 现在限制为 `>=26.2 <26.3`;NeoForge Minecraft 范围为 `[26.2,26.3)`。
## 压测工具
- `tools/mc-2612-load-runner.js` 新增 `--mc-version 26.2` 协议 profile,默认使用 Minecraft 26.2 / protocol `776`。
- 保留 `26.1.2` / protocol `775` profile,便于回归旧版本。
- 修正 26.2 configuration 阶段 custom payload 处理:不再把服务端插件消息原样回发,避免服务端按新的 serverbound payload codec 解码失败。
## 压测结果
本轮使用默认 `async-queue-size=16`,8 个网络假玩家通过 RCON spectator 传送持续制造区块发送压力:
| Loader | 时长 | 区块包 | 吞吐 | 客户端错误 | rewrite 平均耗时 | sync fallback |
| --- | ---: | ---: | ---: | ---: | ---: | ---: |
| Fabric | `92s` | `32,893` | `357.49 chunks/s` | `0` | `2.839ms` | `42.0%` |
| NeoForge | `92s` | `35,593` | `386.86 chunks/s` | `0` | `2.719ms` | `39.0%` |
`pressure=saturated` 在这种高压跑图下是预期信号,表示默认队列背压正在限制异步任务堆积,优先保护内存稳定。
## Paper 对齐
- 已复查 PaperMC/Paper `main`,远端 HEAD 仍为 `76d2ac758cb3abe75aceefa88207443768f585c6`,与项目既有 Paper anti-xray parity 基线一致。
- Paper anti-xray 默认配置、hidden/replacement 逻辑与权限节点未发现新的上游变化,本轮不需要额外调整核心反矿透行为。
## 验证
- `node --check tools\mc-2612-load-runner.js` 通过。
- Fabric 与 NeoForge 26.2 dev server 均启动到 `Done`,`/antixray status` 确认 `version=1.3.0`、`minecraft=26.2`。
- `.\gradlew.bat clean test :neoforge:test releaseAllLoaders --console=plain` 通过。
- 已检查 `build/release/meowantixray-fabric-1.3.0.jar` 与 `build/release/meowantixray-neoforge-1.3.0.jar` 的内嵌 metadata,版本号与 26.2 依赖范围正确。
- 完整压测报告见 `reports/1.3.0-minecraft-26.2-pressure-report.md`。
---
# Meow Anti-Xray 1.3.0 Changelog
This release updates Meow Anti-Xray for Minecraft 26.2, refreshes the loader dependencies from official sources, and adds new 26.2 stress-test results.
## Compatibility
- Supports Minecraft `26.2`; Java remains `25`.
- Fabric now targets Fabric Loader `0.19.3` and Fabric API `0.153.0+26.2`.
- NeoForge now targets `26.2.0.7-beta`.
- Fabric metadata now requires `>=26.2 <26.3`; NeoForge's Minecraft range is `[26.2,26.3)`.
## Load Runner
- `tools/mc-2612-load-runner.js` now supports `--mc-version 26.2`, using Minecraft 26.2 / protocol `776` by default.
- The previous `26.1.2` / protocol `775` profile is still available for regression checks.
- Fixed configuration-stage custom payload handling for 26.2 by no longer echoing server plugin messages back as serverbound payloads.
## Stress Test Results
These runs used the default `async-queue-size=16` with 8 fake network players driven by RCON spectator teleports:
| Loader | Duration | Chunk packets | Throughput | Client errors | Rewrite avg | Sync fallback |
| --- | ---: | ---: | ---: | ---: | ---: | ---: |
| Fabric | `92s` | `32,893` | `357.49 chunks/s` | `0` | `2.839ms` | `42.0%` |
| NeoForge | `92s` | `35,593` | `386.86 chunks/s` | `0` | `2.719ms` | `39.0%` |
Seeing `pressure=saturated` during this synthetic exploration load is expected: the bounded async queue is applying backpressure to protect memory stability.
## Paper Parity
- Rechecked PaperMC/Paper `main`; the remote HEAD is still `76d2ac758cb3abe75aceefa88207443768f585c6`, matching this project's existing Paper anti-xray parity baseline.
- No new upstream Paper anti-xray defaults, hidden/replacement behavior, or permission-node changes were found, so no core anti-xray behavior change was needed for Paper parity.
## Verification
- `node --check tools\mc-2612-load-runner.js` passed.
- Both Fabric and NeoForge 26.2 dev servers reached `Done`; `/antixray status` confirmed `version=1.3.0` and `minecraft=26.2`.
- `.\gradlew.bat clean test :neoforge:test releaseAllLoaders --console=plain` passed.
- Checked embedded metadata in `build/release/meowantixray-fabric-1.3.0.jar` and `build/release/meowantixray-neoforge-1.3.0.jar`; both contain the expected version and 26.2 dependency ranges.
- Full stress-test report: `reports/1.3.0-minecraft-26.2-pressure-report.md`.
release
Meow Anti-Xray 1.3.0 (Fabric)
1.3.0+fabric28 июн. 2026 г.36Minecraft: 26.2fabric
Что нового
# Meow Anti-Xray 1.3.0 更新日志
这是面向 Minecraft 26.2 的兼容与验证版本,重点是升级双 loader 依赖、校准官方版本信息,并补齐 26.2 下的真实压测结果。
## 兼容性
- 支持 Minecraft `26.2`,Java 语言级别保持 `25`。
- Fabric 侧升级到 Fabric Loader `0.19.3` 与 Fabric API `0.153.0+26.2`。
- NeoForge 侧升级到 `26.2.0.7-beta`。
- Fabric metadata 现在限制为 `>=26.2 <26.3`;NeoForge Minecraft 范围为 `[26.2,26.3)`。
## 压测工具
- `tools/mc-2612-load-runner.js` 新增 `--mc-version 26.2` 协议 profile,默认使用 Minecraft 26.2 / protocol `776`。
- 保留 `26.1.2` / protocol `775` profile,便于回归旧版本。
- 修正 26.2 configuration 阶段 custom payload 处理:不再把服务端插件消息原样回发,避免服务端按新的 serverbound payload codec 解码失败。
## 压测结果
本轮使用默认 `async-queue-size=16`,8 个网络假玩家通过 RCON spectator 传送持续制造区块发送压力:
| Loader | 时长 | 区块包 | 吞吐 | 客户端错误 | rewrite 平均耗时 | sync fallback |
| --- | ---: | ---: | ---: | ---: | ---: | ---: |
| Fabric | `92s` | `32,893` | `357.49 chunks/s` | `0` | `2.839ms` | `42.0%` |
| NeoForge | `92s` | `35,593` | `386.86 chunks/s` | `0` | `2.719ms` | `39.0%` |
`pressure=saturated` 在这种高压跑图下是预期信号,表示默认队列背压正在限制异步任务堆积,优先保护内存稳定。
## Paper 对齐
- 已复查 PaperMC/Paper `main`,远端 HEAD 仍为 `76d2ac758cb3abe75aceefa88207443768f585c6`,与项目既有 Paper anti-xray parity 基线一致。
- Paper anti-xray 默认配置、hidden/replacement 逻辑与权限节点未发现新的上游变化,本轮不需要额外调整核心反矿透行为。
## 验证
- `node --check tools\mc-2612-load-runner.js` 通过。
- Fabric 与 NeoForge 26.2 dev server 均启动到 `Done`,`/antixray status` 确认 `version=1.3.0`、`minecraft=26.2`。
- `.\gradlew.bat clean test :neoforge:test releaseAllLoaders --console=plain` 通过。
- 已检查 `build/release/meowantixray-fabric-1.3.0.jar` 与 `build/release/meowantixray-neoforge-1.3.0.jar` 的内嵌 metadata,版本号与 26.2 依赖范围正确。
- 完整压测报告见 `reports/1.3.0-minecraft-26.2-pressure-report.md`。
---
# Meow Anti-Xray 1.3.0 Changelog
This release updates Meow Anti-Xray for Minecraft 26.2, refreshes the loader dependencies from official sources, and adds new 26.2 stress-test results.
## Compatibility
- Supports Minecraft `26.2`; Java remains `25`.
- Fabric now targets Fabric Loader `0.19.3` and Fabric API `0.153.0+26.2`.
- NeoForge now targets `26.2.0.7-beta`.
- Fabric metadata now requires `>=26.2 <26.3`; NeoForge's Minecraft range is `[26.2,26.3)`.
## Load Runner
- `tools/mc-2612-load-runner.js` now supports `--mc-version 26.2`, using Minecraft 26.2 / protocol `776` by default.
- The previous `26.1.2` / protocol `775` profile is still available for regression checks.
- Fixed configuration-stage custom payload handling for 26.2 by no longer echoing server plugin messages back as serverbound payloads.
## Stress Test Results
These runs used the default `async-queue-size=16` with 8 fake network players driven by RCON spectator teleports:
| Loader | Duration | Chunk packets | Throughput | Client errors | Rewrite avg | Sync fallback |
| --- | ---: | ---: | ---: | ---: | ---: | ---: |
| Fabric | `92s` | `32,893` | `357.49 chunks/s` | `0` | `2.839ms` | `42.0%` |
| NeoForge | `92s` | `35,593` | `386.86 chunks/s` | `0` | `2.719ms` | `39.0%` |
Seeing `pressure=saturated` during this synthetic exploration load is expected: the bounded async queue is applying backpressure to protect memory stability.
## Paper Parity
- Rechecked PaperMC/Paper `main`; the remote HEAD is still `76d2ac758cb3abe75aceefa88207443768f585c6`, matching this project's existing Paper anti-xray parity baseline.
- No new upstream Paper anti-xray defaults, hidden/replacement behavior, or permission-node changes were found, so no core anti-xray behavior change was needed for Paper parity.
## Verification
- `node --check tools\mc-2612-load-runner.js` passed.
- Both Fabric and NeoForge 26.2 dev servers reached `Done`; `/antixray status` confirmed `version=1.3.0` and `minecraft=26.2`.
- `.\gradlew.bat clean test :neoforge:test releaseAllLoaders --console=plain` passed.
- Checked embedded metadata in `build/release/meowantixray-fabric-1.3.0.jar` and `build/release/meowantixray-neoforge-1.3.0.jar`; both contain the expected version and 26.2 dependency ranges.
- Full stress-test report: `reports/1.3.0-minecraft-26.2-pressure-report.md`.
release
Meow Anti-Xray 1.2.2 (NeoForge)
1.2.2+neoforge9 июн. 2026 г.49Minecraft: 26.1, 26.1.1, 26.1.2neoforge
Что нового
# Meow Anti-Xray 1.2.2 更新日志
这是一个面向服主使用体验的补丁版本,主要修正命令诊断输出里不够直观的细节。
## 改进
- `/antixray inspect` 现在会稳定显示标准维度 ID,例如 `minecraft:overworld`,不再出现难读的内部 `ResourceKey[...]` 表示。
- `/antixray status`、`/antixray reload` 和 `/antixray inspect` 在控制台与 RCON 下会整理成更紧凑的单行输出,读取和转发都更方便。
- 游戏内玩家执行这些命令时,仍然保留原本更清晰的多行显示。
## 验证
- 针对命令输出与诊断结果补充回归测试。
- 执行 `.\gradlew.bat test :neoforge:test buildAllLoaders --console=plain` 通过。
---
# Meow Anti-Xray 1.2.2 Changelog
This patch release focuses on command output polish for server owners.
## Improved
- `/antixray inspect` now shows stable standard dimension ids such as `minecraft:overworld` instead of exposing hard-to-read internal `ResourceKey[...]` text.
- `/antixray status`, `/antixray reload`, and `/antixray inspect` now produce cleaner compact output in console and RCON, making results easier to read and forward.
- In-game player output for these commands remains multi-line and easy to scan.
## Verification
- Added regression coverage for command output formatting and inspect dimension normalization.
- `.\gradlew.bat test :neoforge:test buildAllLoaders --console=plain` passed.
release
Meow Anti-Xray 1.2.2 (Fabric)
1.2.2+fabric9 июн. 2026 г.280Minecraft: 26.1, 26.1.1, 26.1.2fabric
Что нового
# Meow Anti-Xray 1.2.2 更新日志
这是一个面向服主使用体验的补丁版本,主要修正命令诊断输出里不够直观的细节。
## 改进
- `/antixray inspect` 现在会稳定显示标准维度 ID,例如 `minecraft:overworld`,不再出现难读的内部 `ResourceKey[...]` 表示。
- `/antixray status`、`/antixray reload` 和 `/antixray inspect` 在控制台与 RCON 下会整理成更紧凑的单行输出,读取和转发都更方便。
- 游戏内玩家执行这些命令时,仍然保留原本更清晰的多行显示。
## 验证
- 针对命令输出与诊断结果补充回归测试。
- 执行 `.\gradlew.bat test :neoforge:test buildAllLoaders --console=plain` 通过。
---
# Meow Anti-Xray 1.2.2 Changelog
This patch release focuses on command output polish for server owners.
## Improved
- `/antixray inspect` now shows stable standard dimension ids such as `minecraft:overworld` instead of exposing hard-to-read internal `ResourceKey[...]` text.
- `/antixray status`, `/antixray reload`, and `/antixray inspect` now produce cleaner compact output in console and RCON, making results easier to read and forward.
- In-game player output for these commands remains multi-line and easy to scan.
## Verification
- Added regression coverage for command output formatting and inspect dimension normalization.
- `.\gradlew.bat test :neoforge:test buildAllLoaders --console=plain` passed.
release
Meow Anti-Xray 1.2.1 (NeoForge)
1.2.1+neoforge9 июн. 2026 г.29Minecraft: 26.1, 26.1.1, 26.1.2neoforge
Что нового
# Meow Anti-Xray 1.2.1 更新日志
这是一个偏服主体验与诊断能力增强的维护版本,重点是让你更容易看清当前反矿透到底在用什么配置、reload 后有没有真正生效,以及某个位置为什么会或不会被伪装。
## 新增与改进
- `/antixray status` 现在会输出更完整的运行状态:
- 全局 `enabled`、`engine-mode`、`max-block-height`
- async `workerThreads`、`queueSize`、`capacity`
- 当前配置文件路径
- 每个维度的 `enabled / mode / max-block-height / hidden / replacement` 计数
- `/antixray reload` 现在会在重载后返回状态摘要,并给出关键配置变化 diff。
- 如果本次重载没有带来实际运行时变化,会明确显示 `changes: no effective runtime changes`
- 原 `/antixray debug` 诊断输出升级为多行 inspect 风格结果,并新增正式别名:
- `/antixray inspect <world> <x> <y> <z>`
- `inspect` 现在会显示:
- real / fake 方块
- 是否属于 hidden / replacement / target
- 是否在高度范围内
- 是否 exposed、是否 shouldReveal
- 当前 `mode`、`update-radius`、权限绕过配置
- 配置兼容再补一层:
- 显式空内联列表 `hidden-blocks: []` / `replacement-blocks: []` 现在会按“用户明确配置为空”处理,不再误回退到默认列表
## 验证
- 单测通过:
- `.\gradlew.bat test --tests com.meowantixray.antixray.FakeOreConfigTest --console=plain`
- `.\gradlew.bat test --tests com.meowantixray.antixray.FakeOreServiceTest --console=plain`
- 全量测试与双 loader 构建通过:
- `.\gradlew.bat test :neoforge:test buildAllLoaders --console=plain`
- 本地双 loader 命令冒烟通过:
- Fabric:`status` / `reload` / `inspect` / `stop`
- NeoForge:`status` / `reload` / `inspect` / `stop`
## 兼容性
- Mod ID 仍为 `meowantixray`
- 配置文件仍为 `config/meowantixray.yml`
- Fabric 与 NeoForge 仍然分别发布独立 jar
- Minecraft 兼容范围保持 `26.1`、`26.1.1`、`26.1.2`
---
# Meow Anti-Xray 1.2.1 Changelog
This maintenance release focuses on server-owner visibility and diagnostics. The goal is to make it much easier to see what anti-xray settings are actually active, whether a reload changed anything, and why a specific block position is or is not being obfuscated.
## Added and Improved
- `/antixray status` now reports a fuller runtime view:
- global `enabled`, `engine-mode`, and `max-block-height`
- async `workerThreads`, `queueSize`, and `capacity`
- the active config file path
- per-dimension `enabled / mode / max-block-height / hidden / replacement` counts
- `/antixray reload` now returns the post-reload state summary together with a diff of important runtime config changes.
- If the reload produces no effective runtime change, it explicitly reports `changes: no effective runtime changes`
- The original `/antixray debug` output has been upgraded into a multi-line inspect-style diagnostic result, and a formal alias was added:
- `/antixray inspect <world> <x> <y> <z>`
- `inspect` now shows:
- real / fake block state
- whether the block is part of the hidden / replacement / target sets
- whether it falls inside the configured height range
- whether it is exposed and whether it should reveal
- current `mode`, `update-radius`, and permission bypass settings
- Config compatibility was also tightened again:
- explicit empty inline lists such as `hidden-blocks: []` and `replacement-blocks: []` are now treated as intentional user config instead of silently falling back to defaults
## Verification
- Targeted tests passed:
- `.\gradlew.bat test --tests com.meowantixray.antixray.FakeOreConfigTest --console=plain`
- `.\gradlew.bat test --tests com.meowantixray.antixray.FakeOreServiceTest --console=plain`
- Full tests and dual-loader build passed:
- `.\gradlew.bat test :neoforge:test buildAllLoaders --console=plain`
- Local dual-loader command smoke passed:
- Fabric: `status` / `reload` / `inspect` / `stop`
- NeoForge: `status` / `reload` / `inspect` / `stop`
## Compatibility
- Mod ID remains `meowantixray`
- Config file remains `config/meowantixray.yml`
- Fabric and NeoForge are still published as separate jars
- Minecraft compatibility remains `26.1`, `26.1.1`, and `26.1.2`
release
Meow Anti-Xray 1.2.1 (Fabric)
1.2.1+fabric9 июн. 2026 г.18Minecraft: 26.1, 26.1.1, 26.1.2fabric
Что нового
# Meow Anti-Xray 1.2.1 更新日志
这是一个偏服主体验与诊断能力增强的维护版本,重点是让你更容易看清当前反矿透到底在用什么配置、reload 后有没有真正生效,以及某个位置为什么会或不会被伪装。
## 新增与改进
- `/antixray status` 现在会输出更完整的运行状态:
- 全局 `enabled`、`engine-mode`、`max-block-height`
- async `workerThreads`、`queueSize`、`capacity`
- 当前配置文件路径
- 每个维度的 `enabled / mode / max-block-height / hidden / replacement` 计数
- `/antixray reload` 现在会在重载后返回状态摘要,并给出关键配置变化 diff。
- 如果本次重载没有带来实际运行时变化,会明确显示 `changes: no effective runtime changes`
- 原 `/antixray debug` 诊断输出升级为多行 inspect 风格结果,并新增正式别名:
- `/antixray inspect <world> <x> <y> <z>`
- `inspect` 现在会显示:
- real / fake 方块
- 是否属于 hidden / replacement / target
- 是否在高度范围内
- 是否 exposed、是否 shouldReveal
- 当前 `mode`、`update-radius`、权限绕过配置
- 配置兼容再补一层:
- 显式空内联列表 `hidden-blocks: []` / `replacement-blocks: []` 现在会按“用户明确配置为空”处理,不再误回退到默认列表
## 验证
- 单测通过:
- `.\gradlew.bat test --tests com.meowantixray.antixray.FakeOreConfigTest --console=plain`
- `.\gradlew.bat test --tests com.meowantixray.antixray.FakeOreServiceTest --console=plain`
- 全量测试与双 loader 构建通过:
- `.\gradlew.bat test :neoforge:test buildAllLoaders --console=plain`
- 本地双 loader 命令冒烟通过:
- Fabric:`status` / `reload` / `inspect` / `stop`
- NeoForge:`status` / `reload` / `inspect` / `stop`
## 兼容性
- Mod ID 仍为 `meowantixray`
- 配置文件仍为 `config/meowantixray.yml`
- Fabric 与 NeoForge 仍然分别发布独立 jar
- Minecraft 兼容范围保持 `26.1`、`26.1.1`、`26.1.2`
---
# Meow Anti-Xray 1.2.1 Changelog
This maintenance release focuses on server-owner visibility and diagnostics. The goal is to make it much easier to see what anti-xray settings are actually active, whether a reload changed anything, and why a specific block position is or is not being obfuscated.
## Added and Improved
- `/antixray status` now reports a fuller runtime view:
- global `enabled`, `engine-mode`, and `max-block-height`
- async `workerThreads`, `queueSize`, and `capacity`
- the active config file path
- per-dimension `enabled / mode / max-block-height / hidden / replacement` counts
- `/antixray reload` now returns the post-reload state summary together with a diff of important runtime config changes.
- If the reload produces no effective runtime change, it explicitly reports `changes: no effective runtime changes`
- The original `/antixray debug` output has been upgraded into a multi-line inspect-style diagnostic result, and a formal alias was added:
- `/antixray inspect <world> <x> <y> <z>`
- `inspect` now shows:
- real / fake block state
- whether the block is part of the hidden / replacement / target sets
- whether it falls inside the configured height range
- whether it is exposed and whether it should reveal
- current `mode`, `update-radius`, and permission bypass settings
- Config compatibility was also tightened again:
- explicit empty inline lists such as `hidden-blocks: []` and `replacement-blocks: []` are now treated as intentional user config instead of silently falling back to defaults
## Verification
- Targeted tests passed:
- `.\gradlew.bat test --tests com.meowantixray.antixray.FakeOreConfigTest --console=plain`
- `.\gradlew.bat test --tests com.meowantixray.antixray.FakeOreServiceTest --console=plain`
- Full tests and dual-loader build passed:
- `.\gradlew.bat test :neoforge:test buildAllLoaders --console=plain`
- Local dual-loader command smoke passed:
- Fabric: `status` / `reload` / `inspect` / `stop`
- NeoForge: `status` / `reload` / `inspect` / `stop`
## Compatibility
- Mod ID remains `meowantixray`
- Config file remains `config/meowantixray.yml`
- Fabric and NeoForge are still published as separate jars
- Minecraft compatibility remains `26.1`, `26.1.1`, and `26.1.2`
release
Meow Anti-Xray 1.2.0 (NeoForge)
1.2.0+neoforge8 июн. 2026 г.15Minecraft: 26.1, 26.1.1, 26.1.2neoforge
Что нового
# Meow Anti-Xray 1.2.0 更新日志
这是一个配置兼容与使用体验改进版本,重点让手写或旧版 `config/meowantixray.yml` 更稳、更容易维护。
## 改进
- 配置解析现在支持带引号的 YAML 标量值,例如 `enabled: "false"`、`engine-mode: '3'`。
- 支持带引号的方块列表项和内联列表,例如:
`hidden-blocks: ["minecraft:diamond_ore", 'minecraft:deepslate_diamond_ore']`。
- 支持带引号的维度别名,例如 `"nether":`,并继续归一化为 `minecraft:the_nether`。
- 引号内的 `#` 不再被当作注释截断,适合自定义权限节点等配置值。
- 新生成的配置文件顶部增加说明:旧配置会自动补齐新增但缺失的键,不会覆盖已有用户值。
- README 与 Modrinth 中英文简介新增 per-dimension 配置示例和旧配置兼容说明。
## 验证
- Fabric 与 NeoForge 均完成真实 dev server `/antixray status` 和 `/antixray reload` 冒烟测试。
- 全量测试与双 loader 构建通过:`test :neoforge:test buildAllLoaders`。
## 兼容性
- Mod ID 仍为 `meowantixray`。
- 配置文件仍为 `config/meowantixray.yml`。
- Fabric 与 NeoForge 仍然分别发布独立 jar。
- Minecraft 兼容范围保持 `26.1`、`26.1.1`、`26.1.2`。
---
# Meow Anti-Xray 1.2.0 Changelog
This release improves config compatibility and day-to-day usability, especially for hand-edited or older `config/meowantixray.yml` files.
## Improved
- Config parsing now accepts quoted YAML scalar values such as `enabled: "false"` and `engine-mode: '3'`.
- Quoted block list entries and inline lists are supported, for example:
`hidden-blocks: ["minecraft:diamond_ore", 'minecraft:deepslate_diamond_ore']`.
- Quoted dimension aliases such as `"nether":` are supported and still normalize to `minecraft:the_nether`.
- `#` inside quoted values is no longer treated as a comment, which helps with custom permission nodes and similar values.
- Newly generated config files now explain that older configs are supplemented with missing new keys without overwriting existing user values.
- README and the Modrinth descriptions now include a compact per-dimension config example and config compatibility notes.
## Verification
- Fabric and NeoForge both passed real dev-server `/antixray status` and `/antixray reload` smoke tests.
- Full tests and dual-loader build passed: `test :neoforge:test buildAllLoaders`.
## Compatibility
- Mod ID remains `meowantixray`.
- Config file remains `config/meowantixray.yml`.
- Fabric and NeoForge are still published as separate jars.
- Minecraft compatibility remains `26.1`, `26.1.1`, and `26.1.2`.
release
Meow Anti-Xray 1.2.0 (Fabric)
1.2.0+fabric8 июн. 2026 г.25Minecraft: 26.1, 26.1.1, 26.1.2fabric
Что нового
# Meow Anti-Xray 1.2.0 更新日志
这是一个配置兼容与使用体验改进版本,重点让手写或旧版 `config/meowantixray.yml` 更稳、更容易维护。
## 改进
- 配置解析现在支持带引号的 YAML 标量值,例如 `enabled: "false"`、`engine-mode: '3'`。
- 支持带引号的方块列表项和内联列表,例如:
`hidden-blocks: ["minecraft:diamond_ore", 'minecraft:deepslate_diamond_ore']`。
- 支持带引号的维度别名,例如 `"nether":`,并继续归一化为 `minecraft:the_nether`。
- 引号内的 `#` 不再被当作注释截断,适合自定义权限节点等配置值。
- 新生成的配置文件顶部增加说明:旧配置会自动补齐新增但缺失的键,不会覆盖已有用户值。
- README 与 Modrinth 中英文简介新增 per-dimension 配置示例和旧配置兼容说明。
## 验证
- Fabric 与 NeoForge 均完成真实 dev server `/antixray status` 和 `/antixray reload` 冒烟测试。
- 全量测试与双 loader 构建通过:`test :neoforge:test buildAllLoaders`。
## 兼容性
- Mod ID 仍为 `meowantixray`。
- 配置文件仍为 `config/meowantixray.yml`。
- Fabric 与 NeoForge 仍然分别发布独立 jar。
- Minecraft 兼容范围保持 `26.1`、`26.1.1`、`26.1.2`。
---
# Meow Anti-Xray 1.2.0 Changelog
This release improves config compatibility and day-to-day usability, especially for hand-edited or older `config/meowantixray.yml` files.
## Improved
- Config parsing now accepts quoted YAML scalar values such as `enabled: "false"` and `engine-mode: '3'`.
- Quoted block list entries and inline lists are supported, for example:
`hidden-blocks: ["minecraft:diamond_ore", 'minecraft:deepslate_diamond_ore']`.
- Quoted dimension aliases such as `"nether":` are supported and still normalize to `minecraft:the_nether`.
- `#` inside quoted values is no longer treated as a comment, which helps with custom permission nodes and similar values.
- Newly generated config files now explain that older configs are supplemented with missing new keys without overwriting existing user values.
- README and the Modrinth descriptions now include a compact per-dimension config example and config compatibility notes.
## Verification
- Fabric and NeoForge both passed real dev-server `/antixray status` and `/antixray reload` smoke tests.
- Full tests and dual-loader build passed: `test :neoforge:test buildAllLoaders`.
## Compatibility
- Mod ID remains `meowantixray`.
- Config file remains `config/meowantixray.yml`.
- Fabric and NeoForge are still published as separate jars.
- Minecraft compatibility remains `26.1`, `26.1.1`, and `26.1.2`.
release
Meow Anti-Xray 1.1.1 (NeoForge)
1.1.1+neoforge6 июн. 2026 г.20Minecraft: 26.1, 26.1.1, 26.1.2neoforge
Что нового
# Meow Anti-Xray 1.1.1 更新日志
这是一个小修复版本,主要解决 Fabric 服务器与 Polymer 同时使用时的区块包上下文警告。
## 修复
- 修复 Fabric + Polymer 环境下可能出现的服务端错误:
`Some mod tried to create a chunk update packet, without the packet context present!`
- 当检测到 Polymer 时,Meow Anti-Xray 不再提前取消原版 `sendChunk` 并自行创建区块包,而是让原版/Polymer 先创建带上下文的区块包,再在发送前执行假矿混淆。
- 非 Polymer 环境继续保留原有发送路径,避免影响现有异步区块重写和性能表现。
## 验证
- 已使用 Polymer bundled `0.16.5+26.1.2` 进行真实客户端进服验证。
- 真实客户端进服、切换模式和加载区块后,未再出现 Polymer missing context / `IllegalStateException` 报错。
- `/antixray profile` 确认反矿透仍在处理真实客户端区块:`chunks=2778`、`rewriteTasks=2778`、rewrite avg `2.907ms`、`syncFallbackRatio=6.6%`。
## 兼容性
- Mod ID 仍为 `meowantixray`。
- 配置文件仍为 `config/meowantixray.yml`。
- Fabric 与 NeoForge 仍然分别发布独立 jar。
- Minecraft 兼容范围保持 `26.1`、`26.1.1`、`26.1.2`。
---
# Meow Anti-Xray 1.1.1 Changelog
This is a small compatibility fix for Fabric servers using Polymer.
## Fixed
- Fixed a Fabric + Polymer server warning/error:
`Some mod tried to create a chunk update packet, without the packet context present!`
- When Polymer is detected, Meow Anti-Xray no longer cancels vanilla `sendChunk` early to create its own chunk packet. It now lets vanilla/Polymer create the packet with the proper context first, then applies fake-ore obfuscation before the packet is sent.
- Non-Polymer environments keep the existing send path to avoid changing the current async chunk rewrite behavior and performance profile.
## Verification
- Tested with Polymer bundled `0.16.5+26.1.2` and a real client login.
- After joining, switching game modes, and loading chunks, the Polymer missing-context warning / `IllegalStateException` did not reappear.
- `/antixray profile` confirmed that anti-xray rewriting still ran for the real client: `chunks=2778`, `rewriteTasks=2778`, rewrite avg `2.907ms`, `syncFallbackRatio=6.6%`.
## Compatibility
- Mod ID remains `meowantixray`.
- Config file remains `config/meowantixray.yml`.
- Fabric and NeoForge are still published as separate jars.
- Minecraft compatibility remains `26.1`, `26.1.1`, and `26.1.2`.
release
Meow Anti-Xray 1.1.1 (Fabric)
1.1.1+fabric6 июн. 2026 г.36Minecraft: 26.1, 26.1.1, 26.1.2fabric
Что нового
# Meow Anti-Xray 1.1.1 更新日志
这是一个小修复版本,主要解决 Fabric 服务器与 Polymer 同时使用时的区块包上下文警告。
## 修复
- 修复 Fabric + Polymer 环境下可能出现的服务端错误:
`Some mod tried to create a chunk update packet, without the packet context present!`
- 当检测到 Polymer 时,Meow Anti-Xray 不再提前取消原版 `sendChunk` 并自行创建区块包,而是让原版/Polymer 先创建带上下文的区块包,再在发送前执行假矿混淆。
- 非 Polymer 环境继续保留原有发送路径,避免影响现有异步区块重写和性能表现。
## 验证
- 已使用 Polymer bundled `0.16.5+26.1.2` 进行真实客户端进服验证。
- 真实客户端进服、切换模式和加载区块后,未再出现 Polymer missing context / `IllegalStateException` 报错。
- `/antixray profile` 确认反矿透仍在处理真实客户端区块:`chunks=2778`、`rewriteTasks=2778`、rewrite avg `2.907ms`、`syncFallbackRatio=6.6%`。
## 兼容性
- Mod ID 仍为 `meowantixray`。
- 配置文件仍为 `config/meowantixray.yml`。
- Fabric 与 NeoForge 仍然分别发布独立 jar。
- Minecraft 兼容范围保持 `26.1`、`26.1.1`、`26.1.2`。
---
# Meow Anti-Xray 1.1.1 Changelog
This is a small compatibility fix for Fabric servers using Polymer.
## Fixed
- Fixed a Fabric + Polymer server warning/error:
`Some mod tried to create a chunk update packet, without the packet context present!`
- When Polymer is detected, Meow Anti-Xray no longer cancels vanilla `sendChunk` early to create its own chunk packet. It now lets vanilla/Polymer create the packet with the proper context first, then applies fake-ore obfuscation before the packet is sent.
- Non-Polymer environments keep the existing send path to avoid changing the current async chunk rewrite behavior and performance profile.
## Verification
- Tested with Polymer bundled `0.16.5+26.1.2` and a real client login.
- After joining, switching game modes, and loading chunks, the Polymer missing-context warning / `IllegalStateException` did not reappear.
- `/antixray profile` confirmed that anti-xray rewriting still ran for the real client: `chunks=2778`, `rewriteTasks=2778`, rewrite avg `2.907ms`, `syncFallbackRatio=6.6%`.
## Compatibility
- Mod ID remains `meowantixray`.
- Config file remains `config/meowantixray.yml`.
- Fabric and NeoForge are still published as separate jars.
- Minecraft compatibility remains `26.1`, `26.1.1`, and `26.1.2`.
release
Meow Anti-Xray 1.1.0 (NeoForge)
1.1.0+neoforge6 июн. 2026 г.23Minecraft: 26.1, 26.1.1, 26.1.2neoforge
Что нового
# Meow Anti-Xray 1.1.0 更新日志
这是一个中版本更新,重点不是单纯改包名,而是继续把 Meow Anti-Xray 做成独立、可压测、可诊断的假矿反矿透模组。服主最关心的假矿目标、跑图压力和双 loader 稳定性,这次都做了对应验证。
## 反矿透效果
- 对齐 Paper anti-xray 的实际混淆目标:mode 1 只处理 hidden blocks,mode 2 / mode 3 会把 replacement blocks 纳入混淆目标。
- 修正目标判断后,关闭 replacement pass 或使用 mode 1 时不会再对 replacement blocks 做无效 reveal / blockChanged 候选检查。
- 保留本项目默认额外保护的下界矿物:`ancient_debris`、`nether_quartz_ore`、`nether_gold_ore`。
## 性能与诊断
- 区块重写流程复用静态 pass 数组,减少每个 chunk 重写时的小对象分配。
- `/antixray profile` 新增 `pressure=` 与 `syncFallbackRatio=`,服主可以直接看到异步队列是否被跑图压满,以及有多少区块发送回退到了同步重写。
- 默认 `async-queue-size=16` 仍然以防 OOM 为优先;如果服务器内存更充足,可以继续按实际压测把队列调到 32 或 64 换更高吞吐。
## 启动与压测验证
| Loader | 启动 | 8 客户端压测 | `/antixray profile` | spark |
| --- | --- | --- | --- | --- |
| Fabric | `meowantixray 1.1.0` 启动到 `Done`,更新检查正常 | 91s,8/8 在线,28766 chunks,316.01 chunks/s,0 errors | rewrite avg 2.662ms,max 33.198ms,syncFallbackRatio 43.0% | https://spark.lucko.me/A9EOkRRmFJ |
| NeoForge | `meowantixray 1.1.0` 启动到 `Done`,更新检查正常 | 91s,8/8 在线,29699 chunks,326.29 chunks/s,0 errors | rewrite avg 2.893ms,max 42.202ms,syncFallbackRatio 38.2% | https://spark.lucko.me/emnV8jJ4yG |
说明:上面的压测使用本仓库的 Minecraft 26.1.2 网络假玩家工具,通过 RCON 持续传送制造区块发送压力。`pressure=saturated` 在这类压测下是预期信号,表示背压机制正在限制异步任务堆积。
## 项目身份清理
- Java 包名从 `com.meowconsole` 迁移到 `com.meowantixray`。
- Fabric 入口类迁移为 `com.meowantixray.fabric.MeowAntiXrayFabricMod`。
- NeoForge 入口类迁移为 `com.meowantixray.neoforge.MeowAntiXrayNeoForgeMod`。
- Mixin plugin 与 mixin 包名同步迁移到 `com.meowantixray.mixin`。
- 运行时日志、命令类和平台桥接中的旧 MeowConsole 命名残留已清理。
## 兼容性
- Mod ID 保持 `meowantixray` 不变。
- 配置文件仍为 `config/meowantixray.yml`,升级不需要重新生成配置。
- 默认配置路径、命令和假矿策略保持兼容。
- Fabric 与 NeoForge 仍然分别发布独立 jar,请继续按服务器 loader 下载对应文件。
- Minecraft 兼容范围保持 `26.1`、`26.1.1`、`26.1.2`。
---
# Meow Anti-Xray 1.1.0 Changelog
This minor release is not just an internal package rename. It continues the work of making Meow Anti-Xray a standalone fake-ore anti-xray mod with clear behavior, measurable performance, and verified Fabric / NeoForge stability.
## Anti-Xray Behavior
- Aligned the obfuscation target lookup with Paper anti-xray behavior: mode 1 targets hidden blocks only, while mode 2 / mode 3 also include replacement blocks.
- Avoided unnecessary reveal / blockChanged candidate checks for replacement blocks when replacement passes are disabled or mode 1 is used.
- Kept this mod's additional Nether protection defaults: `ancient_debris`, `nether_quartz_ore`, and `nether_gold_ore`.
## Performance And Diagnostics
- Reused static rewrite pass arrays to reduce small per-chunk allocations in the hot rewrite path.
- Added `pressure=` and `syncFallbackRatio=` to `/antixray profile`, so server owners can see whether async rewriting is saturated and how often chunk sends fall back to synchronous rewriting.
- Kept the default `async-queue-size=16` conservative to prevent OOM under heavy travel. Servers with more memory can still raise it to 32 or 64 after their own profiling.
## Startup And Profiling Verification
| Loader | Startup | 8-client load run | `/antixray profile` | spark |
| --- | --- | --- | --- | --- |
| Fabric | `meowantixray 1.1.0` reached `Done`; update check passed | 91s, 8/8 online, 28766 chunks, 316.01 chunks/s, 0 errors | rewrite avg 2.662ms, max 33.198ms, syncFallbackRatio 43.0% | https://spark.lucko.me/A9EOkRRmFJ |
| NeoForge | `meowantixray 1.1.0` reached `Done`; update check passed | 91s, 8/8 online, 29699 chunks, 326.29 chunks/s, 0 errors | rewrite avg 2.893ms, max 42.202ms, syncFallbackRatio 38.2% | https://spark.lucko.me/emnV8jJ4yG |
The load runs used this repository's Minecraft 26.1.2 network fake-player runner with RCON teleports to generate sustained chunk-send pressure. Seeing `pressure=saturated` during this synthetic run is expected; it means the backpressure guard is actively preventing unbounded async task buildup.
## Project Identity Cleanup
- Migrated Java packages from `com.meowconsole` to `com.meowantixray`.
- Migrated the Fabric entrypoint to `com.meowantixray.fabric.MeowAntiXrayFabricMod`.
- Migrated the NeoForge entrypoint to `com.meowantixray.neoforge.MeowAntiXrayNeoForgeMod`.
- Migrated the mixin plugin and mixin package to `com.meowantixray.mixin`.
- Cleaned up old MeowConsole naming from runtime logs, command classes, and platform bridge code.
## Compatibility
- Mod ID remains `meowantixray`.
- Config file remains `config/meowantixray.yml`; upgrading does not require regenerating your config.
- Default config path, commands, and fake-ore strategy remain compatible.
- Fabric and NeoForge are still published as separate jars. Please keep downloading the file that matches your server loader.
- Minecraft compatibility remains `26.1`, `26.1.1`, and `26.1.2`.
release
Meow Anti-Xray 1.1.0 (Fabric)
1.1.0+fabric6 июн. 2026 г.20Minecraft: 26.1, 26.1.1, 26.1.2fabric
Что нового
# Meow Anti-Xray 1.1.0 更新日志
这是一个中版本更新,重点不是单纯改包名,而是继续把 Meow Anti-Xray 做成独立、可压测、可诊断的假矿反矿透模组。服主最关心的假矿目标、跑图压力和双 loader 稳定性,这次都做了对应验证。
## 反矿透效果
- 对齐 Paper anti-xray 的实际混淆目标:mode 1 只处理 hidden blocks,mode 2 / mode 3 会把 replacement blocks 纳入混淆目标。
- 修正目标判断后,关闭 replacement pass 或使用 mode 1 时不会再对 replacement blocks 做无效 reveal / blockChanged 候选检查。
- 保留本项目默认额外保护的下界矿物:`ancient_debris`、`nether_quartz_ore`、`nether_gold_ore`。
## 性能与诊断
- 区块重写流程复用静态 pass 数组,减少每个 chunk 重写时的小对象分配。
- `/antixray profile` 新增 `pressure=` 与 `syncFallbackRatio=`,服主可以直接看到异步队列是否被跑图压满,以及有多少区块发送回退到了同步重写。
- 默认 `async-queue-size=16` 仍然以防 OOM 为优先;如果服务器内存更充足,可以继续按实际压测把队列调到 32 或 64 换更高吞吐。
## 启动与压测验证
| Loader | 启动 | 8 客户端压测 | `/antixray profile` | spark |
| --- | --- | --- | --- | --- |
| Fabric | `meowantixray 1.1.0` 启动到 `Done`,更新检查正常 | 91s,8/8 在线,28766 chunks,316.01 chunks/s,0 errors | rewrite avg 2.662ms,max 33.198ms,syncFallbackRatio 43.0% | https://spark.lucko.me/A9EOkRRmFJ |
| NeoForge | `meowantixray 1.1.0` 启动到 `Done`,更新检查正常 | 91s,8/8 在线,29699 chunks,326.29 chunks/s,0 errors | rewrite avg 2.893ms,max 42.202ms,syncFallbackRatio 38.2% | https://spark.lucko.me/emnV8jJ4yG |
说明:上面的压测使用本仓库的 Minecraft 26.1.2 网络假玩家工具,通过 RCON 持续传送制造区块发送压力。`pressure=saturated` 在这类压测下是预期信号,表示背压机制正在限制异步任务堆积。
## 项目身份清理
- Java 包名从 `com.meowconsole` 迁移到 `com.meowantixray`。
- Fabric 入口类迁移为 `com.meowantixray.fabric.MeowAntiXrayFabricMod`。
- NeoForge 入口类迁移为 `com.meowantixray.neoforge.MeowAntiXrayNeoForgeMod`。
- Mixin plugin 与 mixin 包名同步迁移到 `com.meowantixray.mixin`。
- 运行时日志、命令类和平台桥接中的旧 MeowConsole 命名残留已清理。
## 兼容性
- Mod ID 保持 `meowantixray` 不变。
- 配置文件仍为 `config/meowantixray.yml`,升级不需要重新生成配置。
- 默认配置路径、命令和假矿策略保持兼容。
- Fabric 与 NeoForge 仍然分别发布独立 jar,请继续按服务器 loader 下载对应文件。
- Minecraft 兼容范围保持 `26.1`、`26.1.1`、`26.1.2`。
---
# Meow Anti-Xray 1.1.0 Changelog
This minor release is not just an internal package rename. It continues the work of making Meow Anti-Xray a standalone fake-ore anti-xray mod with clear behavior, measurable performance, and verified Fabric / NeoForge stability.
## Anti-Xray Behavior
- Aligned the obfuscation target lookup with Paper anti-xray behavior: mode 1 targets hidden blocks only, while mode 2 / mode 3 also include replacement blocks.
- Avoided unnecessary reveal / blockChanged candidate checks for replacement blocks when replacement passes are disabled or mode 1 is used.
- Kept this mod's additional Nether protection defaults: `ancient_debris`, `nether_quartz_ore`, and `nether_gold_ore`.
## Performance And Diagnostics
- Reused static rewrite pass arrays to reduce small per-chunk allocations in the hot rewrite path.
- Added `pressure=` and `syncFallbackRatio=` to `/antixray profile`, so server owners can see whether async rewriting is saturated and how often chunk sends fall back to synchronous rewriting.
- Kept the default `async-queue-size=16` conservative to prevent OOM under heavy travel. Servers with more memory can still raise it to 32 or 64 after their own profiling.
## Startup And Profiling Verification
| Loader | Startup | 8-client load run | `/antixray profile` | spark |
| --- | --- | --- | --- | --- |
| Fabric | `meowantixray 1.1.0` reached `Done`; update check passed | 91s, 8/8 online, 28766 chunks, 316.01 chunks/s, 0 errors | rewrite avg 2.662ms, max 33.198ms, syncFallbackRatio 43.0% | https://spark.lucko.me/A9EOkRRmFJ |
| NeoForge | `meowantixray 1.1.0` reached `Done`; update check passed | 91s, 8/8 online, 29699 chunks, 326.29 chunks/s, 0 errors | rewrite avg 2.893ms, max 42.202ms, syncFallbackRatio 38.2% | https://spark.lucko.me/emnV8jJ4yG |
The load runs used this repository's Minecraft 26.1.2 network fake-player runner with RCON teleports to generate sustained chunk-send pressure. Seeing `pressure=saturated` during this synthetic run is expected; it means the backpressure guard is actively preventing unbounded async task buildup.
## Project Identity Cleanup
- Migrated Java packages from `com.meowconsole` to `com.meowantixray`.
- Migrated the Fabric entrypoint to `com.meowantixray.fabric.MeowAntiXrayFabricMod`.
- Migrated the NeoForge entrypoint to `com.meowantixray.neoforge.MeowAntiXrayNeoForgeMod`.
- Migrated the mixin plugin and mixin package to `com.meowantixray.mixin`.
- Cleaned up old MeowConsole naming from runtime logs, command classes, and platform bridge code.
## Compatibility
- Mod ID remains `meowantixray`.
- Config file remains `config/meowantixray.yml`; upgrading does not require regenerating your config.
- Default config path, commands, and fake-ore strategy remain compatible.
- Fabric and NeoForge are still published as separate jars. Please keep downloading the file that matches your server loader.
- Minecraft compatibility remains `26.1`, `26.1.1`, and `26.1.2`.
release
Meow Anti-Xray 1.0.2 (NeoForge)
1.0.2+neoforge2 июн. 2026 г.23Minecraft: 26.1, 26.1.1, 26.1.2neoforge
Что нового
# Meow Anti-Xray 1.0.2 更新日志
这是一个稳定修复版本,重点修复 Fabric 端区块包重写在真实 local palette 场景下的崩溃,并进一步对齐 Paper Anti-Xray 的 engine mode 1 行为。
## 修复
- 修复 Fabric 端玩家加载区块时可能出现的 `MissingPaletteEntryException` 崩溃。
- 修正 local palette 读取逻辑:实时读取 `LevelChunkSection` 时现在使用真实 palette 大小,而不是 4096 个区块内方块索引数量。
- 修正 engine mode 1 / HIDE 的自然替换规则:主世界按高度选择 `stone` / `deepslate`,下界使用 `netherrack`,末地使用 `end_stone`,更贴近 Paper 行为。
## 验证
- 新增 local palette 回归测试,覆盖 Fabric 崩溃路径。
- 新增 engine mode 1 自然替换 golden case 测试。
- Fabric 8 个假网络玩家 RCON spectator 跑图 91 秒通过:`15833` chunks,约 `173.94 chunks/s`,客户端错误 `0`。
- Fabric 与 NeoForge 单元测试通过。
- Fabric 与 NeoForge 双 loader 构建通过。
---
# Meow Anti-Xray 1.0.2 Changelog
This is a stability release focused on fixing a Fabric chunk rewrite crash in real local-palette sections and tightening Paper Anti-Xray engine mode 1 parity.
## Fixes
- Fixed a Fabric crash that could happen while players were loading chunks: `MissingPaletteEntryException`.
- Fixed live `LevelChunkSection` local palette reads to use the real palette size instead of the 4096 block-index count.
- Aligned engine mode 1 / HIDE natural replacements more closely with Paper: Overworld sections use `stone` or `deepslate` by height, Nether uses `netherrack`, and End uses `end_stone`.
## Verification
- Added a local palette regression test for the Fabric crash path.
- Added engine mode 1 natural replacement golden case tests.
- Fabric 8 fake network players completed a 91-second RCON spectator exploration run: `15833` chunks, about `173.94 chunks/s`, `0` client errors.
- Fabric and NeoForge unit tests passed.
- Fabric and NeoForge dual-loader build passed.
release
Meow Anti-Xray 1.0.2 (Fabric)
1.0.2+fabric2 июн. 2026 г.61Minecraft: 26.1, 26.1.1, 26.1.2fabric
Что нового
# Meow Anti-Xray 1.0.2 更新日志
这是一个稳定修复版本,重点修复 Fabric 端区块包重写在真实 local palette 场景下的崩溃,并进一步对齐 Paper Anti-Xray 的 engine mode 1 行为。
## 修复
- 修复 Fabric 端玩家加载区块时可能出现的 `MissingPaletteEntryException` 崩溃。
- 修正 local palette 读取逻辑:实时读取 `LevelChunkSection` 时现在使用真实 palette 大小,而不是 4096 个区块内方块索引数量。
- 修正 engine mode 1 / HIDE 的自然替换规则:主世界按高度选择 `stone` / `deepslate`,下界使用 `netherrack`,末地使用 `end_stone`,更贴近 Paper 行为。
## 验证
- 新增 local palette 回归测试,覆盖 Fabric 崩溃路径。
- 新增 engine mode 1 自然替换 golden case 测试。
- Fabric 8 个假网络玩家 RCON spectator 跑图 91 秒通过:`15833` chunks,约 `173.94 chunks/s`,客户端错误 `0`。
- Fabric 与 NeoForge 单元测试通过。
- Fabric 与 NeoForge 双 loader 构建通过。
---
# Meow Anti-Xray 1.0.2 Changelog
This is a stability release focused on fixing a Fabric chunk rewrite crash in real local-palette sections and tightening Paper Anti-Xray engine mode 1 parity.
## Fixes
- Fixed a Fabric crash that could happen while players were loading chunks: `MissingPaletteEntryException`.
- Fixed live `LevelChunkSection` local palette reads to use the real palette size instead of the 4096 block-index count.
- Aligned engine mode 1 / HIDE natural replacements more closely with Paper: Overworld sections use `stone` or `deepslate` by height, Nether uses `netherrack`, and End uses `end_stone`.
## Verification
- Added a local palette regression test for the Fabric crash path.
- Added engine mode 1 natural replacement golden case tests.
- Fabric 8 fake network players completed a 91-second RCON spectator exploration run: `15833` chunks, about `173.94 chunks/s`, `0` client errors.
- Fabric and NeoForge unit tests passed.
- Fabric and NeoForge dual-loader build passed.
release
Meow Anti-Xray 1.0.1 (NeoForge)
1.0.1+neoforge1 июн. 2026 г.23Minecraft: 26.1, 26.1.1, 26.1.2neoforge
Что нового
# Meow Anti-Xray 1.0.1 Changelog
This is a maintenance release focused on clearer runtime diagnostics for server owners.
## Improvements
- `/antixray status` now shows the active loader, mod version, and Minecraft version.
- `/antixray profile` now reports async rewrite enablement, worker count, queue size, total capacity, in-flight count, and available permits.
- `/antixray profile` now tracks sync chunk sends and sync send rate, making async backpressure fallback easier to spot.
- Local `.playwright-cli/` test cache is now ignored so it does not pollute the working tree.
## Verification
- Fabric and NeoForge unit tests passed.
- Fabric and NeoForge dual-loader build passed.
---
# Meow Anti-Xray 1.0.1 更新日志
这是一个稳定维护版本,重点是让服主更容易确认当前运行环境和反矿透异步重写压力。
## 改进
- `/antixray status` 现在会显示当前 loader、模组版本和 Minecraft 版本。
- `/antixray profile` 现在会显示异步重写是否启用、worker 数量、队列大小、总容量、当前 in-flight 数量和可用 permit 数。
- `/antixray profile` 现在会统计同步 chunk send 次数和速率,便于判断是否频繁触发异步背压 fallback。
- 本地开发缓存 `.playwright-cli/` 已加入 `.gitignore`,避免测试缓存污染工作区状态。
## 验证
- Fabric 与 NeoForge 单元测试通过。
- Fabric 与 NeoForge 双 loader 构建通过。
release
Meow Anti-Xray 1.0.1 (Fabric)
1.0.1+fabric1 июн. 2026 г.23Minecraft: 26.1, 26.1.1, 26.1.2fabric
Что нового
# Meow Anti-Xray 1.0.1 Changelog
This is a maintenance release focused on clearer runtime diagnostics for server owners.
## Improvements
- `/antixray status` now shows the active loader, mod version, and Minecraft version.
- `/antixray profile` now reports async rewrite enablement, worker count, queue size, total capacity, in-flight count, and available permits.
- `/antixray profile` now tracks sync chunk sends and sync send rate, making async backpressure fallback easier to spot.
- Local `.playwright-cli/` test cache is now ignored so it does not pollute the working tree.
## Verification
- Fabric and NeoForge unit tests passed.
- Fabric and NeoForge dual-loader build passed.
---
# Meow Anti-Xray 1.0.1 更新日志
这是一个稳定维护版本,重点是让服主更容易确认当前运行环境和反矿透异步重写压力。
## 改进
- `/antixray status` 现在会显示当前 loader、模组版本和 Minecraft 版本。
- `/antixray profile` 现在会显示异步重写是否启用、worker 数量、队列大小、总容量、当前 in-flight 数量和可用 permit 数。
- `/antixray profile` 现在会统计同步 chunk send 次数和速率,便于判断是否频繁触发异步背压 fallback。
- 本地开发缓存 `.playwright-cli/` 已加入 `.gitignore`,避免测试缓存污染工作区状态。
## 验证
- Fabric 与 NeoForge 单元测试通过。
- Fabric 与 NeoForge 双 loader 构建通过。
release
Meow Anti-Xray 1.0.0 (NeoForge)
1.0.0+neoforge22 мая 2026 г.22Minecraft: 26.1, 26.1.1, 26.1.2neoforge
Что нового
# Meow Anti-Xray 1.0.0 更新日志
🚀 **高性能独立反矿透:从 MeowConsole 拆分,后续由本项目持续维护**
`Meow Anti-Xray` 是从 [MeowConsole](https://modrinth.com/mod/meowconsole) 拆分出来的独立服务端反矿透 Mod。MeowConsole 新版本将不再继续维护内置反矿透功能,后续反矿透更新、性能优化、版本适配与问题修复都会集中在本项目进行。
相比继续把反矿透塞在综合服务器工具里,本项目只保留矿物隐藏、区块包重写、权限绕过、配置热重载和性能诊断等必要能力,目标是给 Fabric / NeoForge 服务器提供一个更轻、更专注、更接近 Paper Anti-Xray 体验的方案。
## 本次亮点
- 🧭 **进一步对齐 Paper Anti-Xray**:同步 Paper 风格的默认隐藏方块、替换方块、邻近刷新逻辑和 `paper.antixray.bypass` 权限节点。
- 🏎️ **性能优先的独立实现**:移除 MeowConsole 中与反矿透无关的控制台、睡眠、玩家消息等功能,减少加载面和运行期干扰,让反矿透逻辑更容易被 profiling、调优和长期维护。
- 🪨 **更安全的假矿候选**:箱子、末影箱等方块实体不会再作为 mode 2 假矿候选,降低客户端显示异常和交互误导风险。
- 🔐 **权限绕过更完整**:新增/完善 `bypass-permission` 配置。开启 `use-permission` 后,Fabric / NeoForge 会尽量桥接对应权限 API;没有权限 API 时仍回退到 OP/管理员判断。
- ⚡ **异步区块包重写优化**:继续支持后台线程处理区块包重写,降低玩家跑图、传送、加载新区块时对主线程的压力。
- 🧯 **新增异步队列背压**:加入 `async-queue-size`,默认 `16`。在高压跑图或多人加载新区块时限制后台任务堆积,避免大量区块快照排队造成内存暴涨或 Java heap OOM。
- 📊 **真实跑图与高压压测验证**:已用 spark 对真实 Fabric 单人跑图采样,TPS 稳定 `20.00`,MSPT 中位数 `3.31ms`,`meowantixray` 在 server thread mods 视图占比约 `3.55%`。同时新增 Minecraft `26.1.2` 网络假玩家压测工具,可模拟真实玩家登录、接收区块包、回 keepalive、回 chunk batch ack,并通过 RCON 跑图触发真实区块加载。
- 🧪 **8 假玩家高压测试通过**:修复前 8 个网络假玩家持续传送跑图会触发 OOM;修复后 90 秒压测稳定完成,0 客户端错误。保守默认队列下仍能完成约 3.6 万次区块接收,说明本项目更适合承接后续反矿透性能优化。
- 🔌 **Fabric / NeoForge 行为保持一致**:反矿透核心仍由两个 loader 共享,配置、权限、Paper 对齐逻辑和性能策略保持同步。
- 🛠️ **新增调试/压测能力**:保留 `/antixray profile`,并加入面向开发和排障的 `/antixray stress`,方便服主或开发者定位反矿透重写成本。
## 配置变化
新增配置项:
```yml
anti-xray:
async-chunk-rewrite: true
async-worker-threads: 1
async-queue-size: 16
```
`async-queue-size` 用来控制异步重写任务最多排队多少个。默认 `16` 更偏向防止内存堆积。如果你的服务器内存充足,并且希望提高多人跑图吞吐,可以尝试 `32` 或 `64`。
## 使用方法
1. 下载与你服务器 loader 匹配的文件:
- Fabric:`meowantixray-fabric-1.0.0.jar`
- NeoForge:`meowantixray-neoforge-1.0.0.jar`
2. 放入服务端 `mods` 文件夹。
3. 启动服务器,配置会生成在:
```text
config/meowantixray.yml
```
4. 常用命令:
- `/antixray status` 查看状态和更新检查结果
- `/antixray reload` 重载配置
- `/antixray profile` 查看重写次数和耗时
- `/antixray debug <world> <x> <y> <z>` 排查指定方块是否会被隐藏
## 关于预生成地图和网页地图
- 🗺️ 预生成地图、预加载区块不会绕过本 Mod。Meow Anti-Xray 在“区块发送给玩家客户端”时生效,而不是在服务端生成区块时生效。
- 🧭 Dynmap / BlueMap 等网页地图如果直接读取服务端真实区块数据,不属于玩家客户端区块包,本 Mod 不会替它们隐藏矿物。请单独配置对应地图插件/Mod 的隐藏规则。
## 未来规划
- 🔍 持续跟进 Paper Anti-Xray 的默认配置和行为差异。
- 📉 继续降低区块包重写时的内存分配和 GC 压力。
- 🧪 增强压测工具和 profiling 指标,让服主更容易判断配置是否适合自己的服务器。
- 🌐 继续保持 Fabric / NeoForge 双 loader 支持,并关注 Minecraft 新版本协议变化。
- 🧭 承接 MeowConsole 后续不再维护的反矿透能力,后续兼容性修复、新版本适配和性能优化都将在本项目发布。
## 给 MeowConsole 用户
- 🐾 如果你需要反矿透,请迁移到 `Meow Anti-Xray`;这是后续反矿透功能的正式维护项目。
- 🧩 MeowConsole 新版本将专注其它服务器辅助能力,不再继续内置和维护反矿透。
---
# Meow Anti-Xray 1.0.0 Changelog
🚀 **High-performance standalone anti-xray, split from MeowConsole**
`Meow Anti-Xray` is a standalone server-side anti-xray mod split from [MeowConsole](https://modrinth.com/mod/meowconsole). Future MeowConsole versions will no longer maintain the built-in anti-xray feature. Anti-xray updates, performance work, Minecraft version support, and bug fixes will continue in this project.
Instead of keeping anti-xray inside a general-purpose server utility mod, this project focuses only on ore hiding, chunk packet rewriting, permission bypasses, hot reloads, and diagnostics. The goal is to provide Fabric and NeoForge servers with a lighter, more focused, Paper-like anti-xray experience.
## Highlights
- 🧭 **Closer Paper Anti-Xray parity**: Updated Paper-style hidden blocks, replacement blocks, neighbor reveal behavior, and the default `paper.antixray.bypass` permission node.
- 🏎️ **Performance-first standalone design**: Removes unrelated MeowConsole console, sleep, player-message, and helper features so the anti-xray path is easier to profile, tune, and maintain.
- 🪨 **Safer decoy selection**: Block entities such as chests and ender chests are excluded from mode 2 decoys, reducing client-side display and interaction surprises.
- 🔐 **Better permission bypass support**: Added/improved `bypass-permission`. When `use-permission` is enabled, Fabric and NeoForge permission APIs are bridged when available, with OP/admin fallback.
- ⚡ **Async chunk packet rewriting**: Keeps rewrite work off the main thread where possible, reducing pressure while players explore, teleport, or load new chunks.
- 🧯 **New async backpressure**: Adds `async-queue-size`, defaulting to `16`, to prevent queued rewrite snapshots from growing without bounds during heavy chunk loading.
- 📊 **Real exploration and stress-test verified**: A real Fabric spark run with one player held `20.00` TPS, with median MSPT `3.31ms`; `meowantixray` accounted for about `3.55%` in the server-thread mods view. The project also includes a Minecraft `26.1.2` network fake-player runner that logs in like a real client, receives chunk packets, replies to keepalive and chunk batch packets, and can use RCON teleports to load real terrain.
- 🧪 **8 fake-player stress test passed**: Before the fix, 8 network fake players repeatedly teleporting and loading chunks could trigger Java heap OOM. After the fix, a 90-second stress run completed with 0 client errors. With the conservative default queue, the run still completed about 36k chunk receives, making this project a better home for future anti-xray performance work.
- 🔌 **Fabric / NeoForge behavior alignment**: The anti-xray core remains shared across both loaders, keeping config, permissions, Paper parity behavior, and performance strategy consistent.
- 🛠️ **More diagnostics**: `/antixray profile` remains available, and `/antixray stress` helps server owners and developers inspect rewrite cost during troubleshooting.
## Config Changes
New config option:
```yml
anti-xray:
async-chunk-rewrite: true
async-worker-threads: 1
async-queue-size: 16
```
`async-queue-size` controls how many async rewrite tasks may wait in the queue. The default `16` favors memory safety. If your server has more memory and you want higher exploration throughput, try `32` or `64`.
## How to Use
1. Download the file matching your server loader:
- Fabric: `meowantixray-fabric-1.0.0.jar`
- NeoForge: `meowantixray-neoforge-1.0.0.jar`
2. Put it into the server `mods` folder.
3. Start the server. The config is generated at:
```text
config/meowantixray.yml
```
4. Useful commands:
- `/antixray status` shows status and update-check results
- `/antixray reload` reloads the config
- `/antixray profile` shows rewrite counts and timing metrics
- `/antixray debug <world> <x> <y> <z>` checks whether a specific block would be hidden
## Pregenerated Worlds and Web Maps
- 🗺️ Pregeneration and chunk preloading do not bypass this mod. Meow Anti-Xray applies when chunk packets are sent to player clients, not when chunks are generated server-side.
- 🧭 Web map renderers such as Dynmap or BlueMap may read real server chunk data directly. Those are not player chunk packets, so configure hiding rules in the map plugin/mod separately.
## Roadmap
- 🔍 Continue tracking Paper Anti-Xray defaults and behavior.
- 📉 Further reduce memory allocation and GC pressure during chunk packet rewriting.
- 🧪 Improve stress testing and profiling output so server owners can tune config more confidently.
- 🌐 Keep Fabric / NeoForge support aligned while tracking Minecraft protocol changes.
- 🧭 Carry forward the anti-xray feature that newer MeowConsole versions will no longer maintain. Compatibility fixes, version updates, and performance improvements will be released here.
## For MeowConsole Users
- 🐾 If you need anti-xray protection, migrate to `Meow Anti-Xray`; this is the official maintained home for that feature going forward.
- 🧩 Newer MeowConsole versions will focus on other server helper features and will no longer include or maintain anti-xray.
release
Meow Anti-Xray 1.0.0 (Fabric)
1.0.0+fabric22 мая 2026 г.42Minecraft: 26.1, 26.1.1, 26.1.2fabric
Что нового
# Meow Anti-Xray 1.0.0 更新日志
🚀 **高性能独立反矿透:从 MeowConsole 拆分,后续由本项目持续维护**
`Meow Anti-Xray` 是从 [MeowConsole](https://modrinth.com/mod/meowconsole) 拆分出来的独立服务端反矿透 Mod。MeowConsole 新版本将不再继续维护内置反矿透功能,后续反矿透更新、性能优化、版本适配与问题修复都会集中在本项目进行。
相比继续把反矿透塞在综合服务器工具里,本项目只保留矿物隐藏、区块包重写、权限绕过、配置热重载和性能诊断等必要能力,目标是给 Fabric / NeoForge 服务器提供一个更轻、更专注、更接近 Paper Anti-Xray 体验的方案。
## 本次亮点
- 🧭 **进一步对齐 Paper Anti-Xray**:同步 Paper 风格的默认隐藏方块、替换方块、邻近刷新逻辑和 `paper.antixray.bypass` 权限节点。
- 🏎️ **性能优先的独立实现**:移除 MeowConsole 中与反矿透无关的控制台、睡眠、玩家消息等功能,减少加载面和运行期干扰,让反矿透逻辑更容易被 profiling、调优和长期维护。
- 🪨 **更安全的假矿候选**:箱子、末影箱等方块实体不会再作为 mode 2 假矿候选,降低客户端显示异常和交互误导风险。
- 🔐 **权限绕过更完整**:新增/完善 `bypass-permission` 配置。开启 `use-permission` 后,Fabric / NeoForge 会尽量桥接对应权限 API;没有权限 API 时仍回退到 OP/管理员判断。
- ⚡ **异步区块包重写优化**:继续支持后台线程处理区块包重写,降低玩家跑图、传送、加载新区块时对主线程的压力。
- 🧯 **新增异步队列背压**:加入 `async-queue-size`,默认 `16`。在高压跑图或多人加载新区块时限制后台任务堆积,避免大量区块快照排队造成内存暴涨或 Java heap OOM。
- 📊 **真实跑图与高压压测验证**:已用 spark 对真实 Fabric 单人跑图采样,TPS 稳定 `20.00`,MSPT 中位数 `3.31ms`,`meowantixray` 在 server thread mods 视图占比约 `3.55%`。同时新增 Minecraft `26.1.2` 网络假玩家压测工具,可模拟真实玩家登录、接收区块包、回 keepalive、回 chunk batch ack,并通过 RCON 跑图触发真实区块加载。
- 🧪 **8 假玩家高压测试通过**:修复前 8 个网络假玩家持续传送跑图会触发 OOM;修复后 90 秒压测稳定完成,0 客户端错误。保守默认队列下仍能完成约 3.6 万次区块接收,说明本项目更适合承接后续反矿透性能优化。
- 🔌 **Fabric / NeoForge 行为保持一致**:反矿透核心仍由两个 loader 共享,配置、权限、Paper 对齐逻辑和性能策略保持同步。
- 🛠️ **新增调试/压测能力**:保留 `/antixray profile`,并加入面向开发和排障的 `/antixray stress`,方便服主或开发者定位反矿透重写成本。
## 配置变化
新增配置项:
```yml
anti-xray:
async-chunk-rewrite: true
async-worker-threads: 1
async-queue-size: 16
```
`async-queue-size` 用来控制异步重写任务最多排队多少个。默认 `16` 更偏向防止内存堆积。如果你的服务器内存充足,并且希望提高多人跑图吞吐,可以尝试 `32` 或 `64`。
## 使用方法
1. 下载与你服务器 loader 匹配的文件:
- Fabric:`meowantixray-fabric-1.0.0.jar`
- NeoForge:`meowantixray-neoforge-1.0.0.jar`
2. 放入服务端 `mods` 文件夹。
3. 启动服务器,配置会生成在:
```text
config/meowantixray.yml
```
4. 常用命令:
- `/antixray status` 查看状态和更新检查结果
- `/antixray reload` 重载配置
- `/antixray profile` 查看重写次数和耗时
- `/antixray debug <world> <x> <y> <z>` 排查指定方块是否会被隐藏
## 关于预生成地图和网页地图
- 🗺️ 预生成地图、预加载区块不会绕过本 Mod。Meow Anti-Xray 在“区块发送给玩家客户端”时生效,而不是在服务端生成区块时生效。
- 🧭 Dynmap / BlueMap 等网页地图如果直接读取服务端真实区块数据,不属于玩家客户端区块包,本 Mod 不会替它们隐藏矿物。请单独配置对应地图插件/Mod 的隐藏规则。
## 未来规划
- 🔍 持续跟进 Paper Anti-Xray 的默认配置和行为差异。
- 📉 继续降低区块包重写时的内存分配和 GC 压力。
- 🧪 增强压测工具和 profiling 指标,让服主更容易判断配置是否适合自己的服务器。
- 🌐 继续保持 Fabric / NeoForge 双 loader 支持,并关注 Minecraft 新版本协议变化。
- 🧭 承接 MeowConsole 后续不再维护的反矿透能力,后续兼容性修复、新版本适配和性能优化都将在本项目发布。
## 给 MeowConsole 用户
- 🐾 如果你需要反矿透,请迁移到 `Meow Anti-Xray`;这是后续反矿透功能的正式维护项目。
- 🧩 MeowConsole 新版本将专注其它服务器辅助能力,不再继续内置和维护反矿透。
---
# Meow Anti-Xray 1.0.0 Changelog
🚀 **High-performance standalone anti-xray, split from MeowConsole**
`Meow Anti-Xray` is a standalone server-side anti-xray mod split from [MeowConsole](https://modrinth.com/mod/meowconsole). Future MeowConsole versions will no longer maintain the built-in anti-xray feature. Anti-xray updates, performance work, Minecraft version support, and bug fixes will continue in this project.
Instead of keeping anti-xray inside a general-purpose server utility mod, this project focuses only on ore hiding, chunk packet rewriting, permission bypasses, hot reloads, and diagnostics. The goal is to provide Fabric and NeoForge servers with a lighter, more focused, Paper-like anti-xray experience.
## Highlights
- 🧭 **Closer Paper Anti-Xray parity**: Updated Paper-style hidden blocks, replacement blocks, neighbor reveal behavior, and the default `paper.antixray.bypass` permission node.
- 🏎️ **Performance-first standalone design**: Removes unrelated MeowConsole console, sleep, player-message, and helper features so the anti-xray path is easier to profile, tune, and maintain.
- 🪨 **Safer decoy selection**: Block entities such as chests and ender chests are excluded from mode 2 decoys, reducing client-side display and interaction surprises.
- 🔐 **Better permission bypass support**: Added/improved `bypass-permission`. When `use-permission` is enabled, Fabric and NeoForge permission APIs are bridged when available, with OP/admin fallback.
- ⚡ **Async chunk packet rewriting**: Keeps rewrite work off the main thread where possible, reducing pressure while players explore, teleport, or load new chunks.
- 🧯 **New async backpressure**: Adds `async-queue-size`, defaulting to `16`, to prevent queued rewrite snapshots from growing without bounds during heavy chunk loading.
- 📊 **Real exploration and stress-test verified**: A real Fabric spark run with one player held `20.00` TPS, with median MSPT `3.31ms`; `meowantixray` accounted for about `3.55%` in the server-thread mods view. The project also includes a Minecraft `26.1.2` network fake-player runner that logs in like a real client, receives chunk packets, replies to keepalive and chunk batch packets, and can use RCON teleports to load real terrain.
- 🧪 **8 fake-player stress test passed**: Before the fix, 8 network fake players repeatedly teleporting and loading chunks could trigger Java heap OOM. After the fix, a 90-second stress run completed with 0 client errors. With the conservative default queue, the run still completed about 36k chunk receives, making this project a better home for future anti-xray performance work.
- 🔌 **Fabric / NeoForge behavior alignment**: The anti-xray core remains shared across both loaders, keeping config, permissions, Paper parity behavior, and performance strategy consistent.
- 🛠️ **More diagnostics**: `/antixray profile` remains available, and `/antixray stress` helps server owners and developers inspect rewrite cost during troubleshooting.
## Config Changes
New config option:
```yml
anti-xray:
async-chunk-rewrite: true
async-worker-threads: 1
async-queue-size: 16
```
`async-queue-size` controls how many async rewrite tasks may wait in the queue. The default `16` favors memory safety. If your server has more memory and you want higher exploration throughput, try `32` or `64`.
## How to Use
1. Download the file matching your server loader:
- Fabric: `meowantixray-fabric-1.0.0.jar`
- NeoForge: `meowantixray-neoforge-1.0.0.jar`
2. Put it into the server `mods` folder.
3. Start the server. The config is generated at:
```text
config/meowantixray.yml
```
4. Useful commands:
- `/antixray status` shows status and update-check results
- `/antixray reload` reloads the config
- `/antixray profile` shows rewrite counts and timing metrics
- `/antixray debug <world> <x> <y> <z>` checks whether a specific block would be hidden
## Pregenerated Worlds and Web Maps
- 🗺️ Pregeneration and chunk preloading do not bypass this mod. Meow Anti-Xray applies when chunk packets are sent to player clients, not when chunks are generated server-side.
- 🧭 Web map renderers such as Dynmap or BlueMap may read real server chunk data directly. Those are not player chunk packets, so configure hiding rules in the map plugin/mod separately.
## Roadmap
- 🔍 Continue tracking Paper Anti-Xray defaults and behavior.
- 📉 Further reduce memory allocation and GC pressure during chunk packet rewriting.
- 🧪 Improve stress testing and profiling output so server owners can tune config more confidently.
- 🌐 Keep Fabric / NeoForge support aligned while tracking Minecraft protocol changes.
- 🧭 Carry forward the anti-xray feature that newer MeowConsole versions will no longer maintain. Compatibility fixes, version updates, and performance improvements will be released here.
## For MeowConsole Users
- 🐾 If you need anti-xray protection, migrate to `Meow Anti-Xray`; this is the official maintained home for that feature going forward.
- 🧩 Newer MeowConsole versions will focus on other server helper features and will no longer include or maintain anti-xray.