Skip to content

Releases: Chonghua-05/confluxmap-pumpkin

v0.2.0

Choose a tag to compare

@Chonghua-05 Chonghua-05 released this 16 Oct 07:22

What's Changed

Features

  • Authoritative Map Corrections: Full support for Anvil MCA save scanning and patch generation (0x0C MAP_REGION_VIEW_REQ / 0x0D MAP_REGION_PATCH, 0x03 MAP_VIEW_REQ / 0x04 MAP_PATCH).
  • Cascade World Archive Discovery: Aligned with Pumpkin's stored_world_seed cascade reader to automatically extract seed and Minecraft version from mounted world saves (world_gen_settings.dat -> level.dat).
  • Entity Radar Stream: Periodic broadcast of player positions and dimensions (0x14 PLAYER_POSITIONS) with spectator and world tracking.
  • View Distance Synchronization: Server-configured view distance negotiation (0x11 SERVER_VIEW_DISTANCE).
  • Crash-Resilient Atomic Storage: Implemented write-temp-and-rename atomic persistence for shared waypoints and metadata.
  • Network Hardening: Integrated 3-strikes malformed packet muting and structured error responses (0x06 ERROR).

Full Changelog: v0.1.2...v0.2.0

v0.1.2

Choose a tag to compare

@github-actions github-actions released this 12 Sep 00:57

中文

修复

  • 游戏内无法使用 /cfm:插件此前未把命令的权限节点注册进服务端权限表,/cfm 因此被整体从客户端命令树中剔除,游戏内输入报"未知命令"(控制台与 RCON 绕过该检查,所以此前未被发现的)。现已注册 confluxmap-pumpkin:cfm.use(默认允许所有玩家使用),/cfm status | seed | hello | reload | waypoints 游戏内直接可用;路径点的配额与权限控制逻辑不变。

工程

  • Release 附件按 tag 命名(如 confluxmap_pumpkin-v0.1.2.wasm),多版本共存时一眼可辨。

兼容性

Pumpkin 0.1.0-dev+26.2-26.45(Minecraft 26.2,Java 协议 776)。从 v0.1.1 升级:替换 plugins/ 里的 wasm 即可,无需迁移。


English

Fixed

  • /cfm was unusable in-game: the plugin never registered the command's permission node with the server, so the whole /cfm tree was dropped from clients and typing it reported an unknown command (console and RCON bypass the check, which is why it went unnoticed). The plugin now registers confluxmap-pumpkin:cfm.use (allowed for everyone by default); /cfm status | seed | hello | reload | waypoints work in-game, with waypoint quotas and permission rules unchanged.

Engineering

  • Release assets are named after the tag (e.g. confluxmap_pumpkin-v0.1.2.wasm), so multiple versions are distinguishable at a glance.

Compatibility

Pumpkin 0.1.0-dev+26.2-26.45 (Minecraft 26.2, Java protocol 776). Upgrading from v0.1.1: replace the wasm in plugins/; no migration needed.

Full Changelog: v0.1.1...v0.1.2

v0.1.1

Choose a tag to compare

@github-actions github-actions released this 11 Sep 23:12

中文

新增

  • 公共路径点:独立通道 confluxmap:waypoints_v1(协议 1.3)的完整服务端实现——接收 HELLO / SUBSCRIBE / CREATE / UPDATE / DELETE,回复 STATUS / SNAPSHOT / UPSERT / REMOVE / RESULT。revision 单调递增、operationId 幂等重放、单世界与单玩家配额、权限模型同上游(默认允许玩家管理自己发布的路径点,可收紧为仅 op≥2)、双令牌桶限流、连续 3 次畸形包静音、JSON 持久化(schema 2,文档形状与上游一致)。
  • 子世界标识:解析客户端 HELLO predictorVersion 中的 |caps2: 能力报价,授予 SERVER_INSTANCE(能力 id 7),帧序固定 0x12 → 0x13 → 0x02;客户端据此区分同一 worldId 之后的多个子世界(如 Velocity 之后)。不带报价的旧客户端行为不变(仅收 0x02)。
  • 配置新键(/cfm reload 即时生效):share_waypoints、allow_non_operator_waypoint_management、max_waypoints_per_world(缺省 512)、max_waypoints_per_player(缺省 64)、waypoint_mutations_per_minute(缺省 30)。
  • 运维命令:/cfm waypoints(通道状态与配额)、/cfm waypoints list [page](每页 6 条)、/cfm waypoints clear(清空目录并逐点下发 REMOVE 增量)。

工程与修复

  • 清零全部 clippy 告警,test + lint CI 首次转绿;rustfmt 全量格式化。
  • 测试向量统一改用合成示例种子。
  • 新增内部模块:identity(实例 id)、json、wire、clock、waypoints/*(proto / model / store / persist / service / session)。

兼容性

Pumpkin 0.1.0-dev+26.2-26.45(Minecraft 26.2,Java 协议 776)。将 confluxmap_pumpkin.wasm 放入 plugins/ 即可;升级无需迁移——server_instance.json 与 shared_waypoints.json 在首次使用时自动生成。


English

Added

  • Shared waypoints: a full server implementation of the dedicated confluxmap:waypoints_v1 channel (protocol 1.3) — accepts HELLO / SUBSCRIBE / CREATE / UPDATE / DELETE and replies STATUS / SNAPSHOT / UPSERT / REMOVE / RESULT, with monotonic revisions, idempotent operation ids, per-world and per-player quotas, the upstream permission model (players manage their own points by default, tightenable to operators only), dual token-bucket rate limiting, muting after three malformed payloads, and JSON persistence (schema 2, document shape identical to the upstream companion).
  • Server instance identity: parses the |caps2: capability offer inside the client's HELLO predictorVersion and grants SERVER_INSTANCE (capability id 7) in the fixed frame order 0x12 → 0x13 → 0x02, letting clients tell apart multiple sub-worlds sharing one worldId (e.g. behind Velocity). Clients without the offer behave exactly as before (only 0x02).
  • New config keys (live via /cfm reload): share_waypoints, allow_non_operator_waypoint_management, max_waypoints_per_world (default 512), max_waypoints_per_player (default 64), waypoint_mutations_per_minute (default 30).
  • Operator commands: /cfm waypoints (channel state and quotas), /cfm waypoints list [page] (6 per page), /cfm waypoints clear (empties the catalog, emitting one REMOVE delta per point).

Engineering

  • All clippy warnings cleared — the test + lint CI job is green for the first time; rustfmt applied across the tree.
  • Test vectors normalized to the synthetic example seed.
  • New internal modules: identity (instance id), json, wire, clock, and waypoints/* (proto / model / store / persist / service / session).

Compatibility

Pumpkin 0.1.0-dev+26.2-26.45 (Minecraft 26.2, Java protocol 776). Drop confluxmap_pumpkin.wasm into plugins/; no migration is needed — server_instance.json and shared_waypoints.json are created on first use.

Full Changelog: v0.1.0...v0.1.1

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 11 Sep 19:57