Commit Graph
3 Commits
Author SHA1 Message Date
janhouse 9f6b0772f0 mapsyncer-paper 0.2.0: Paper 26.3
Build / build (push) Successful in 3m6s
Build against the 26.3 dev bundle (26.3.build.151-beta; no stable build
exists yet).

26.3 rewrote the block palette in region files: a default-state block is a
bare string, any other state is {id, properties}, and a list mixing both
wraps the strings as {"": name}. The parser cast every entry to a
compound with Name/Properties, so every chunk saved by 26.3 threw
ClassCastException and the whole region failed to render. Both formats are
read now (a region holds a mix until every chunk is re-saved), and a chunk
that fails to parse is skipped instead of aborting the region.
2026-10-04 18:18:09 +03:00
janhouse 8d4b7df1ce protocol: hello carries five fields; the released client reads no serverName
Build / build (push) Successful in 1m18s
Upstream's git HEAD appends serverName to server_installed, but the shipped
1.0.4 client (fabric-26.2) decodes exactly version/lastGen/interval/mode/
ticks and vanilla disconnects the player with "8 bytes extra" on the first
hello. Verified with javap on the release jar; the other three codecs match.
Drops the server-name option (a leftover key now only warns).

Claude-Session: https://claude.ai/code/session_011FePLXwBsCGLTzaSkk1Z6V
2026-09-07 00:24:43 +03:00
janhouse 7fb3a82482 mapsyncer-paper: server side of MapSyncer for Xaero's World Map, discovery-limited
Paper 26.2 plugin speaking the stock MapSyncer client mod's protocol.
Renders Xaero region zips from the world's region files, but only for chunks
players have actually been sent (PlayerChunkLoadEvent), seeded once from
InhabitedTime. Shared or per-player visibility, background render cycle,
per-player streaming with hash/timestamp skipping, Gitea Actions release
workflow.

Vendors the MCA parser and Xaero writer from upstream MapSyncer (GPL-3.0),
see NOTICE.md.

Claude-Session: https://claude.ai/code/session_011FePLXwBsCGLTzaSkk1Z6V
2026-09-07 00:04:43 +03:00