# GameTest suites The default dedicated-server run is a small smoke suite: 19 Rivencraft tests cover core linking, deterministic Age definition, writing persistence, legacy data migration, workstation transactions, and forged/replayed menu actions. NeoForge currently adds two of its own tests, so the runner reports 21. ```shell ./gradlew runGameTestServer ``` The remaining 49 Rivencraft tests are archived, not deleted. They cover completed milestone details such as every Age terrain profile, Notebook and Desk surface interactions, refill edge cases, book assembly controls, and workstation break/drop behavior. Run only the relevant archive alongside the core tests when investigating an issue: ```shell ./gradlew runGameTestServer -ParchivedGameTestSuites=desk ./gradlew runGameTestServer -ParchivedGameTestSuites=grammar,binder ``` Available suite names are `linking`, `writing`, `grammar`, `desk`, `binder`, `mixer`, and `recipe`. Run all 68 Rivencraft tests (70 including NeoForge's two) before a release or after broad cross-system changes: ```shell ./gradlew runGameTestServer -PwithArchivedGameTests=true ``` Each archive is selected by its `rivencraft_archive_` GameTest namespace. The suites share the normal empty test structure and do not need Create, Ponder, or Immersive Portals. The core suite delegates to the original regression methods for its selected cases, so the two suites do not maintain duplicate test logic. GameTest Ages are created in `build/gametest-run/world`, not in a development client save. Every default GameTest invocation starts with a fresh world. If tests fail, Gradle moves the world under `build/gametest-run/failed-worlds/` for inspection. A retry starts fresh but keeps those failed worlds; the next successful run removes them and its own world. A forcibly killed run may leave `world` behind; the next run preserves it as a failure snapshot before starting. Logs and configuration remain available. Cleanup never targets a custom `-PgameTestRunDir` or a player world; callers using a custom directory manage it themselves. The full suite should still be run before shipping changes in the archived systems.