feat: three-tier performance presets (Low/Medium/High) for client + server
All checks were successful
Build & Release Pack / build (push) Successful in 1m39s

Add drop-in performance presets tuned for three hardware tiers.

Tier targets:
- Low: 4GB VRAM/iGPU, 8-16GB RAM
- Medium: RX 580-class 8GB, 16-32GB RAM (shipped as pack default)
- High: RTX 3060+ 8GB+, 32GB+ RAM

Client configs (per tier, presets/<tier>/config/):
- sodium-options.json: chunk threads, cpu render-ahead, quality
- iris.properties: shaders on/off, max shadow render distance
- lambdynlights.toml: dynamic lighting mode + adaptive ticking
- entityculling.json: culling tracing distance
- cullleaves.json: leaf culling
- soundphysics.properties: reverb/ray budget (CPU cost)
- flywheel-client.toml: Create backend (BATCHING vs INSTANCING)

Server configs (per tier, presets/<tier>/server/):
- server.properties: view-distance, sim-distance, players, compression
- jvm-flags.txt: heap + G1 GC flags per RAM tier

Medium configs also copied to client_pack/config/ so they ship as the
mrpack defaults (bundled into overrides/config/).

Docs: docs/performance.md + docs/server.md rewritten for three tiers;
presets/README.md explains how to apply each tier.

Default (Medium) enables shaders with INSTANCING flywheel on the 8GB GPU
tier; Low disables shaders + uses BATCHING for maximum FPS on weak GPUs.
This commit is contained in:
MiTHRAL 2026-08-19 23:27:45 -04:00
parent 26a9fe775d
commit 3d76c0e059
37 changed files with 910 additions and 28 deletions

View file

@ -0,0 +1 @@
{"enabled": true, "cullRoots": true}

View file

@ -0,0 +1,53 @@
{
"configVersion": 8,
"renderNametagsThroughWalls": true,
"blockEntityWhitelist": [
"create:rope_pulley",
"create:hose_pulley",
"minecraft:beacon"
],
"entityWhitelist": [
"minecraft:boat",
"minecraft:block_display",
"minecraft:item_display",
"minecraft:text_display",
"create:contraption",
"create:gantry_contraption",
"create:stationary_contraption",
"create:carriage_contraption",
"createbigcannons:cannon_carriage",
"createbigcannons:pitch_contraption"
],
"tracingDistance": 128,
"debugMode": false,
"sleepDelay": 10,
"hitboxLimit": 50,
"captureRate": 5,
"tickCulling": true,
"tickCullingWhitelist": [
"minecraft:block_display",
"minecraft:item_display",
"minecraft:text_display",
"minecraft:boat",
"minecraft:jungle_boat",
"minecraft:spruce_boat",
"minecraft:oak_boat",
"minecraft:dark_oak_boat",
"minecraft:acacia_boat",
"minecraft:birch_boat",
"minecraft:cherry_boat",
"minecraft:mangrove_boat",
"create:contraption",
"create:gantry_contraption",
"create:stationary_contraption",
"create:carriage_contraption",
"createbigcannons:cannon_carriage",
"createbigcannons:pitch_contraption"
],
"disableF3": false,
"skipEntityCulling": false,
"skipBlockEntityCulling": false,
"blockEntityFrustumCulling": true,
"forceDisplayCulling": false,
"solidLeaves": false
}

View file

@ -0,0 +1,11 @@
#Select the backend to use. Set to "DEFAULT" to let Flywheel decide.
#Medium tier: INSTANCING gives good Create contraption performance on a 5600X + RX 580 class machine.
backend = "INSTANCING"
#Enable or disable instance update limiting with distance.
limitUpdates = true
#The number of worker threads to use. Set to -1 to let Flywheel decide. Set to 0 to disable parallelism.
workerThreads = 2
#Config options for Flywheel's built-in backends.
[flw_backends]
lightSmoothness = "SMOOTH"

View file

@ -0,0 +1,9 @@
#This file stores configuration options for Iris, such as the currently active shaderpack
#SCICRAFT Medium preset
allowUnknownShaders=false
colorSpace=SRGB
disableUpdateMessage=true
enableDebugOptions=false
enableShaders=true
maxShadowRenderDistance=32
shaderPack=

