Skip to content

Releases: Luskish/afterlight-pack

AFTERLIGHT 1.0.0-rc.3

AFTERLIGHT 1.0.0-rc.3 Pre-release
Pre-release

Choose a tag to compare

@Luskish Luskish released this 26 Aug 04:37
f9ca4e1

AFTERLIGHT 1.0.0-rc.3

Release Scope

  • Opens every optional side branch without requiring progress in another side branch or the main story.
  • Adds 17 free Briefing quests that introduce each branch and provide its verified guide item or a requisition chit.
  • Keeps the four cross-mod capstones gated by their intended multi-branch requirements.
  • Fixes Power Draw by giving every Forge Energy task a positive transfer limit and explaining the FTB Quests Task Screen transfer mechanic.
  • Adds Botany Pots, Mystical Agriculture compatibility for Botany Pots, Leaves Be Gone, and TrashSlot with their required libraries.
  • Updates JEI to 19.44.0.405, exposes Malum recipes to recipe viewers, and excludes Create iron sheets from unification.

Progress Compatibility

  • Existing quest, task, and reward IDs remain unchanged.
  • The 17 new Briefing quests use new deterministic IDs.
  • Existing player progress remains mapped to the same identities after the update.
  • The production update still requires zero players, a verified backup, and an offline protected-progress archive before the server restarts.

Player Update

  • Existing Prism profiles on the stable Packwiz channel update automatically before launch after RC3 reaches main.
  • New Prism users import AFTERLIGHT-prism-instance.zip once.
  • CurseForge users import AFTERLIGHT-curseforge.zip as a replacement profile.
  • The release portal remains https://rl-labs.org/afterlight/.

Automated Validation

  • Quest generation: BUILD QUESTS: OK (46 compiler-managed chapters written).
  • Static quest validation: VALIDATE QUESTS: OK (55 chapters, 413 quests, 454 tasks, 545 rewards).
  • Pack integrity, dedicated-server boot, exact-head CI, artifact checksums, and production health evidence are recorded during RC3 publication and deployment.

Known Boundaries

  • This remains a release candidate while friends exercise the expanded quest paths in normal multiplayer play.
  • Existing worlds remain unpregenerated.
  • CurseForge and generic .mrpack launchers require a replacement import for this release.

AFTERLIGHT 1.0.0-rc.2

AFTERLIGHT 1.0.0-rc.2 Pre-release
Pre-release

Choose a tag to compare

@Luskish Luskish released this 13 Aug 23:50

AFTERLIGHT 1.0.0-rc.2

RC2 restores ECHO Pin and Claim networking, restores the Signal Reliquary title presentation, fixes Slow Fire multiblock progression, generalizes steel tasks, and adds the cohesive staged Story plus optional guided mod branches.

Update

  • Prism: import AFTERLIGHT-prism-instance.zip. Stable Packwiz updates run before launch.
  • CurseForge: import AFTERLIGHT-curseforge.zip as a replacement profile.
  • Generic launchers: import AFTERLIGHT.mrpack.
  • Portal: https://rl-labs.org/afterlight/

Back up existing worlds before any server update. Existing quest IDs are preserved, and the VPS uses the quest-safe transactional updater.

AFTERLIGHT 1.0.0-rc.1

AFTERLIGHT 1.0.0-rc.1 Pre-release
Pre-release

Choose a tag to compare

@Luskish Luskish released this 13 Aug 00:11

AFTERLIGHT 1.0.0-rc.1

Delivered Pack Content

  • Complete story-driven kitchen-sink pack for Minecraft 1.21.1 on NeoForge 21.1.248.
  • AFTERLIGHT Signal companion 0.2.0 with the physical ECHO device, Signal Reliquary interface, custom title presentation, Gate of Return, and Far Relay dimension.
  • Canonical guided ECHO route across 169 Story quests, plus repeatable ECHO recovery and postgame Far Relay progression.
  • Searchable keybinds, FTB Ultimine, Lootr, SmartBrainLib dependency closure, and the proven multiplayer login fix.
  • Deterministic Prism, CurseForge, and Modrinth-compatible launcher archives.
  • Stable Packwiz updates for Prism, public release discovery at https://rl-labs.org/afterlight/, and transactional VPS operations.

Exact Automated Commands

