SciCraft/SERVER_MASTER_GUIDE.md

9.8 KiB
Raw Blame History

SERVER MASTER GUIDE — SCICRAFT: The Dark Photon Protocol

NeoForge 1.21.1 (21.1.248) · packwiz v1.1.0 · version 1.0.0


1. The Dark Photon Protocol (Lore)

In the year 4.2.2.0.5, the universe is burning. The Time Lords sealed a collapsing star-empire inside a Dimensional Door — but the seal is decaying. The Void Dimension leaks entropy into the Overworld, and the Deeper and Darker have begun to answer.

A single broadcast survives the fall: the Dark Photon Protocol, a plan to stabilize the galaxy by re-binding reality itself. You are the last engineer of the Second Renegade Flight. Construct the means, master the sciences of Mekanism, Applied Energistics and Create, and re-forge the photon lattice before the void consumes every world.

Objective trees (what the pack asks you to build)

  1. Reignite the Ark — build a base with power (Mekanism turbines / Flux Networks), storage (AE2 / Sophisticated / Functional Storage), and logistics (LaserIO / Modular Routers / Entangled / FastPipes).
  2. Walk the Stars — unlock Stellaris rocket tiers; visit Mars, Venus, and beyond through the rocket menu.
  3. Breach the Doors — survive Dimensional Doors, recover the Void Dimension stabilizer, and descend into the Deeper and Darker.
  4. The Protocol — complete the FTB Quests line and KubeJS advancements.

2. Packs & Directories

Path Contents
./server_pack/ Server-only modpack (137 mod files). No shaders, no client render mods.
./client_pack/ Full client pack (146 mod files). Adds Iris + Sodium (native NeoForge), Cull Leaves, LambDynamicLights, Dynamic FPS, 3D Skin Layers, Visuality, flywheel compat.

Key client-only mods (server must NOT have these)

iris, sodium, iris-flw-compat, cull-leaves, lambdynamiclights, dynamic-fps, 3dskinlayers, visuality-forge, midnightlib.

Bridge layer (both packs)

Sinytra Connector + Forgified Fabric API run a small set of Fabric mods (Immersive Portals, LambDynamicLights, Waystones-compat). Do not remove either; the pack will not boot without them.


3. 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

# 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

Adding a mod (both packs)

packwiz --dir server_pack  curseforge add --addon-id <CF_ID> -y
packwiz --dir client_pack  curseforge add --addon-id <CF_ID> -y
packwiz --dir server_pack  modrinth add <MR_SLUG_OR_ID> -y
packwiz --dir client_pack  modrinth add <MR_SLUG_OR_ID> -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 "<Name>" "<URL>" --force and verify the Sinytra connector tolerates the version.

4. Server Properties (view-distance=8, simulation-distance=6)

server_pack/server.properties — set these values:

view-distance=8
simulation-distance=6
max-players=8
motd=SCICRAFT - The Dark Photon Protocol
difficulty=hard
spawn-protection=0
network-compression-threshold=256
enable-command-block=true
online-mode=true

server_pack/eula.txteula=true (after review).


java -Xms4G -Xmx8G \
  -XX:+UseG1GC \
  -XX:+ParallelRefProcEnabled \
  -XX:MaxGCPauseMillis=200 \
  -XX:+UnlockExperimentalVMOptions \
  -XX:+DisableExplicitGC \
  -XX:+AlwaysPreTouch \
  -XX:G1NewSizePercent=30 \
  -XX:G1MaxNewSizePercent=40 \
  -XX:G1HeapRegionSize=8M \
  -XX:G1ReservePercent=20 \
  -XX:G1HeapWastePercent=5 \
  -XX:G1MixedGCCountTarget=4 \
  -XX:InitiatingHeapOccupancyPercent=15 \
  -XX:G1MixedGCLiveThresholdPercent=90 \
  -XX:G1RSetUpdatingPauseTimePercent=5 \
  -Dlog4j2.formatMsgNoLookups=true \
  -jar neoforge-21.1.248-server.jar nogui

Notes:

  • G1 tuning keeps large-tech-server TPS stable under chunk gen (Krypton Reno + BadOptimizations help server-side).
  • -Xms4G avoids early GC churn. Cap at 8G; this pack is RAM-hungry from AE2/Mekanism tick load but does not need 16G.

6. Shader Tuning for 4GB VRAM (client)

Shader loader is Iris (native NeoForge). Recommended shaderpack: Complementary Reimagined r5.4 (client_pack/shaderpacks/, see README).

Preset for 4GB VRAM:

  • Preset: Fast / Performance
  • Render Distance: 8 (server view-distance)
  • Antialiasing: OFF
  • SSAO: Fast, Shadow Quality 1.0x (0.5x if <30 FPS)
  • Shadow Distance: 64
  • Bloom: OFF/Low, Clouds: 2D Fast
  • Water Reflections: Screenspace Fast
  • Colored Light / Block Light: OFF