View file

@ -0,0 +1,27 @@
# LambDynamicLights configuration.
# The dynamic lights mode (off, simple, fancy)
mode = "fancy"
# The chunk rebuild scheduler mode (immediate, culling).
chunk_rebuild_scheduler = "culling"
[adaptive_ticking]
# How far away (in chunks) until light sources get ticked less often.
slow = 5
# How far away (in chunks) until light sources get ticked even less often.
slower = 8
# Reduces how often sources behind the camera get ticked.
background_sleep = true
# Light sources settings.
[light_sources]
entities = true
self = true
water_sensitive_check = true
creeper = "simple"
tnt = "off"
beam = true
firefly = true
guardian_laser = true
sonic_boom = true
glowing_effect = true

View file

@ -0,0 +1,30 @@
{
"quality": {
"weather_quality": "DEFAULT",
"leaves_quality": "DEFAULT",
"enable_vignette": true,
"use_closest_point_entity_sort": false
},
"advanced": {
"enable_memory_tracing": false,
"use_advanced_staging_buffers": true,
"cpu_render_ahead_limit": 3
},
"performance": {
"chunk_builder_threads": 0,
"chunk_build_defer_mode": "ALWAYS",
"animate_only_visible_textures": true,
"use_entity_culling": true,
"use_fog_occlusion": true,
"use_block_face_culling": true,
"use_no_error_g_l_context": true,
"quad_splitting_mode": "SAFE"
},
"notifications": {
"has_cleared_donation_button": false,
"has_seen_donation_prompt": false
},
"debug": {
"terrain_sorting_enabled": true
}
}

View file

@ -0,0 +1,38 @@
# Enables/Disables all sound effects
enabled=true
attenuation_factor=1.0
reverb_attenuation_distance=0.0
reverb_gain=1.0
reverb_brightness=1.0
reverb_distance=1.5
block_absorption=1.0
occlusion_variation=0.35
default_block_reflectivity=0.5
default_block_occlusion_factor=1.0
sound_distance_allowance=4.0
air_absorption=1.0
underwater_filter=0.9
evaluate_ambient_sounds=false
environment_evaluation_ray_count=24
environment_evaluation_ray_bounces=4
non_full_block_occlusion_factor=0.25
max_occlusion_rays=16
max_occlusion=64.0
strict_occlusion=false
sound_direction_evaluation=true
redirect_non_occluded_sounds=true
update_moving_sounds=false
sound_update_interval=5
max_sound_processing_distance=512.0
unsafe_level_access=false
level_clone_range=4
level_clone_max_retain_ticks=20
level_clone_max_retain_block_distance=16
debug_logging=false
occlusion_logging=false
environment_logging=false
performance_logging=false
render_sound_bounces=false
render_occlusion=false
simple_voice_chat_integration=true
simple_voice_chat_hear_self=false

View file