python3 -m unittest discover -s tools/tests -p 'test_*.py' -v
./tools/verify-pack.sh
BOOT_TIMEOUT=600 ./tools/server-test.sh
docker compose --project-name afterlight-gauntlet --env-file "$GAUNTLET_ENV" -f server/docker-compose.yml config --quiet
shellcheck -x <every tracked Bash file>
DIST_DIR="$FIRST" GIT_SHA="$SHA" ./tools/build-release.sh
shasum -a 256 -c "$FIRST/SHA256SUMS"
unzip -tq "$FIRST/AFTERLIGHT-curseforge.zip"
unzip -tq "$FIRST/AFTERLIGHT.mrpack"
./tools/client-install-test.sh "$FIRST/AFTERLIGHT-prism-instance.zip"
./tools/client-install-test.sh "$FIRST/AFTERLIGHT-prism-instance.zip" production <accepted-modset-sha256> <accepted-payload-sha256>
git diff --exit-code
test -z "$(git status --porcelain --untracked-files=all)"

Automated Evidence

  • Accepted commit and annotated tag target: fc3bb555f240e7d8a51d30570404413305bf5b9f
  • Local gauntlet receipt SHA-256: ac459fa94c98207b6124ab46f9233cfd1e80e2c5929d3eed191c661c4919f4fa
  • Local gauntlet transcript SHA-256: c3568ffd29e2410025e17e14ad22bf514f8521fb885227f394784036fabb5f92
  • Exact accepted dev CI URL: https://github.com/Luskish/afterlight-pack/actions/runs/31647867896
  • Exact main CI URL: https://github.com/Luskish/afterlight-pack/actions/runs/31652482458
  • GitHub Pages pack.toml SHA-256: c0b93f4ce1eed00d4cca7d050f54834bf37ccff0995df6cd754d3ccef66018e5
  • GitHub Pages index.toml SHA-256: 0971355a4fa74cc2a9a54a79e3a56dc559dc91a6284f606b4f6ec3a662206acb
  • Signal source: a3d95a74a56855a026f9f2786f1e925065a3b151
  • Signal release JAR SHA-256: 81387eff5e6f5dad555a936d605c114af8fff1cf69778251cc3a7ec660f15947
  • Signal release JAR SHA-512: 902d3f64ac6f2e3302da26daefa29cfd03e19f39d293daa81da7b04cb3f115d3e0ed933da189f2622bd1284e6a3292fd7a4ddc6f8c115e3e43d2123e56f7d74f
  • Signal evidence CI: https://github.com/Luskish/afterlight-signal/actions/runs/31588113497

Public Artifacts

  • AFTERLIGHT-curseforge.zip: SHA-256 20a7272aaac7cc2838e4d52aeb640d13ab2007620ffc889b8bc952046401d1be, size 697145577 bytes.
  • AFTERLIGHT-prism-instance.zip: SHA-256 7b5ce8cf0b4bb55ece6ed3b64bb347dc8fa5e411565495c569b66797ca03eebf, size 3861995 bytes.
  • AFTERLIGHT.mrpack: SHA-256 40aeb80b91fd618fd0c552a50d75c257dd60224568f93f7a7b339e78c42aee4c, size 87225609 bytes.
  • SHA256SUMS: SHA-256 a7d24e65ef10dc8f5c0d152dd197dee26ac79493105ee611f4fd9e4c8bbd8e47, size 360 bytes.
  • release-metadata.json: SHA-256 99d311af7f17d952d747e49317b8cdbe5a96343e0e80e3137691f9ee27e7090d, size 1027 bytes.

Known Boundaries

  • This is a release candidate. Real client, multiplayer, Gate expedition, and VPS observations continue after publication.
  • Prism applies accepted Packwiz updates before launch. CurseForge and generic .mrpack launchers require a replacement import for each announced release.
  • The existing world remains unpregenerated. No Chunky pregeneration or world-border expansion is part of this release.
  • Discord is the expected voice path. Simple Voice Chat and UDP 24454 remain optional.
  • Automated visual acceptance does not replace testing on every friend's GPU, launcher, and display configuration.

Manual Acceptance

  • Prism import, Microsoft login, custom title, ECHO render, and server join: pending player observation after publication.
  • CurseForge import, custom title, ECHO render, and server join: pending player observation after publication.
  • ECHO automatic delivery, recovery quest, guided route, and reward claims: pending player observation after publication.
  • Gate opening, Far Relay travel, site discovery, safe return, and reconnect persistence: pending player observation after publication.
  • VPS backup, update, live join, scheduled restart, and rollback readiness: pending operator observation during deployment.

