mcserver/instances/forge-1.20.1-survival/mod-configs.md
JaniSoto 2dcbbd4753 fix(forge-1.20.1): sync options via AutoModpack and restore standard keybinds
- Relocate options.txt to host-modpack root and configure AutoModpack sync with allowEditsInFiles
- Standardize default keybindings in keybindings.txt (Left Shift = Crouch, Left Control = Sprint)
- Remove options.txt from defaultoptions payload to resolve early-boot graphics init race condition
- Update runtime configuration for packetfixer
- Update instance README.md, mod-configs.md, runbook scp targets, and releases endpoint URL
2026-08-16 16:10:46 +00:00

279 lines
8.5 KiB
Markdown

# Mod Configuration Matrix & Schemas
## Summary Matrix
> **Note on File Paths**: `runtime/data/config/...` on the host filesystem mounts directly to `/data/config/...` inside the `mc_forge_server` Docker container.
| Mod | Config File Path | Key Setting | Value | Purpose |
| :--- | :--- | :--- | :--- | :--- |
| **AutoModpack** | `runtime/data/automodpack/automodpack-server.json` | `syncedFiles` / `allowEditsInFiles` | `["/mods/*.jar", "/config/**", "/options.txt"]` | Dynamic modpack delivery, trusted instant join, and initial `options.txt` synchronization with local edit persistence |
| **Default Options** | `runtime/data/automodpack/host-modpack/main/config/defaultoptions/` | `keybindings.txt` | Keybinds (`key_key.*`) | Enforces master keybindings dynamically on game boot |
| **LTS Auth** | `runtime/data/config/lts_auth/messages.yml` | `timeout_kick` | Configured message | In-game auth, invulnerability lock & auto-kick (`players.json` credential store ignored by Git) |
| **Locks Reforged** | `runtime/data/config/locks-common.toml` | `"Enable Loot-Scaled Locks"` | `true` | Loot-value-based container lock tier selection |
| **Improved Mobs** | `runtime/data/config/improvedmobs/common.toml` | `"Breaker Chance"` / `"Stealer Chance"` | `0.0` / `0.3` | Disables block breaking; item stealing enabled (30%); JAR excluded from client sync (`!/mods/improvedmobs*.jar`) |
| **Majrusz Difficulty** | `runtime/data/config/majruszsdifficulty.json` | `is_per_player_difficulty_enabled` | `true` | Isolated per-player milestone progression (`normal`, `expert`, `master` stages) |
| **Create Addition** | `runtime/data/config/createaddition-common.toml` | `[alternator].generator_efficiency` | `0.5` | Tech power generation rebalance |
| **Sophisticated Core** | `runtime/data/config/sophisticatedcore-common.toml` | `enabledItems` | Tier 3/4 upgrades = `false` | Cap portable storage capacity |
| **AntiXray** | `runtime/data/config/antixray.toml` | `enabled` / `[overworld].engineMode` | `false` / `3` | Global default disabled; Overworld Mode 3 & Nether Mode 1 active |
| **JourneyMap** | `runtime/data/journeymap/server/6.0/` | `playerRadarEnabled` / `caveMapping` | `"false"` / `"NONE"` | Server-enforced entity radar restrictions & cave mapping disabled |
---
## Validated Configuration Code Snippets
### 1. AutoModpack (`runtime/data/automodpack/automodpack-server.json`)
```json
{
"DO_NOT_CHANGE_IT": 2,
"modpackName": "MC SotoHome",
"modpackHost": true,
"generateModpackOnStart": true,
"syncedFiles": [
"/mods/*.jar",
"!/mods/SimpleBackups*.jar",
"/shaderpacks/*",
"!/config/luckperms/libs/**",
"!/mods/improvedmobs*.jar",
"!/mods/spark*.jar",
"!/mods/antixray*.jar",
"!/mods/doubledoors*.jar",
"!/mods/Clumps*.jar",
"!/mods/collective*.jar",
"!/config/antixray.toml",
"!/mods/lts_auth*.jar",
"/resourcepacks/*",
"/config/**",
"!/config/simplebackups-common.toml",
"!/config/spark/**",
"/options.txt"
],
"allowEditsInFiles": [
"/config/**",
"/options.txt"
],
"forceCopyFilesToStandardLocation": [
"/mods/*.jar",
"/config/**"
],
"autoExcludeServerSideMods": true,
"autoExcludeUnnecessaryFiles": true,
"requireAutoModpackOnClient": true,
"nagUnModdedClients": true,
"validateSecrets": false,
"acceptedLoaders": [
"forge"
]
}
```
### 2. AutoModpack First-Launch Options Template (`runtime/data/automodpack/host-modpack/main/options.txt`)
```text
version:3465
autoJump:false
operatorItemsTab:false
autoSuggestions:true
chatColors:true
chatLinks:true
chatLinksPrompt:true
enableVsync:true
entityShadows:true
forceUnicodeFont:false
discrete_mouse_scroll:false
invertYMouse:false
realmsNotifications:true
reducedDebugInfo:false
showSubtitles:false
directionalAudio:false
touchscreen:false
fullscreen:true
bobView:true
toggleCrouch:false
toggleSprint:false
darkMojangStudiosBackground:false
hideLightningFlashes:false
mouseSensitivity:0.5
fov:1.0
screenEffectScale:1.0
fovEffectScale:1.0
darknessEffectScale:1.0
glintSpeed:0.5
glintStrength:0.75
damageTiltStrength:1.0
highContrast:false
gamma:1.0
renderDistance:8
simulationDistance:6
entityDistanceScaling:1.0
guiScale:4
particles:0
maxFps:260
graphicsMode:1
ao:true
prioritizeChunkUpdates:0
biomeBlendRadius:2
renderClouds:"true"
resourcePacks:["mod_resources","vanilla","file/Faithful 64x - Beta 9.zip","file/-1.21.2 Fresh Moves v3.1 (With Animated Eyes).zip","file/FreshAnimations_v1.10.4.zip","black_icons","fabric"]
incompatibleResourcePacks:[]
lastServer:
lang:en_us
soundDevice:""
chatVisibility:0
chatOpacity:1.0
chatLineSpacing:0.0
textBackgroundOpacity:0.5
backgroundForChatOnly:true
hideServerAddress:false
advancedItemTooltips:false
pauseOnLostFocus:true
overrideWidth:0
overrideHeight:0
chatHeightFocused:1.0
chatDelay:0.0
chatHeightUnfocused:0.4375
chatScale:1.0
chatWidth:1.0
notificationDisplayTime:1.0
mipmapLevels:4
useNativeTransport:true
mainHand:"right"
attackIndicator:1
narrator:0
tutorialStep:none
mouseWheelSensitivity:1.0
rawMouseInput:true
glDebugVerbosity:1
skipMultiplayerWarning:true
skipRealms32bitWarning:false
hideMatchedNames:true
joinedFirstServer:true
hideBundleTutorial:false
syncChunkWrites:false
showAutosaveIndicator:true
allowServerListing:true
onlyShowSecureChat:false
panoramaScrollSpeed:1.0
telemetryOptInExtra:false
onboardAccessibility:false
soundCategory_master:0.6
soundCategory_music:0.25
soundCategory_record:1.0
soundCategory_weather:1.0
soundCategory_block:1.0
soundCategory_hostile:0.75
soundCategory_neutral:0.4
soundCategory_player:1.0
soundCategory_ambient:0.4
soundCategory_voice:1.0
modelPart_cape:true
modelPart_jacket:true
modelPart_left_sleeve:true
modelPart_right_sleeve:true
modelPart_left_pants_leg:true
modelPart_right_pants_leg:true
modelPart_hat:true
```
### 3. Locks Reforged (`runtime/data/config/locks-common.toml`)
```toml
"Lock Generation Chance" = 1.0
"Generation Enchant Chance" = 0.4
"Generated Locks" = ["locks:wood_lock", "locks:copper_lock", "locks:iron_lock", "locks:steel_lock", "locks:gold_lock", "locks:diamond_lock", "locks:netherite_lock"]
"Generated Lock Chances" = [3, 3, 3, 2, 2, 1, 1]
["Loot-Scaled Locks"]
"Enable Loot-Scaled Locks" = true
"Loot Value Tiers" = [3.0, 6.0, 10.0, 16.0, 24.0, 40.0, 60.0]
```
### 4. Improved Mobs (`runtime/data/config/improvedmobs/common.toml`)
```toml
[general]
"Enable difficulty scaling" = false
[ai]
"Breaker Chance" = 0.0
"Break BlockEntities" = false
"Stealer Chance" = 0.3
[integration]
"Use Scaling Health Mod" = "OFF"
"Use Player EX Mod" = "OFF"
"Use LevelZ Mod" = "OFF"
```
### 5. Create Addition (`runtime/data/config/createaddition-common.toml`)
```toml
[alternator]
# Alternator efficiency relative to base conversion rate
# Range: 0.01 ~ 1.0
generator_efficiency = 0.5
```
### 6. Sophisticated Core (`runtime/data/config/sophisticatedcore-common.toml`)
```toml
[common]
# Disable / enable any items here (disables their recipes)
enabledItems = [
"sophisticatedbackpacks:stack_upgrade_tier_3|false",
"sophisticatedbackpacks:stack_upgrade_tier_4|false"
]
```
### 7. Majrusz's Progressive Difficulty (`runtime/data/config/majruszsdifficulty.json`)
```json
{
"game_stages": {
"is_per_player_difficulty_enabled": true,
"list": [
{
"id": "normal",
"triggers": { "dimensions": [], "entities": [] }
},
{
"id": "expert",
"triggers": { "dimensions": ["minecraft:the_nether"] }
},
{
"id": "master",
"triggers": { "dimensions": ["minecraft:the_end"] }
}
]
}
}
```
### 8. AntiXray (`runtime/data/config/antixray.toml`)
```toml
# Global default fallback
enabled = false
[overworld]
enabled = true
engineMode = 3
maxBlockHeight = 256
updateRadius = 2
lavaObscures = false
hiddenBlocks = ["#forge:ores", "raw_copper_block", "raw_iron_block", "raw_gold_block"]
replacementBlocks = ["stone", "deepslate", "andesite", "calcite", "diorite", "dirt", "granite", "gravel", "sand", "tuff", "mossy_cobblestone", "obsidian", "clay", "infested_stone", "amethyst_block", "budding_amethyst", "chest"]
[the_nether]
enabled = true
engineMode = 1
maxBlockHeight = 128
updateRadius = 2
lavaObscures = true
hiddenBlocks = ["ancient_debris", "nether_quartz_ore", "nether_gold_ore", "gold_block", "gilded_blackstone"]
```
### 9. JourneyMap Server Enforced Radar (`runtime/data/journeymap/server/6.0/journeymap.server.global.config`)
```json
{
"surfaceMapping": "ALL",
"caveMapping": "NONE",
"radarEnabled": "ALL",
"playerRadarEnabled": "false",
"mobRadarEnabled": "false",
"animalRadarEnabled": "false",
"villagerRadarEnabled": "false"
}
```