Fright's Delight jar-in-jars MidnightLib 1.9.2, whose MidnightConfig.init races during NeoForge parallel mod construction (ConcurrentModificationException). The broken mod state left mod_resources unloaded, so WATUT's reloadShaders mixin crashed on particle.json - WATUT was the victim, not the cause. 1.10.0 synchronizes the entries map (upstream 1fe69729); FML selects it over the JiJ copy. Verified: 10/10 clean cold launches to world join. Also adds analysis/state/ (Phase 2 state capture).
4.9 KiB
4.9 KiB
Settled decisions, rules of the road, traps
Owner decisions (2026-10-14) — settled, do not relitigate
- Delivery mechanism = Default Options (+ enforced
config/modernfix-mixins.propertiesafter B6 passes). Done ina01bc3b. - Puzzles Lib 21.1.64 — done (bugfix only; no NeoForge perf change, LEVERS #14 corrected).
- Shaders: opt-in (packwiz downloads them; nothing enables them). B7 produces the policy data; owner decision still pending that data.
- Spawn tuning allowed if not detrimental to gameplay — done, moderate
(
d80f85b: alexsmobs/fowlplay/crittersandcompanions partial files). B14 measures it. - Remove no mods. LEVERS §5 removal candidates are reference only. (This includes WATUT — so the WATUT crash must be fixed, not removed away.)
- Add any helpful mods — the five Add-verdict mods went in
a01bc3b(Sodium Extra, Reese's Sodium Options, BadOptimizations, Particle Core, + Default Options). Trial mods are B12b's call; the agent may add trial winners.
Rules of the road (iteration rules from the journal)
- Change tuned defaults only via
analysis/client-perf/proposed-configs/build.py(DEFAULT / DECK / HIGH layers) →build.py --ship→packwiz refresh→ commit. Never hand-editproposed-configs/out/*or shipped files. - Shipped defaults are copy-if-absent: changes reach fresh installs only. Existing
players follow PLAYER-TUNING §1 (delete 7 re-seeding config files; do NOT delete
options.txt; set tier video values by hand). git checkout -- config/before staging — the server's mods re-save partial spawn files in full on boot; committing those expansions is the known mistake.packwiz updatein bulk resets hand-setside = "server"on petprotect, c2me-neoforge, noisium. Single-mod updates are safe.- Any new mod: verify NeoForge 1.21.1 build +
neoforge.mods.tomlranges against pins, checkside, then re-run B0 (new mod set invalidates the noise floor). - One recorded commit per matrix row; label all data as proxy-machine data.
- Never kill the dedicated server (tmux
onion-mc, repo root, port 25565) and never touchworld/.sp-world.tar.gz(650 MB, untracked) — leave alone. .pi/journal.mdis the running log — append a session entry when you finish.
Verified facts / traps (don't re-derive, don't re-trip)
- packwiz
preserve: settable only by hand-editingindex.toml; survives refresh and unrelated updates; silently dropped if the file is absent/ignored at refresh time; installer writes the file only if absent. Index files have noside, so shipped configs land on the server too (this repo IS the server). - Default Options 21.1.8: copy-if-absent for
config/defaultoptions/options.txt(key_ lines stripped) andconfig/defaultoptions/extra/**; runs before NeoForge constructs mods — too late formodernfix-mixins.properties(hence B6 gating). - Observed defaults were generated from the same jar versions as current pins
(DH 3.3.2, Sodium 0.8.13, EMF 3.3.9, Create 6.0.10/Flywheel 1.0.6, Sable 2.0.5,
SPR 1.5.1). DH
numberOfThreadstrue default = ceil(nproc/2) = 4 here (observed 2 came from a 4-thread box). - Flywheel 1.0.x disables both GPU backends when any shaderpack is active
(verified in
Backends.java). No Iris Flywheel Compat in the pack (B12b trial). - SSRD 1.8.7 →
config/ssrd-common.toml(COMMON; server reads it too; slider floor 16). LambDynamicLights 4.8.11 →config/lambdynlights.toml(lowercase modes). SPR merges partialsound_rates.propertiesover generated defaults. - More Culling is unusable: its NeoForge build declares
minecraft [1.21,1.21.1). -XX:ShenandoahGCMode=iuaborts JDK 21 without UnlockExperimentalVMOptions — J3 uses plain-XX:+UseShenandoahGC.- Prism 11
--offlinefails a fresh instance ("Required libraries are missing"); launch online once, then offline works. xdotool windowactivate --synchangs under kwin — usewindowactivate+windowfocus.- MangoHud needs
MANGOHUD_CONFIGexplicit + LD_PRELOAD exported — use the wrapper~/.local/bin/mangohud-local; system mangohud is not installed. - cdn.modrinth.com 501s Range requests — download whole jars. No
unzip; use python zipfile.lodestonelibis the real slug (lodestonehas no 1.21.1 build). - Duplicate
version_numbertraps: tarotcards-remastered, room-for-two, too-many-bows reuse version strings across MC versions — pin exact filenames by hand. - Iris 1.8.14-beta.1 ↔ Sodium 0.8.13 mixin incompatibility reported on NeoForge (r5) — check when testing shaders (B7).
Open owner-facing deliverables (owed from Phase 2)
- B7 shader-policy data → owner decision on default-off vs opt-in messaging.
- B12b trial-mod verdicts (which trials earned a permanent add).
- B14 spawn-tuning measurement (keep/back-off call).
- Any B13 "mod >5% of render thread" findings.