Postpublication Evidence

  • Documentation evidence CI URL: recorded from the publisher's exact runtime check.
  • Public prerelease URL: recorded after ID-scoped publication.
  • Publication timestamp: recorded after ID-scoped publication.
  • Public asset download equality: recorded after authenticated and unauthenticated verification.

AFTERLIGHT 0.9.0-rc.2

AFTERLIGHT 0.9.0-rc.2 Pre-release
Pre-release

Choose a tag to compare

@Luskish Luskish released this 10 Aug 17:53

AFTERLIGHT 0.9.0-rc.2

Delivered Pack Content

  • Complete story-driven AFTERLIGHT pack for Minecraft 1.21.1 on NeoForge 21.1.248.
  • Deterministic Prism instance with pinned Packwiz bootstrap v0.0.3 and main installer v0.5.14.
  • Private CurseForge and .mrpack friend archives.
  • Docker Compose VPS operations with backup, update, rollback, and restore paths.

Exact Automated Commands

python3 -m unittest discover -s tools/tests -p 'test_*.py' -v
./tools/verify-pack.sh
BOOT_TIMEOUT=600 ./tools/server-test.sh
docker compose --project-name afterlight-gauntlet --env-file "$GAUNTLET_ENV" -f server/docker-compose.yml config --quiet
shellcheck -x <every tracked Bash file>
DIST_DIR="$FIRST" GIT_SHA="$SHA" ./tools/build-release.sh
DIST_DIR="$SECOND" GIT_SHA="$SHA" ./tools/build-release.sh
cmp "$FIRST/AFTERLIGHT-prism-instance.zip" "$SECOND/AFTERLIGHT-prism-instance.zip"
./tools/client-install-test.sh "$FIRST/AFTERLIGHT-prism-instance.zip"
git diff --exit-code
test -z "$(git status --porcelain --untracked-files=all)"

Automated Evidence

  • Public prerelease URL: https://github.com/Luskish/afterlight-pack/releases/tag/v0.9.0-rc.2
  • Accepted commit and annotated tag target: 3f6838ccdf27328d588aff09d8ec02d769206436
  • Local gauntlet transcript: dist/gauntlet/3f6838ccdf27328d588aff09d8ec02d769206436/gauntlet.txt
  • Local gauntlet window: 2026-08-10T16:58:23Z through 2026-08-10T17:08:02Z
  • Local suite: 425 tests passed with 77 expected live-fixture skips, followed by 425 live tests with zero skips
  • Local gates: VERIFY: ALL GREEN, SERVER BOOT: OK, CLIENT INSTALL: OK, deterministic release builds, Compose rendering, ShellCheck, and clean-tree checks passed
  • dev CI URL: https://github.com/Luskish/afterlight-pack/actions/runs/31412639303
  • main CI URL: https://github.com/Luskish/afterlight-pack/actions/runs/31413707327
  • Documentation evidence CI URL: https://github.com/Luskish/afterlight-pack/actions/runs/31415284933
  • Pages pack.toml SHA-256: d3043d819cefc4f14011b7845f2dda8f8436a56686c220f6d6f23797f055d3dd
  • Pages index.toml SHA-256: 07ce0081692e373baf42e78a3b26d347120632ee9ebf26510fa9f605a911009f
  • Pages byte parity: both live files matched the accepted local files on 2026-08-10
  • Java version: Eclipse Temurin 21.0.12+8-LTS
  • Packwiz version: github.com/packwiz/packwiz v0.0.0-20260218225342-dfd8b68a4796
  • Client install: 152 mods, 15 server-only exclusions, mod-set SHA-256 ed0d33ff8252dd2c6411fcac761eccd2ac8371473c6bbf6df1b3d00070492440

Public Artifacts

  • AFTERLIGHT-prism-instance.zip: SHA-256 7b5ce8cf0b4bb55ece6ed3b64bb347dc8fa5e411565495c569b66797ca03eebf
  • release-metadata.json: SHA-256 b9c487aa7503539733c41313ddc0fae74a50fcbd293ceb5ae1dfc0b20303eba5
  • SHA256SUMS: SHA-256 5607a102533d29a94e759417e859a5ca5dea106489a58cf88633a17296da2b58