@ -1,25 +1,67 @@
# Performance — Client
## Shader Tuning for 4GB VRAM
Three drop-in tiers are provided: **Low**, **Medium**, and **High**. The
**Medium** tier ships as the pack default (matches a Ryzen 5 5600X / 16-32 GB
RAM / RX 580 8 GB machine). Full details and copy commands live in
`presets/README.md`.
| Tier | Target | Shaders | Render distance | Key trade-offs |
|------|--------|---------|-----------------|----------------|
| **Low** | 4 GB VRAM / iGPU | **Off** | 4-6 | Minimal effects, most CPU headroom |
| **Medium** | 8 GB VRAM (RX 580-class) | On (Complementary, Performance) | 8 | Balanced 60 FPS — **default** |
| **High** | 8 GB+ VRAM (RTX 3060+) | On (Complementary, Ultra) | 10-12 | Max visual quality |
## Applying a tier
```bash
# client configs → instance config dir
cp -r presets/low/config/* ~/.local/share/PrismLauncher/instances/<instance>/minecraft/config/
```
Restart the game after copying. See `presets/README.md` for the full file map.
## What each tier changes
| Config | Low | Medium | High |
|--------|-----|--------|------|
| Sodium chunk threads | 1 | auto | auto |
| Sodium cpu render-ahead | 1 | 3 | 4 |
| Sodium quality | FAST | DEFAULT | DEFAULT |
| Iris shaders | **off** | on, shadow 32 | on, shadow 64 |
| Dynamic lights | simple | fancy | fancy (max) |
| Entity culling distance | 64 | 128 | 192 |
| Sound reverb rays | 16 | 24 | 32 |
| Flywheel backend | BATCHING | INSTANCING | INSTANCING |
## Shader tuning (Complementary Reimagined r5.4)
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**
In-game (`Esc → Options → Shader Packs → Complementary → Shader Pack Settings`):
If still under 60 FPS: reduce Shadow Quality to 0.5x, then disable Bloom,
before touching render distance.
### Medium (8 GB VRAM)
- Preset: **Fast / Performance**
- Antialiasing: OFF, SSAO: Fast, Shadow Quality 1.0x
- Shadow Distance: 64, Bloom: Low, Clouds: 2D Fast
- Water Reflections: Screenspace Fast, Colored Light: OFF
### High (8 GB+ VRAM)
- Preset: **High / Default**
- Antialiasing: OFF or FXAA, SSAO: High, Shadow Quality 1.5x
- Shadow Distance: 128, Bloom: On, Clouds: 3D
- Water Reflections: Screenspace, Colored Light: On
### Low (no shaders, or "Potato")
- Play with shaders **off** (Iris `enableShaders=false`).
- If you want them on, use Complementary "Potato/Ultra" preset, shadows OFF.
If FPS is still low, lower Shadow Quality / disable Bloom before touching
render distance.
## Reload rules
- Server scripts / recipes / advancements: `/reload`
- Client tooltips / JEI / textures / lang: `F3+T`
- New items/blocks (`registry_blocks.js`): **full restart**
- New items/blocks (`registry_blocks.js`): **full restart**
- Config files (Sodium, Iris, etc.): **full restart**

View file

@ -1,24 +1,24 @@
# Server — Properties, JVM, Operations
## Server properties (view-distance=8, simulation-distance=6)
Three server tiers are provided as drop-in presets in `presets/<tier>/server/`
(see `presets/README.md`). The **Medium** tier is the recommended default.
`server_pack/server.properties` — set these values:
| Tier | Host RAM | view-distance | simulation-distance | max-players |
|------|----------|---------------|---------------------|-------------|
| Low | 8-16 GB | 5 | 4 | 8 |
| **Medium** | 16-32 GB | 8 | 6 | 8 |
| High | 32 GB+ | 12 | 10 | 16 |
```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
Apply a tier (after `packwiz install`):
```bash
cp presets/medium/server/server.properties server_pack/server.properties
# then use the matching jvm-flags.txt when launching
```
`server_pack/eula.txt` → `eula=true` (after review).
## Recommended JVM Flags (server)
## Recommended JVM Flags (server, Medium)
```bash
java -Xms4G -Xmx8G \
@ -44,8 +44,10 @@ java -Xms4G -Xmx8G \
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.
- `-Xms4G` avoids early GC churn. Cap at 8G for Medium; this pack is
RAM-hungry from AE2/Mekanism tick load but Medium does not need 16G.
- See `presets/low/server/jvm-flags.txt` (2-4G) and
`presets/high/server/jvm-flags.txt` (8-16G) for the other tiers.
## Server start order

70
presets/README.md Normal file
View file

