Server and Operator Guide
Run the same required gameplay mods on server and clients: Rivencraft, Dynamic Dimensions AR Edition, and Bad Packets. See Installation for versions and optional integrations. Stop the server before making a complete world-folder backup; copying only a dimension folder is not enough to restore an Age and its books.
Useful settings
- descriptive_books.return_link_mode: DISABLED (default), ON_CREATION, or ALWAYS.
- libraries.loot_mode: LEGACY or AGE_ONLY (Pages describing the containing Age).
- random_pages.allowlist and random_pages.blocklist: exact Symbol Page IDs used by new random Ages and newly generated library loot.
- serene_seasons.auto_whitelist_ages: automatically enroll eligible Ages when the optional season mod is installed.
- Client-side book_preview.mode: AUTO, IMMERSIVE_PORTALS, PONDER, or LEGACY.
The server also has writing-ink and instability settings. Review the generated NeoForge config and make a backup before changing a live world. Client preview settings do not change server-side Age generation or travel rules.
Allowing or blocking random Pages
Edit the world's serverconfig/rivencraft-server.toml and restart the server (or leave and reopen a singleplayer world). The lists use quoted Symbol Page paths—not display names. The rivencraft: namespace is assumed and can be omitted; existing full IDs remain valid. To prevent Static Sky from being chosen for new Link-Panel-only random Ages or appearing in newly generated Age-library Pages:
[random_pages]
allowlist = []
blocklist = ["sky/static"]
Alternatively, an allowlist can limit a particular Page family. For example, allowlist = ["sky/overworld", "sky/end"] limits random sky styles to those two; terrain, features, and other families stay unrestricted. An allowlist only restricts families it names, and the blocklist wins if a path appears in both lists. Biome-distribution Pages (such as biome/tiny) are treated as a separate family from individual biome Pages (such as biome/plains). Use the path under data/rivencraft/rivencraft/symbols/ for bundled Pages, without the .json extension. Generated biome and material Pages can be identified by JEI advanced tooltips; remove the rivencraft: prefix when adding them to these lists.
This is a future-generation policy, not a ban on player-owned Pages. It does not remove items from Creative or JEI, reject a hand-authored Descriptive Book, or rewrite an existing Age. New random Ages save their list policy when bound. Libraries apply the current lists when they generate; existing contents are unchanged. Native Minecraft biome presets are not assembled from individual biome Pages, so blocking a biome Page does not remove that biome from a Native distribution.
If a required random family has no eligible choices, Age generation uses a stable fallback instead of failing: Standard terrain (or the first loaded profile if Standard is unavailable), Native biome distribution, Normal lighting and weather, No Seasons, or an inherited sky. If individual biome Pages leave too few biomes for the chosen distribution, the pool is filled from the terrain's normal biome list, preferring Plains on surface terrain and Deep Dark in caves. These are safety exceptions to the lists, not extra Pages added to library loot. Optional features and celestial bodies simply disappear when every choice in their family is blocked.
Operator commands
- /rivencraft age list shows registered Ages and whether each runtime dimension is loaded.
- /rivencraft age unload (dimension ID) unloads an Age while retaining its definition and world data. Opening its Descriptive Book can load it again.
- /rivencraft library nearest looks for a generated Age library and teleports the operator to a suitable one if found. It may generate candidate chunks while searching.
- /rivencraft binder messages enable and /rivencraft binder messages disable control detailed Binder diagnostics. Only OPs see these messages when enabled.
The creative-only Link Modifier can change link properties and deliberately retire an unoccupied Age. Retirement marks its UUID dead and archives its data in a sibling retired-Ages folder. It is not routine maintenance; back up the entire world first. See Age administration and recovery.
Library testing commands exist for development, including /rivencraft library test-place and test-spacing. They can place structures or generate extra candidate chunks; do not use them as ordinary gameplay commands. The library audit documents their behavior.
When reporting a server issue, include the Rivencraft, Minecraft, NeoForge, and required-mod versions; whether optional mods are present; reproduction steps; and a relevant log excerpt. Remove account tokens, private server addresses, and personal information before attaching logs. File an issue.