If still under 60 FPS: reduce Shadow Quality to 0.5x, then disable Bloom, before touching render distance.


7. Mod Feature Hotspots (Quick Orientation)

Domain Mods Notes
Power Mekanism (turbine/boiler), Flux Networks Flux wireless transfer; Mekanism cables for bulk
Storage AE2, Sophisticated Storage, Functional Storage, Sophisticated Backpacks AE2 for autocraft; Sophisticated for bulk; Functional for drawers
Logistics LaserIO, Modular Routers, Entangled, FastPipes, Create belts FastPipes adds vanilla pipe QoL
Automation Create + Steam 'n' Rails + Rechiseled + FastPipes Flywheel + Iris compat bundled
Tech Building Building Gadgets, Hologenica, FramedBlocks, Chipped, Supplementaries
Dimensions Per Spatium/Stellaris, Dimensional Doors, Void Dimension, Deeper and Darker Stellaris portal → rockets; Doors are the endgame hook
Mobs/Combat Born in Chaos, Mutant Monsters, Nyf's Spiders, Better Combat, Simply Swords Hard difficulty
UI/QoL JEI, Jade (+Addons), JourneyMap, Waystones, AppleSkin, IPN, Clumps, Mouse Tweaks JEI is the recipe source (no EMI)
Scripting KubeJS (+Create, +Mekanism), LootJS, Blocks You Need Advancements & loot live here
Server utils FTB Chunks/Quests/Teams/Library Chunk claims + questbook

8. Story System (KubeJS + datapack)

Lore is code. All story text lives in the story bible and is referenced from scripts — never hardcoded. See STORY_CANON.md for the full canon, file map, and "add a beat in 5 minutes" workflow.

File layout (mirrored in BOTH packs under kubejs/)

kubejs/
├── startup_scripts/registry_blocks.js   # photon_core, photon_fragment,
│                                         #   void_stabilizer, quantum_lattice, renegade_glass
├── server_scripts/
│   ├── 00_lore.js                       # THE STORY BIBLE (edit here first)
│   ├── 01_corruption_tide.js            # global Corruption Tide + Lattice re-seal
│   ├── 02_events.js                     # photon buffs, void/darker hazards
│   ├── 03_recipes_tags.js               # crafting chain + ore/ingot tag unification
│   └── 04_loot.js                       # LootJS: Darker bosses drop Photon Fragments
├── client_scripts/
│   ├── 01_tooltips.js                   # hover lore on Protocol items
│   └── 02_jei_info.js                   # JEI "how to obtain" pages
├── data/scicraft/advancements/protocol/*.json   # 9-node phase tree (non-terminal)
└── assets/scicraft/                     # lang, textures

The phase tree (not a finale — the Protocol is maintained)

  1. root — The Dark Photon Protocol (on login)
  2. first_signal — recover a Photon Fragment
  3. the_core — press 3 fragments → Photon Core
  4. the_seal — craft the Void Stabilizer
  5. the_lattice — assemble the Quantum Lattice
  6. the_legacy — craft Renegade Glass
  7. through_the_doors — enter Dimensional Doors Limbo
  8. the_wound / the_answer / per_spatium — Void, Deeper&Darker, Stellaris

Global Corruption Tide

  • Rises +1 every 60s while Doors stay unsealed (global, all players share).
  • Right-click a Quantum Lattice with a Void Stabilizer to re-seal a Door: 15 tide.
  • ≥30 tide: players get darkness. ≥60: darker_threshold for future spawn ramps. 100 = maximum dark. No fail state — soft escalation only.

Reload rules

  • Server scripts / recipes / advancements: /reload
  • Client tooltips / JEI / textures / lang: F3+T
  • New items/blocks (registry_blocks.js): full restart

Keep both packs in sync

rm -rf client_pack/kubejs && cp -r server_pack/kubejs client_pack/kubejs

9. Operations & Troubleshooting

Server start order

  1. packwiz install --dir server_pack (first time / after changes)
  2. Accept EULA.
  3. Launch with the JVM flags above.

Common failures

Symptom Fix
"Mismatched mods" on client join Run packwiz refresh both packs, redeploy.
Sinytra connector errors Update Sinytra Connector + Forgified Fabric API together.
Iris black screen Disable flywheel compat first, then test without shaders.
Crash on world gen (Deeper and Darker) Ensure CF 659011 + its lithostitched data load; update both.
TPS lag from many AE2 cells Check FTB chunk claims; lower simulation-distance.
Immersive Portals won't load Must be the Fabric jar added via url add --force (Modrinth blocks loader mismatch).

Backups

  • World: copy server_pack/world/ (or use FTB Chunks backups).
  • Configs: server_pack/config/ mirrors client defaults; keep both in sync when changing KubeJS scripts or FTB settings.

Generated for SciCraft Server · packwiz refresh passing on both packs · 146 client / 137 server files.