From 8c95021c094695b0331436f11319e2c904ef07e6 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 30 Aug 2026 04:29:21 +0000 Subject: [PATCH 1/2] smp-py: alias microwave.box instead of duplicating its addresses 33cb842 duplicated microwave.box's A/AAAA at smp-py to keep the door open for an SRV target naming smp-py, since RFC 2782 forbids a target from resolving through an alias. That door was never used -- the SRV targets microwave.box directly -- while the predicted renumbering cost came due for real: f3b0ab0 moved microwave.box's AAAA and missed smp-py, and 14ce20c had to clean it up. A CNAME makes that drift impossible; renumbering the Droplet is now a hosts-box.yaml-only change. Nothing changes for clients. The SRV lives at _minecraft._tcp.smp-py, a different owner name, so it coexists with the alias (CNAME is not DNAME) and Java clients keep resolving through it; clients that skip SRV -- explicit host:port connects, Bedrock, naive pingers -- chase the alias to the same addresses. Going SRV-only instead was considered and rejected for exactly those clients: the Java client only consults SRV for portless addresses. The rule the alias does impose, SRV targets keep naming microwave.box and never smp-py, is now a comment in the file. Still unproxied: Cloudflare's HTTP proxy does not carry TCP/25565. Claude-Session: https://claude.ai/code/session_01T6ZEghUNVjxqHrDS134XwK Co-authored-by: Claude --- .../services-minecraft.yaml | 23 +++++++++---------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/dns/zones/letsbuilda.dev.zone/services-minecraft.yaml b/dns/zones/letsbuilda.dev.zone/services-minecraft.yaml index 44f8519..17182b2 100644 --- a/dns/zones/letsbuilda.dev.zone/services-minecraft.yaml +++ b/dns/zones/letsbuilda.dev.zone/services-minecraft.yaml @@ -1,17 +1,16 @@ --- +# smp-py aliases the microwave.box host record so renumbering the Droplet +# stays a hosts-box.yaml-only change. RFC 2782 forbids an SRV target from +# resolving through an alias, so any SRV added here must keep targeting +# microwave.box (as the one below does), never smp-py itself. Unproxied +# because Cloudflare's HTTP proxy does not carry TCP/25565. smp-py: - - type: A - value: 146.190.196.51 - octodns: - cloudflare: - proxied: false - auto-ttl: true - - type: AAAA - value: 2604:a880:400:d1:0:4:e4cf:6001 - octodns: - cloudflare: - proxied: false - auto-ttl: true + type: CNAME + value: microwave.box.letsbuilda.dev. + octodns: + cloudflare: + proxied: false + auto-ttl: true _minecraft._tcp.smp-py: type: SRV From 87608fe4049ae88a9f9f35a9f902d87d9f2e0a7a Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 30 Aug 2026 04:32:38 +0000 Subject: [PATCH 2/2] smp-py: drop the zone-file comments The RFC 2782 rationale lives in the commit history; the record stands on its own. Claude-Session: https://claude.ai/code/session_01T6ZEghUNVjxqHrDS134XwK Co-authored-by: Claude --- dns/zones/letsbuilda.dev.zone/services-minecraft.yaml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/dns/zones/letsbuilda.dev.zone/services-minecraft.yaml b/dns/zones/letsbuilda.dev.zone/services-minecraft.yaml index 17182b2..094c59e 100644 --- a/dns/zones/letsbuilda.dev.zone/services-minecraft.yaml +++ b/dns/zones/letsbuilda.dev.zone/services-minecraft.yaml @@ -1,9 +1,4 @@ --- -# smp-py aliases the microwave.box host record so renumbering the Droplet -# stays a hosts-box.yaml-only change. RFC 2782 forbids an SRV target from -# resolving through an alias, so any SRV added here must keep targeting -# microwave.box (as the one below does), never smp-py itself. Unproxied -# because Cloudflare's HTTP proxy does not carry TCP/25565. smp-py: type: CNAME value: microwave.box.letsbuilda.dev.