@ -0,0 +1,70 @@
# Performance Presets — SCICRAFT
Three drop-in tiers for client (and server) tuning. The **Medium** tier is the
pack default — it ships inside the mrpack (`overrides/config/`) and matches a
Ryzen 5 5600X / 16-32 GB RAM / RX 580 8 GB class machine.
To use a different tier, copy the files from the matching folder into the
`.minecraft/config/` directory (client) and the pack's `server/` directory
(server), then restart.
## Tier targets
| Tier | CPU | RAM | GPU | Use case |
|------|-----|-----|-----|----------|
| **Low** | 4-core / older | 8-16 GB | 4 GB VRAM or iGPU | Integrated graphics, laptops, weak desktops |
| **Medium** | 6-8 core (5600X-class) | 16-32 GB | 8 GB VRAM (RX 580-class) | **Default. Balanced 60 FPS.** |
| **High** | 8+ core | 32 GB+ | 8 GB+ VRAM (RTX 3060+) | High FPS at high render distance / shaders |
## What's included per tier
### Client (`presets/<tier>/config/` → `.minecraft/config/`)
| File | Effect |
|------|--------|
| `sodium-options.json` | Terrain renderer: chunk threads, culling, quality |
| `iris.properties` | Shader loader: on/off, max shadow render distance |
| `lambdynlights.toml` | Dynamic lighting quality / adaptive ticking |
| `entityculling.json` | Entity/block-entity culling distance |
| `cullleaves.json` | Leaf culling on/off |
| `soundphysics.properties` | Reverb/ray budget (audio CPU cost) |
| `flywheel-client.toml` | Create/Flywheel render backend (batching vs instancing) |
> Note: `sodium-mixins.properties` is left at default on all tiers. Hand-editing
> Sodium mixin flags can cause crashes, so we tune the safe, supported options
> (`sodium-options.json`) instead.
### Server (`presets/<tier>/server/`)
| File | Effect |
|------|--------|
| `server.properties` | view-distance, simulation-distance, compression |
| `jvm-flags.txt` | Recommended JVM heap + GC flags for that RAM tier |
## Applying a tier (client)
```bash
# Example: switch to LOW
cp -r presets/low/config/* ~/.local/share/PrismLauncher/instances/<instance>/minecraft/config/
```
Then restart the game. Shader-pack in-game settings (Complementary) still
override a few visual options — see `docs/performance.md`.
## Applying a tier (server)
```bash
# Example: switch to LOW
cp presets/low/server/server.properties server_pack/server.properties
# use the jvm-flags.txt line when launching
```
## Notes
- **Shaders are disabled on the Low tier** — this is the single biggest FPS win.
On Low, either play without a shaderpack or use an "Ultra/Performance"
preset of Complementary with shadows off.
- **Medium is the shipped default** — the mrpack already contains these configs,
so players who do nothing get the balanced experience.
- `enableShaderCompatibleRendering` is on for Mekanism Covers on all tiers so
covers render correctly with shaders.

View file

@ -0,0 +1 @@
{"enabled": true, "cullRoots": true}

View file

@ -0,0 +1,53 @@
{
"configVersion": 8,
"renderNametagsThroughWalls": true,
"blockEntityWhitelist": [
"create:rope_pulley",
"create:hose_pulley",
"minecraft:beacon"
],
"entityWhitelist": [
"minecraft:boat",
"minecraft:block_display",
"minecraft:item_display",
"minecraft:text_display",
"create:contraption",
"create:gantry_contraption",
"create:stationary_contraption",
"create:carriage_contraption",
"createbigcannons:cannon_carriage",
"createbigcannons:pitch_contraption"
],
"tracingDistance": 192,
"debugMode": false,
"sleepDelay": 10,
"hitboxLimit": 60,
"captureRate": 6,
"tickCulling": true,
"tickCullingWhitelist": [
"minecraft:block_display",
"minecraft:item_display",
"minecraft:text_display",
"minecraft:boat",
"minecraft:jungle_boat",
"minecraft:spruce_boat",
"minecraft:oak_boat",
"minecraft:dark_oak_boat",
"minecraft:acacia_boat",
"minecraft:birch_boat",
"minecraft:cherry_boat",
"minecraft:mangrove_boat",
"create:contraption",
"create:gantry_contraption",
"create:stationary_contraption",
"create:carriage_contraption",
"createbigcannons:cannon_carriage",
"createbigcannons:pitch_contraption"
],
"disableF3": false,
"skipEntityCulling": false,
"skipBlockEntityCulling": false,
"blockEntityFrustumCulling": true,
"forceDisplayCulling": false,
"solidLeaves": false
}

View file

@ -0,0 +1,11 @@
#Select the backend to use. Set to "DEFAULT" to let Flywheel decide.
#High tier: INSTANCING on a modern GPU. Auto threads.
backend = "INSTANCING"
#Enable or disable instance update limiting with distance.
limitUpdates = true
#The number of worker threads to use. Set to -1 to let Flywheel decide. Set to 0 to disable parallelism.
workerThreads = -1
#Config options for Flywheel's built-in backends.
[flw_backends]
lightSmoothness = "SMOOTH_INNER_FACE_CORRECTED"

