# Setup — Install & Update ## Prereqs - Java 21 (Adoptium Temurin 21 LTS recommended) - ~12 GB RAM free for client, 8 GB minimum for server - Disk: keep under **100 GB** total for world + packs ## First-time server setup ```bash # from this repo root packwiz install --dir server_pack # downloads all mods into server_pack/ java -Xms2G -Xmx6G -jar server_pack/neoforge-21.1.248-installer.jar --installServer # accept EULA, then launch: java -Xms2G -Xmx6G -XX:+UseG1GC -jar server_pack/neoforge-21.1.248-server.jar nogui ``` ## First-time client setup ```bash git clone git@git.mithraic.cloud:ad3laid3/SciCraft.git cd SciCraft packwiz install --dir client_pack ``` Add `client_pack` as a **packwiz** modpack in your launcher (Prism/ATLauncher/PolyMC) or use `packwiz serve` from `client_pack` and install via the Modrinth/packwiz installers. Drop a shaderpack into `client_pack/shaderpacks/` — see the README there for the 4 GB VRAM preset. > **Multiplayer:** players join with the **client pack**; the server runs > the **server pack**. Never put client-only mods on the server (see > `mods.md`). ## Adding a mod (both packs) ```bash packwiz --dir server_pack curseforge add --addon-id -y packwiz --dir client_pack curseforge add --addon-id -y packwiz --dir server_pack modrinth add -y packwiz --dir client_pack modrinth add -y packwiz --dir server_pack refresh packwiz --dir client_pack refresh ``` - Always add to **both** packs unless the mod is client- or server-only. - For Fabric mods that must run through Sinytra, use `packwiz url add "" "" --force` and verify the Sinytra connector tolerates the version. ## Editing story text ```bash # edit STORY/*.md first, then: python tools/gen_story.py # regenerates en_us.json in BOTH packs bash tools/sync_kubejs.sh # mirrors server_pack/kubejs → client_pack/kubejs ``` Never hand-edit `en_us.json` — it is generated. Full workflow: `STORY/00-index.md`.