Skip to content

Server Setup

LlaGuiTo edited this page Oct 4, 2026 · 1 revision

Server Setup

Applies to Mystical Realms Translation & Fixes 1.0.1 for Minecraft 1.21.1.

Why serve it from the server

A resource pack installed only by the server operator fixes the log for the operator and nobody else. Every player has to install it separately, and in practice most will not.

Serving it through server.properties means the server pushes the pack to every client on join. No download site, no manual install, and translations apply to everyone.

Steps

1. Build the pack

python build_pack.py

From the repository root. This validates every JSON file and writes:

build/MysticalRealms_TranslationFixes-<version>.zip

2. Publish it somewhere stable

Upload the ZIP to a host that serves it at a direct URL with a stable path, and where the Content-Type does not force a download that breaks the client. GitLab Releases and Pages both work.

The URL must not change between releases — clients cache by URL, and Minecraft will not re-download from a changed one unless the SHA1 also changes.

3. Point server.properties at it

resource-pack=https://your-host.example/MysticalRealms_TranslationFixes-1.0.1.zip
resource-pack-sha1=<sha1 printed by build_pack.py>
require-resource-pack=true

build_pack.py prints the SHA1 in the exact form you need:

SHA1: 4fc97e1356a950df38968fbd54cdf9b16d51acbe
resource-pack-sha1=4fc97e1356a950df38968fbd54cdf9b16d51acbe

Copy the second line's value.

4. Restart

resource-pack=
resource-pack-sha1=

Both empty disables serving.

About require-resource-pack

Setting Behaviour
true Clients must accept the pack to join.
false (default) The pack is offered on join; a client can decline and still join.

Setting it to true guarantees translations for everyone, but it also means any problem with the URL or the SHA1 stops players joining at all — a mistyped hash locks out the whole server, not just the translations.

If you serve other packs this way, list them space-separated on one line. Minecraft does not support multiple resource-pack lines; only the last one wins.

Keeping clients on the current version

Clients re-download only when either the URL or the SHA1 changes. So on every release:

  1. Bump version.txt.
  2. Rebuild and upload to the same URL path.
  3. Copy the new SHA1 into server.properties.
  4. Restart.

Change the SHA1 and every client fetches the new pack on next join. Keep the same SHA1 and clients keep using their cached copy, which is the failure mode to watch for after an update.

Verifying it worked

  • Server log: no model parse error for ravager_carcass.
  • Client log: the pack download appears on join.
  • In game: villager and item text is Spanish where the mod supplies it.

If a client is stuck on an old cached copy, the SHA1 in server.properties will not match what that client downloaded. Restarting the server with a fresh SHA1 clears it.

Alternatives

  • Modrinth or CurseForge — upload there and let players install it through the launcher. Simpler to distribute, but then each player installs it manually.
  • Both — serving from the server and listing it on a launcher platform is fine and common. The server-served copy is authoritative for joining players; the platform copy is how they get it before they first connect.

Clone this wiki locally