View file

@ -0,0 +1,9 @@
#This file stores configuration options for Iris, such as the currently active shaderpack
#SCICRAFT High preset
allowUnknownShaders=false
colorSpace=SRGB
disableUpdateMessage=true
enableDebugOptions=false
enableShaders=true
maxShadowRenderDistance=64
shaderPack=

View file

@ -0,0 +1,24 @@
# LambDynamicLights configuration.
# The dynamic lights mode (off, simple, fancy)
mode = "fancy"
# The chunk rebuild scheduler mode (immediate, culling).
chunk_rebuild_scheduler = "culling"
[adaptive_ticking]
slow = 6
slower = 10
background_sleep = true
# Light sources settings.
[light_sources]
entities = true
self = true
water_sensitive_check = true
creeper = "fancy"
tnt = "fancy"
beam = true
firefly = true
guardian_laser = true
sonic_boom = true
glowing_effect = true

View file

@ -0,0 +1,30 @@
{
"quality": {
"weather_quality": "DEFAULT",
"leaves_quality": "DEFAULT",
"enable_vignette": true,
"use_closest_point_entity_sort": true
},
"advanced": {
"enable_memory_tracing": false,
"use_advanced_staging_buffers": true,
"cpu_render_ahead_limit": 4
},
"performance": {
"chunk_builder_threads": 0,
"chunk_build_defer_mode": "ALWAYS",
"animate_only_visible_textures": true,
"use_entity_culling": true,
"use_fog_occlusion": true,
"use_block_face_culling": true,
"use_no_error_g_l_context": true,
"quad_splitting_mode": "SAFE"
},
"notifications": {
"has_cleared_donation_button": false,
"has_seen_donation_prompt": false
},
"debug": {
"terrain_sorting_enabled": true
}
}

View file

@ -0,0 +1,38 @@
# Enables/Disables all sound effects
enabled=true
attenuation_factor=1.0
reverb_attenuation_distance=0.0
reverb_gain=1.0
reverb_brightness=1.0
reverb_distance=1.5
block_absorption=1.0
occlusion_variation=0.35
default_block_reflectivity=0.5
default_block_occlusion_factor=1.0
sound_distance_allowance=4.0
air_absorption=1.0
underwater_filter=0.9
evaluate_ambient_sounds=true
environment_evaluation_ray_count=32
environment_evaluation_ray_bounces=4
non_full_block_occlusion_factor=0.25
max_occlusion_rays=16
max_occlusion=64.0
strict_occlusion=false
sound_direction_evaluation=true
redirect_non_occluded_sounds=true
update_moving_sounds=false
sound_update_interval=5
max_sound_processing_distance=512.0
unsafe_level_access=false
level_clone_range=4
level_clone_max_retain_ticks=20
level_clone_max_retain_block_distance=16
debug_logging=false
occlusion_logging=false
environment_logging=false
performance_logging=false
render_sound_bounces=false
render_occlusion=false
simple_voice_chat_integration=true
simple_voice_chat_hear_self=false

View file

@ -0,0 +1,19 @@
# SCICRAFT High tier server JVM flags - 32GB+ RAM host
# Launch with: java <flags> -jar neoforge-21.1.248-server.jar nogui
-Xms8G -Xmx16G \
-XX:+UseG1GC \
-XX:+ParallelRefProcEnabled \
-XX:MaxGCPauseMillis=150 \
-XX:+UnlockExperimentalVMOptions \
-XX:+DisableExplicitGC \
-XX:+AlwaysPreTouch \
-XX:G1NewSizePercent=30 \
-XX:G1MaxNewSizePercent=40 \
-XX:G1HeapRegionSize=16M \
-XX:G1ReservePercent=20 \
-XX:G1HeapWastePercent=5 \
-XX:G1MixedGCCountTarget=4 \
-XX:InitiatingHeapOccupancyPercent=15 \
-XX:G1MixedGCLiveThresholdPercent=90 \
-XX:G1RSetUpdatingPauseTimePercent=5 \
-Dlog4j2.formatMsgNoLookups=true

