SciCraft/docs/server.md

2.2 KiB

Server — Properties, JVM, Operations

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.

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.