Friends-Only Artifacts

  • AFTERLIGHT-0.9.0-rc.2.mrpack: SHA-256 b8c3161579d822c8c7815e5bb3b060afa686be154199ed3e44fcc90dbe9f176a
  • AFTERLIGHT-0.9.0-rc.2-curseforge.zip: SHA-256 fb17d2806282aa41c7e386c326c01f6310d648fcde3b5e9a837c9c05410e5dc5

Known Boundaries

  • The public prerelease contains no friends-only archives.
  • Discord is the expected voice path. Simple Voice Chat and UDP 24454 remain optional.
  • Automated gates do not replace player, multiplayer, gameplay, or VPS acceptance.
  • Version 1.0.0 remains blocked until every required manual row passes.

Manual Acceptance

  • Microsoft-authenticated Prism import and title screen under three minutes after downloads: NOT RUN
  • New world, ECHO quest-book rendering, and Chapter 1 progression: NOT RUN
  • Released client joins, disconnects, and reconnects to released server with two whitelisted players: NOT RUN
  • All hard gates, Gate of Return, per-player Seals, Seal transfer, and Draconic Seal preservation: NOT RUN
  • Supercritical Phase Shifter throughput and four-pellet Isotopic Core wall time: NOT RUN
  • Intended VPS backup, update, induced safe failure, rollback, and client rejoin: NOT RUN
  • Empty-directory backup restore, healthy server, and client rejoin: NOT RUN

AFTERLIGHT 0.9.0-rc.1

AFTERLIGHT 0.9.0-rc.1 Pre-release
Pre-release

Choose a tag to compare

@Luskish Luskish released this 10 Aug 13:32

AFTERLIGHT 0.9.0-rc.1

Delivered Pack Content

  • Story-driven AFTERLIGHT pack for Minecraft 1.21.1 on NeoForge 21.1.248.
  • Public Prism bootstrap archive plus private friend distribution archives.

Exact Automated Commands

python3 -m unittest discover -s tools/tests -p 'test_*.py' -v
./tools/verify-pack.sh
BOOT_TIMEOUT=600 ./tools/server-test.sh
docker compose --project-name afterlight-gauntlet --env-file "$GAUNTLET_ENV" -f server/docker-compose.yml config --quiet
for shell_file in $(git ls-files '*.sh'); do shellcheck -x "$shell_file"; done
DIST_DIR="$FIRST" GIT_SHA="$SHA" ./tools/build-release.sh
DIST_DIR="$SECOND" GIT_SHA="$SHA" ./tools/build-release.sh
cmp "$FIRST/AFTERLIGHT-prism-instance.zip" "$SECOND/AFTERLIGHT-prism-instance.zip"
git diff --exit-code
test -z "$(git status --porcelain --untracked-files=all)"

Automated Evidence

Public Artifacts

  • AFTERLIGHT-prism-instance.zip: SHA-256 113621aa083e5e5ae1a79680bfb87c389f1c513c309095552affd7f5b82230c8
  • release-metadata.json: SHA-256 72ed579ec7b9b5abc9751f75689a008430489e15c560631e03b317cc3d9908ed
  • SHA256SUMS: SHA-256 a062cc5ef81562e5e532e3368a530d19fa5ed054819049980b46c69ef14a7eed

Friends-Only Artifacts

  • AFTERLIGHT-0.9.0-rc.1.mrpack: SHA-256 1f450a8f610111fe37fbb476ce61da2a60f1a0f82254c2c646c35cdcaec49b0f
  • AFTERLIGHT-0.9.0-rc.1-curseforge.zip: SHA-256 052498ff76346ee8007d33b3c2bc3174d089da34375d19feffd735a6bd1e2be8

Known Boundaries

  • The public prerelease contains no friends-only archives.
  • Automated gates do not replace player or host acceptance.

Manual Acceptance

  • Microsoft-authenticated Prism launch: NOT RUN
  • title screen under three minutes on Shane's PC: NOT RUN
  • quest-book rendering and theme: NOT RUN
  • dedicated-server login from the released Prism artifact: NOT RUN
  • two-player Simple Voice Chat: NOT RUN
  • router forwarding and host firewall: NOT RUN
  • backup restore on the real host: NOT RUN