View file

@ -0,0 +1,13 @@
#SCICRAFT High tier - for a beefy server host (8+ core / 32GB+ RAM)
# Generated by presets/high/server/server.properties
view-distance=12
simulation-distance=10
max-players=16
motd=SCICRAFT - The Dark Photon Protocol
difficulty=hard
spawn-protection=0
network-compression-threshold=512
enable-command-block=true
online-mode=true
max-tick-time=60000
entity-broadcast-range-percentage=100

View file

@ -0,0 +1 @@
{"enabled": true, "cullRoots": true}

View file

@ -0,0 +1,53 @@
{
"configVersion": 8,
"renderNametagsThroughWalls": true,
"blockEntityWhitelist": [
"create:rope_pulley",
"create:hose_pulley",
"minecraft:beacon"
],
"entityWhitelist": [
"minecraft:boat",
"minecraft:block_display",
"minecraft:item_display",
"minecraft:text_display",
"create:contraption",
"create:gantry_contraption",
"create:stationary_contraption",
"create:carriage_contraption",
"createbigcannons:cannon_carriage",
"createbigcannons:pitch_contraption"
],
"tracingDistance": 64,
"debugMode": false,
"sleepDelay": 8,
"hitboxLimit": 40,
"captureRate": 4,
"tickCulling": true,
"tickCullingWhitelist": [
"minecraft:block_display",
"minecraft:item_display",
"minecraft:text_display",
"minecraft:boat",
"minecraft:jungle_boat",
"minecraft:spruce_boat",
"minecraft:oak_boat",
"minecraft:dark_oak_boat",
"minecraft:acacia_boat",
"minecraft:birch_boat",
"minecraft:cherry_boat",
"minecraft:mangrove_boat",
"create:contraption",
"create:gantry_contraption",
"create:stationary_contraption",
"create:carriage_contraption",
"createbigcannons:cannon_carriage",
"createbigcannons:pitch_contraption"
],
"disableF3": false,
"skipEntityCulling": false,
"skipBlockEntityCulling": false,
"blockEntityFrustumCulling": true,
"forceDisplayCulling": false,
"solidLeaves": false
}

View file

@ -0,0 +1,11 @@
#Select the backend to use. Set to "DEFAULT" to let Flywheel decide.
#Low tier: BATCHING is the most compatible/least demanding on weak GPUs/iGPU.
backend = "BATCHING"
#Enable or disable instance update limiting with distance.
limitUpdates = true
#The number of worker threads to use. Set to -1 to let Flywheel decide. Set to 0 to disable parallelism.
workerThreads = 1
#Config options for Flywheel's built-in backends.
[flw_backends]
lightSmoothness = "FLAT"

View file

@ -0,0 +1,9 @@
#This file stores configuration options for Iris, such as the currently active shaderpack
#SCICRAFT Low preset - shaders DISABLED for maximum performance
allowUnknownShaders=false
colorSpace=SRGB
disableUpdateMessage=true
enableDebugOptions=false
enableShaders=false
maxShadowRenderDistance=16
shaderPack=

View file

@ -0,0 +1,24 @@
# LambDynamicLights configuration.
# The dynamic lights mode (off, simple, fancy)
mode = "simple"
# The chunk rebuild scheduler mode (immediate, culling).
chunk_rebuild_scheduler = "culling"
[adaptive_ticking]
slow = 4
slower = 6
background_sleep = true
# Light sources settings.
[light_sources]
entities = true
self = true
water_sensitive_check = true
creeper = "off"
tnt = "off"
beam = false
firefly = false
guardian_laser = false
sonic_boom = false
glowing_effect = true

View file

@ -0,0 +1,30 @@
{
"quality": {
"weather_quality": "FAST",
"leaves_quality": "FAST",
"enable_vignette": false,
"use_closest_point_entity_sort": true
},
"advanced": {
"enable_memory_tracing": false,
"use_advanced_staging_buffers": true,
"cpu_render_ahead_limit": 1
},
"performance": {
"chunk_builder_threads": 1,
"chunk_build_defer_mode": "ALWAYS",
"animate_only_visible_textures": true,
"use_entity_culling": true,
"use_fog_occlusion": false,
"use_block_face_culling": true,
"use_no_error_g_l_context": true,
"quad_splitting_mode": "FAST"
},
"notifications": {
"has_cleared_donation_button": false,
"has_seen_donation_prompt": false
},
"debug": {
"terrain_sorting_enabled": true
}
}

