aa36b2905a
Single-binary Go service that renders markdown pages from a runtime volume mount. Targeted at public, no-auth, no-WAF deployment behind a TLS ingress; security posture is defense-in-depth at every layer: - goldmark with no WithUnsafe — raw HTML in author markdown is stripped - CSP without 'unsafe-inline', plus HSTS, COOP, CORP, Permissions-Policy - static handler rejects non-GET/HEAD, directory listings, dotfiles, traversal - content loader rejects symlinks that escape the content root, dotfiles, and .md files larger than 1 MiB - per-page template trees (cloned from layout) so define-blocks don't collide between home/category/page - SIGHUP triggers atomic library swap — live edits on volume, no rebuild Locale layout content/<locale>/<category>/<slug>.md. Categories without _index.md still appear on the home page with a humanized name. Search is a ~70-line vanilla JS scan over /search.json?lang=<locale>; swap for a real indexer if the corpus ever balloons. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
51 lines
2.0 KiB
Markdown
51 lines
2.0 KiB
Markdown
---
|
|
title: Java Edition (official launcher)
|
|
summary: Install the Mojang launcher and verify your account works.
|
|
order: 1
|
|
---
|
|
|
|
# Java Edition (official launcher)
|
|
|
|
The Mojang/Microsoft launcher is the only officially supported way to play Java Edition.
|
|
|
|
## Download
|
|
|
|
1. Go to [minecraft.net/download](https://www.minecraft.net/en-us/download).
|
|
2. Download the launcher for your OS:
|
|
- **Windows:** `.msi` installer.
|
|
- **macOS:** `.dmg` disk image.
|
|
- **Linux:** `.deb`, `.tar.gz`, or via your distro's package manager (e.g. `sudo pacman -S minecraft-launcher` on Arch).
|
|
3. Run the installer and launch it.
|
|
|
|
## Sign in
|
|
|
|
You need a **Microsoft account** with a Minecraft license attached. If you bought Minecraft before 2020 and still use a Mojang account, the launcher will prompt you to migrate — follow the steps. Migration is free.
|
|
|
|
If you see "Failed to authenticate":
|
|
|
|
- Check that your Microsoft account hasn't been switched to a child account or moved to a family group without Minecraft access.
|
|
- Try [account.live.com/Authorize](https://account.live.com/Authorize) to clear stale tokens.
|
|
|
|
## Pick a version
|
|
|
|
Our servers run **Minecraft 1.21.4**. In the launcher:
|
|
|
|
1. Click **Installations** (top of the launcher).
|
|
2. Click **New installation**.
|
|
3. Set **Version** to `release 1.21.4`.
|
|
4. Save — the launcher downloads it on first play.
|
|
|
|
## Connect to a server
|
|
|
|
1. From the launcher, click **Play** on your `1.21.4` installation.
|
|
2. In Minecraft: **Multiplayer** → **Add Server**.
|
|
3. Server name: anything (e.g. "Survival").
|
|
4. Server address: the address you got from the admin (e.g. `survival.g.timemachine.center`).
|
|
5. **Done** → select the server → **Join Server**.
|
|
|
|
## What's next
|
|
|
|
- If you have a paid (Java) account: nothing — the server recognizes you automatically and you'll spawn into the world.
|
|
- If you don't have a paid account: see the [offline client](./offline-client) guide.
|
|
- Either way, register your username on Discord first — the server will ask you to before it lets you in.
|