Skip to main content
Version: 6.0.x

Running a Server

Nothing here is needed to try History Stages out in singleplayer. It is the set of questions that only come up once a pack is on a dedicated server: where the pack actually lives, what belongs in a backup, and what a reload does and does not touch.

What lives where

History Stages is installed on both sides, like any mod that adds blocks and screens. What is not symmetric is the pack itself.

Where it livesReaches the client?
Stage files (global/, individual/)Server onlyYes — sent at login, as definitions. Nothing is written on the client.
The three settings filesServer onlyYes — the server's values apply for the session.
Unlock stateThe world saveYes, as the player's own state.
A player's own settings filesTheir game folderUsed in singleplayer and while not connected.

A client's own copies are never overwritten by a server. They are simply out of the way while that player is connected, and come back when they leave. → Config Files

What the world save holds

Unlock state is world data, not pack data. It sits in the overworld's data folder:

<world>/data/
historystages_global.dat which global stages are open
historystages_individual.dat which players have which individual stages
historystages_temporary.dat running timers and cooldowns for temporary stages
historystages_auto_progress.dat progress towards auto-triggers, per player
historystages_auto_progress_global.dat the same for global auto-triggers
historystages_structure_counts.dat how often a capped structure has generated

This is the split worth internalising: config/historystages/ is the pack, <world>/data/ is the save. Copying a pack to another server carries the stages and the settings and leaves every unlock behind, which is usually exactly what you want. Copying a world carries the progress.

It also explains a thing that surprises people: unlock records are kept against the stage id, which is the file name. Renaming bronze_age.json makes a new stage and orphans everything recorded for the old one. Nothing migrates it.

Reload or restart?

/history reload re-reads the stage folders and the settings files, and pushes the result to everyone online. That covers almost everything you will change while a server is up.

A reload is enoughStage files added, edited or deleted. Settings changed by hand. Folder structure changed.
A reload does nothingUnlock state. It is not pack data and is never touched by a reload — relocking is /history global lock <stage> or /history individual lock <player> <stage>.
A restart is neededOnly for what a recipe browser builds once at startup: an entry appearing in or disappearing from JEI's or EMI's list — the sealing setting on scrolls, for instance. Locks themselves take effect immediately.

The editor reloads by itself on every save, so none of this applies while you are working in it.

Editing a live server

The editor opens from the pause menu at permission level 2, on a live server, and a save writes the file and syncs the result to everyone in the same step. There is no maintenance window to plan.

One order of operations matters

The server reads stage files at startup and on /history reloadnot when a file changes on disk. Editing a file by hand and then saving that stage from the editor overwrites your edit from the copy the server still holds in memory, silently. Run /history reload after a hand edit, before opening the editor. → In-Game Editor

Backups

  • config/historystages/ — the whole pack: stages, folders, settings, and the graph layout.
  • <world>/data/historystages_*.dat — everything players have earned.
  • config/historystages/logs/ — not worth backing up, but worth reading. The load report is written on every startup and is the first place a misbehaving pack shows up. → Getting Help

Permissions

Every /history command needs permission level 2, with one useful exception: the client-side debug subcommands run on the operator's own client and answer about their own position and their own held item. → Commands

Players never need permission for anything. Research, scrolls, the graph and the scroll document are all ordinary gameplay.

Something wrong or missing here? Ask on Discord · Open an issue