Welcome to Jenscraft, my personal Minecraft server, and the first interactive service provisioned on Substrate.
Background
I created Jenscraft initially at the beginning of 2026, as a personal Minecraft server that I hosted on AWS Lightsail. When I started getting into home labbing and created Substrate, I figured this was the perfect project to stand up as its first standalone service, save some money on AWS bills, and minimize latency for local play at home.
What it is
A private vanilla Java Minecraft server running on PaperMC, hoisted for crossplay compatibility with Geyser and Floodgate. Multiverse Core is enabled to support multiple worlds (i.e. survival and creative).
Architecture
Jenscraft runs as a dedicated Proxmox LXC on srv-01, isolated from other services. One of my security principles for Substrate is egress-only when it comes to networking. Jenscraft upholds this by:
- Using a public VPS as a small relay for traffic.
- The VPS holds the public Jenscraft IP and
jenscraft.worldDNS (both registered via AWS Route 53). - The VPS forwards Java (TCP) and Bedrock (UDP) traffic over a Tailscale tunnel back to the LXC, without exposing inbound ports on Substrate's network.
map.jenscraft.world, a live map of the world enabled with BlueMap, is reverse-proxied through the same relay to the BlueMap web server. Access is kept invite-only via a whitelist plus Floodgate account linking.
Live metrics
The metrics dashboard on this page uses a similar Substrate telemetry pattern to the Metrics Publisher service: a small publisher inside the Jenscraft LXC reads server health (player count + TPS / tick-time from Spark, world-render coverage from BlueMap, and lifetime stats from the world save) and pushes a public-safe snapshot out to this site. Until that publisher reports in, the tiles read as awaiting feed.