View file

@ -0,0 +1,41 @@
# Enables/Disables all sound effects
enabled=true
# Lower attenuation for less CPU on low-end
attenuation_factor=1.0
# Reverb disabled on low tier to save CPU
reverb_attenuation_distance=0.0
reverb_gain=0.6
reverb_brightness=1.0
reverb_distance=1.2
block_absorption=1.0
occlusion_variation=0.35
default_block_reflectivity=0.5
default_block_occlusion_factor=1.0
sound_distance_allowance=3.0
air_absorption=1.0
underwater_filter=0.9
evaluate_ambient_sounds=false
# Fewer rays = fewer lag spikes on weak CPUs
environment_evaluation_ray_count=16
environment_evaluation_ray_bounces=2
non_full_block_occlusion_factor=0.25
max_occlusion_rays=8
max_occlusion=32.0
strict_occlusion=false
sound_direction_evaluation=true
redirect_non_occluded_sounds=true
update_moving_sounds=false
sound_update_interval=5
max_sound_processing_distance=256.0
unsafe_level_access=false
level_clone_range=2
level_clone_max_retain_ticks=15
level_clone_max_retain_block_distance=12
debug_logging=false
occlusion_logging=false
environment_logging=false
performance_logging=false
render_sound_bounces=false
render_occlusion=false
simple_voice_chat_integration=true
simple_voice_chat_hear_self=false

View file

@ -0,0 +1,18 @@
# SCICRAFT Low tier server JVM flags - 8-16GB RAM host
# Launch with: java <flags> -jar neoforge-21.1.248-server.jar nogui
-Xms2G -Xmx4G \
-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 \
-Dlog4j2.formatMsgNoLookups=true

View file

@ -0,0 +1,13 @@
#SCICRAFT Low tier - for a lower-end server host (4 cores / 8-16GB RAM)
# Generated by presets/low/server/server.properties
view-distance=5
simulation-distance=4
max-players=8
motd=SCICRAFT - The Dark Photon Protocol [Low]
difficulty=hard
spawn-protection=0
network-compression-threshold=256
enable-command-block=true
online-mode=true
max-tick-time=60000
entity-broadcast-range-percentage=50

View file

@ -0,0 +1 @@
{"enabled": true, "cullRoots": true}

View file

@ -0,0 +1,53 @@
{
"configVersion": 8,
"renderNametagsThroughWalls": true,
"blockEntityWhitelist": [
"create:rope_pulley",
"create:hose_pulley",
"minecraft:beacon"
],
"entityWhitelist": [
"minecraft:boat",
"minecraft:block_display",
"minecraft:item_display",
"minecraft:text_display",
"create:contraption",
"create:gantry_contraption",
"create:stationary_contraption",
"create:carriage_contraption",
"createbigcannons:cannon_carriage",
"createbigcannons:pitch_contraption"
],
"tracingDistance": 128,
"debugMode": false,
"sleepDelay": 10,
"hitboxLimit": 50,
"captureRate": 5,
"tickCulling": true,
"tickCullingWhitelist": [
"minecraft:block_display",
"minecraft:item_display",
"minecraft:text_display",
"minecraft:boat",
"minecraft:jungle_boat",
"minecraft:spruce_boat",
"minecraft:oak_boat",
"minecraft:dark_oak_boat",
"minecraft:acacia_boat",
"minecraft:birch_boat",
"minecraft:cherry_boat",
"minecraft:mangrove_boat",
"create:contraption",
"create:gantry_contraption",
"create:stationary_contraption",
"create:carriage_contraption",
"createbigcannons:cannon_carriage",
"createbigcannons:pitch_contraption"
],
"disableF3": false,
"skipEntityCulling": false,
"skipBlockEntityCulling": false,
"blockEntityFrustumCulling": true,
"forceDisplayCulling": false,
"solidLeaves": false
}

View file

@ -0,0 +1,11 @@
#Select the backend to use. Set to "DEFAULT" to let Flywheel decide.
#Medium tier: INSTANCING gives good Create contraption performance on a 5600X + RX 580 class machine.
backend = "INSTANCING"
#Enable or disable instance update limiting with distance.
limitUpdates = true
#The number of worker threads to use. Set to -1 to let Flywheel decide. Set to 0 to disable parallelism.
workerThreads = 2
#Config options for Flywheel's built-in backends.
[flw_backends]
lightSmoothness = "SMOOTH"

View file

@ -0,0 +1,9 @@
#This file stores configuration options for Iris, such as the currently active shaderpack
#SCICRAFT Medium preset
allowUnknownShaders=false
colorSpace=SRGB
disableUpdateMessage=true
enableDebugOptions=false
enableShaders=true
maxShadowRenderDistance=32
shaderPack=

View file

@ -0,0 +1,27 @@
# LambDynamicLights configuration.
# The dynamic lights mode (off, simple, fancy)
mode = "fancy"
# The chunk rebuild scheduler mode (immediate, culling).
chunk_rebuild_scheduler = "culling"
[adaptive_ticking]
# How far away (in chunks) until light sources get ticked less often.
slow = 5
# How far away (in chunks) until light sources get ticked even less often.
slower = 8
# Reduces how often sources behind the camera get ticked.
background_sleep = true
# Light sources settings.
[light_sources]
entities = true
self = true
water_sensitive_check = true
creeper = "simple"
tnt = "off"
beam = true
firefly = true
guardian_laser = true
sonic_boom = true
glowing_effect = true

View file

@ -0,0 +1,30 @@
{
"quality": {
"weather_quality": "DEFAULT",
"leaves_quality": "DEFAULT",
"enable_vignette": true,
"use_closest_point_entity_sort": false
},
"advanced": {
"enable_memory_tracing": false,
"use_advanced_staging_buffers": true,
"cpu_render_ahead_limit": 3
},
"performance": {
"chunk_builder_threads": 0,
"chunk_build_defer_mode": "ALWAYS",
"animate_only_visible_textures": true,
"use_entity_culling": true,
"use_fog_occlusion": true,
"use_block_face_culling": true,
"use_no_error_g_l_context": true,
"quad_splitting_mode": "SAFE"
},
"notifications": {
"has_cleared_donation_button": false,
"has_seen_donation_prompt": false
},
"debug": {
"terrain_sorting_enabled": true
}
}

View file

@ -0,0 +1,38 @@
# Enables/Disables all sound effects
enabled=true
attenuation_factor=1.0
reverb_attenuation_distance=0.0
reverb_gain=1.0
reverb_brightness=1.0
reverb_distance=1.5
block_absorption=1.0
occlusion_variation=0.35
default_block_reflectivity=0.5
default_block_occlusion_factor=1.0
sound_distance_allowance=4.0
air_absorption=1.0
underwater_filter=0.9
evaluate_ambient_sounds=false
environment_evaluation_ray_count=24
environment_evaluation_ray_bounces=4
non_full_block_occlusion_factor=0.25
max_occlusion_rays=16
max_occlusion=64.0
strict_occlusion=false
sound_direction_evaluation=true
redirect_non_occluded_sounds=true
update_moving_sounds=false
sound_update_interval=5
max_sound_processing_distance=512.0
unsafe_level_access=false
level_clone_range=4
level_clone_max_retain_ticks=20
level_clone_max_retain_block_distance=16
debug_logging=false
occlusion_logging=false
environment_logging=false
performance_logging=false
render_sound_bounces=false
render_occlusion=false
simple_voice_chat_integration=true
simple_voice_chat_hear_self=false

View file

@ -0,0 +1,19 @@
# SCICRAFT Medium tier server JVM flags - 16-32GB RAM host
# Launch with: java <flags> -jar neoforge-21.1.248-server.jar nogui
-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

View file

@ -0,0 +1,13 @@
#SCICRAFT Medium tier - balanced (6-8 core / 16-32GB RAM)
# Generated by presets/medium/server/server.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
max-tick-time=60000
entity-broadcast-range-percentage=75