Skip to content

docs: add server hosting guides - #4

Merged
Kheartz merged 1 commit into
hogwarts-mp:mainfrom
Kheartz:hosting-guide
Oct 9, 2026
Merged

Kheartz merged 1 commit into
hogwarts-mp:mainfrom
Kheartz:hosting-guide

Conversation

@Kheartz

@Kheartz Kheartz commented Oct 9, 2026

Copy link
Copy Markdown
Member

Summary

Adds a server-owner section to the guides, modeled on the Kingdoms Connected hosting pages and built from hogwarts-mp/hosting.

  • Hosting a server (/guides/hosting/): a numbered walkthrough from a fresh machine to a joinable server. It covers the release ZIP, the Windows and Linux installs, a minimal server.json, Foundations, ports, starting and joining (including hogwartsmp:// links), and masterlist listing. It ends with systemd, the update checklist and a troubleshooting table.
  • Server configuration (/guides/server-config/): every server.json key with its default, startup validation and its error messages, command-line flags, passwords, required CurseForge mods, mod.autoRespawn, and the HTTP info API.
  • Docker and game panels (/guides/docker/): the public ghcr.io/hogwarts-mp/hogwartsmp-server image, Compose, the data volume, port overrides, updating, and the Pterodactyl/Pelican egg.

Every guide now has an explicit sidebar.order, so the nav reads Overview, Your first resource, Events, then the three hosting pages. Before this it sorted by filename (Events, Your first resource, Overview). The Overview's "Finding your way" section links the new pages.

Corrections relative to hogwarts-mp/hosting

Checked against the 1.8.0 server source (Framework pin 33.0.1) and the published 1.8.0 image:

  • All server.json keys are optional now; a missing one takes its default. The JSON config has missing fields error no longer exists. A key with the wrong type fails with JSON config could not be applied: … type must be ….
  • maxplayers defaults to 32 and is capped at 128. server.json.example says the default is 512.
  • The README doesn't mention these keys and flags: password, apihost, apiport, mod.autoRespawn, and -p/-h/-P/-H/-t/-c/--password.
  • The Play screen trims spaces from both ends of a password and sends at most 64 bytes. The server accepts up to 255 bytes, so the guide recommends 64 plain characters.
  • The Linux binaries need glibc 2.38 (Ubuntu 24.04+ / Debian 13+). The Tracy invariant-TSC check is compiled in, so a VPS without invariant TSC needs TRACY_NO_INVARIANT_CHECK=1.

Follow-ups outside this repo

  • The hosting README and server.json.example should get the same corrections.
  • The image has /usr/share/hogwartsmp/ at mode 0444, so its default user can't open the bundled egg. The guide extracts it with --user 0. Giving the directory 0555 in the Dockerfile would fix it.
  • The egg only exposes WEB_PORT and SERVER_TOKEN. Panel users can't set Foundations' secrets or TRACY_NO_INVARIANT_CHECK.

Verification

  • Built the full site locally with services-cli 0.8.0 against the 1.8.0 contract. The sidebar order is correct, and a script confirmed every internal /guides/… link and #anchor resolves against the built HTML.
  • Checked the tables, code blocks and the on-page TOC in the preview.
  • Pulled the egg and binaries from GHCR anonymously to confirm the image is public, the egg's contents, and the glibc floor. I didn't run the Docker commands themselves, since there was no local Docker daemon.

Add three guides for server owners, modeled on the Kingdoms Connected
hosting section: Hosting a server (end-to-end install, Foundations,
ports, masterlist, systemd, updates, troubleshooting), Server
configuration (every server.json key, CLI flags, passwords, required
mods, autoRespawn, info API) and Docker and game panels (the public
GHCR image, Compose, Pterodactyl/Pelican egg).

Content follows hogwarts-mp/hosting, corrected against the 1.8.0
server: all server.json keys are optional, maxplayers defaults to 32
with a cap of 128, and password, apihost, apiport, mod.autoRespawn and
the CLI overrides are documented.

Give every guide an explicit sidebar order so the nav reads Overview,
Your first resource, Events, then the hosting pages instead of sorting
by filename, and link the hosting pages from the overview.
@Kheartz
Kheartz merged commit 3459655 into hogwarts-mp:main Oct 9, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant