Releases: Luskish/afterlight-pack
Releases · Luskish/afterlight-pack
Release list
AFTERLIGHT 1.0.0-rc.3
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.ziponce. - CurseForge users import
AFTERLIGHT-curseforge.zipas 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
.mrpacklaunchers require a replacement import for this release.
AFTERLIGHT 1.0.0-rc.2
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.zipas 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
Delivered Pack Content
- Complete story-driven kitchen-sink pack for Minecraft 1.21.1 on NeoForge 21.1.248.
- AFTERLIGHT Signal companion
0.2.0with 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
devCI URL:https://github.com/Luskish/afterlight-pack/actions/runs/31647867896 - Exact
mainCI URL:https://github.com/Luskish/afterlight-pack/actions/runs/31652482458 - GitHub Pages
pack.tomlSHA-256:c0b93f4ce1eed00d4cca7d050f54834bf37ccff0995df6cd754d3ccef66018e5 - GitHub Pages
index.tomlSHA-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-25620a7272aaac7cc2838e4d52aeb640d13ab2007620ffc889b8bc952046401d1be, size697145577bytes.AFTERLIGHT-prism-instance.zip: SHA-2567b5ce8cf0b4bb55ece6ed3b64bb347dc8fa5e411565495c569b66797ca03eebf, size3861995bytes.AFTERLIGHT.mrpack: SHA-25640aeb80b91fd618fd0c552a50d75c257dd60224568f93f7a7b339e78c42aee4c, size87225609bytes.SHA256SUMS: SHA-256a7d24e65ef10dc8f5c0d152dd197dee26ac79493105ee611f4fd9e4c8bbd8e47, size360bytes.release-metadata.json: SHA-25699d311af7f17d952d747e49317b8cdbe5a96343e0e80e3137691f9ee27e7090d, size1027bytes.
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
.mrpacklaunchers 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
24454remain 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
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.3and main installerv0.5.14. - Private CurseForge and
.mrpackfriend 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:23Zthrough2026-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 devCI URL: https://github.com/Luskish/afterlight-pack/actions/runs/31412639303mainCI 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.tomlSHA-256:d3043d819cefc4f14011b7845f2dda8f8436a56686c220f6d6f23797f055d3dd - Pages
index.tomlSHA-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-2567b5ce8cf0b4bb55ece6ed3b64bb347dc8fa5e411565495c569b66797ca03eebfrelease-metadata.json: SHA-256b9c487aa7503539733c41313ddc0fae74a50fcbd293ceb5ae1dfc0b20303eba5SHA256SUMS: SHA-2565607a102533d29a94e759417e859a5ca5dea106489a58cf88633a17296da2b58
Friends-Only Artifacts
AFTERLIGHT-0.9.0-rc.2.mrpack: SHA-256b8c3161579d822c8c7815e5bb3b060afa686be154199ed3e44fcc90dbe9f176aAFTERLIGHT-0.9.0-rc.2-curseforge.zip: SHA-256fb17d2806282aa41c7e386c326c01f6310d648fcde3b5e9a837c9c05410e5dc5
Known Boundaries
- The public prerelease contains no friends-only archives.
- Discord is the expected voice path. Simple Voice Chat and UDP
24454remain optional. - Automated gates do not replace player, multiplayer, gameplay, or VPS acceptance.
- Version
1.0.0remains 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
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 prerelease: https://github.com/Luskish/afterlight-pack/releases/tag/v0.9.0-rc.1
- Local gauntlet SHA:
6e153d760479088beae9640d99472c5705017f92 devCI URL: https://github.com/Luskish/afterlight-pack/actions/runs/31390056877mainCI URL: https://github.com/Luskish/afterlight-pack/actions/runs/31391091536- Docs evidence CI URL: https://github.com/Luskish/afterlight-pack/actions/runs/31392253111
- Pages
pack.tomlSHA-256:2dc9618868a49988c9a03dc5d18940fc4ded130355696966042c9fed83ec2e54 - Pages
index.tomlSHA-256:07ce0081692e373baf42e78a3b26d347120632ee9ebf26510fa9f605a911009f
Public Artifacts
AFTERLIGHT-prism-instance.zip: SHA-256113621aa083e5e5ae1a79680bfb87c389f1c513c309095552affd7f5b82230c8release-metadata.json: SHA-25672ed579ec7b9b5abc9751f75689a008430489e15c560631e03b317cc3d9908edSHA256SUMS: SHA-256a062cc5ef81562e5e532e3368a530d19fa5ed054819049980b46c69ef14a7eed
Friends-Only Artifacts
AFTERLIGHT-0.9.0-rc.1.mrpack: SHA-2561f450a8f610111fe37fbb476ce61da2a60f1a0f82254c2c646c35cdcaec49b0fAFTERLIGHT-0.9.0-rc.1-curseforge.zip: SHA-256052498ff76346ee8007d33b3c2bc3174d089da34375d19feffd735a6bd1e2be8
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