tdwcm 0.2.1 registered ~31 payloads via playBidirectional without
.optional() AND registers real blocks/items/entities, so a one-sided
install fails login twice (required-channel mismatch, then registry
sync). Ship ASM-patched jar (tools/patches/build_patched_tdwcm.sh,
TdwcmPatcher.java) that inserts registrar.optional(), and add it to
server_pack so negotiation and registry sync pass on both sides.
Verified: dedicated server boots clean (Done ~27s), tdwcm:tardis_interior
dimension comes up under Sable physics + IPSable portal storage.
Audit: no other client-only mod in the pack uses NeoForge's payload API.