SciCraft/docs/server.md

71 lines
No EOL
2.2 KiB
Markdown

# Server — Properties, JVM, Operations
## Server properties (view-distance=8, simulation-distance=6)
`server_pack/server.properties` — set these values:
```properties
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.txt``eula=true` (after review).
## Recommended JVM Flags (server)
```bash
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.