mcserver/instances/forge-1.20.1-survival/mod-configs.md
JaniSoto e3b866b989 fix(automodpack): decouple client options sync and separate keybindings template
- Move default keybindings to config/defaultoptions/keybindings.txt for modern Default Options mod compatibility
- Remove root options.txt from AutoModpack host folder to prevent wiping player audio, graphics, and FOV preferences on boot
- Strip key_ lines from config/defaultoptions/options.txt to leave clean first-launch defaults
- Update instance README, mod-configs matrix, and operations manual to document the two-file default options architecture
2026-08-16 07:04:40 +00:00

16 KiB

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 validateSecrets / forceCopyFilesToStandardLocation false / ["/mods/*.jar", "/config/**"] Dynamic modpack delivery, trusted instant join, and forced client payload sync
Default Options runtime/data/automodpack/host-modpack/main/config/defaultoptions/ keybindings.txt / options.txt Keybinds (key_key.*) / Options (soundCategory_*, FOV, graphics) keybindings.txt enforces key mappings on boot; options.txt sets initial graphics/audio defaults on first boot without wiping user options later.
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)

{
  "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/**"
  ],
  "allowEditsInFiles": [
    "/config/**"
  ],
  "forceCopyFilesToStandardLocation": [
    "/mods/*.jar",
    "/config/**"
  ],
  "autoExcludeServerSideMods": true,
  "autoExcludeUnnecessaryFiles": true,
  "requireAutoModpackOnClient": true,
  "nagUnModdedClients": true,
  "validateSecrets": false,
  "acceptedLoaders": [
    "forge"
  ]
}

2. Default Options Master Template (runtime/data/automodpack/host-modpack/main/config/defaultoptions/options.txt)

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
key_key.attack:key.mouse.left
key_key.use:key.mouse.right
key_key.forward:key.keyboard.w
key_key.left:key.keyboard.a
key_key.back:key.keyboard.s
key_key.right:key.keyboard.d
key_key.jump:key.keyboard.space
key_key.sneak:key.keyboard.left.shift
key_key.sprint:key.keyboard.left.control
key_key.drop:key.keyboard.q
key_key.inventory:key.keyboard.e
key_key.chat:key.keyboard.t
key_key.playerlist:key.keyboard.tab
key_key.pickItem:key.mouse.middle
key_key.command:key.keyboard.slash
key_key.socialInteractions:key.keyboard.p
key_key.screenshot:key.keyboard.f2
key_key.togglePerspective:key.keyboard.f5
key_key.smoothCamera:key.keyboard.unknown
key_key.fullscreen:key.keyboard.f11
key_key.spectatorOutlines:key.keyboard.unknown
key_key.swapOffhand:key.keyboard.f
key_key.saveToolbarActivator:key.keyboard.c
key_key.loadToolbarActivator:key.keyboard.x
key_key.advancements:key.keyboard.l
key_key.hotbar.1:key.keyboard.1
key_key.hotbar.2:key.keyboard.2
key_key.hotbar.3:key.keyboard.3
key_key.hotbar.4:key.keyboard.4
key_key.hotbar.5:key.keyboard.5
key_key.hotbar.6:key.keyboard.6
key_key.hotbar.7:key.keyboard.7
key_key.hotbar.8:key.keyboard.8
key_key.hotbar.9:key.keyboard.9
key_key.sophisticatedcore.sort:key.mouse.middle
key_key.sophisticatedcore.transfer_to_storage:key.keyboard.left.bracket
key_key.sophisticatedcore.transfer_to_inventory:key.keyboard.right.bracket
key_key.modernfix.config:key.keyboard.unknown
key_key.sophisticatedbackpacks.open_backpack:key.keyboard.b
key_key.sophisticatedbackpacks.inventory_interaction:key.keyboard.c
key_key.sophisticatedbackpacks.tool_swap:key.keyboard.unknown
key_key.sophisticatedbackpacks.toggle_upgrade_1:key.keyboard.z:ALT
key_key.sophisticatedbackpacks.toggle_upgrade_2:key.keyboard.x:ALT
key_key.sophisticatedbackpacks.toggle_upgrade_3:key.keyboard.unknown
key_key.sophisticatedbackpacks.toggle_upgrade_4:key.keyboard.unknown
key_key.sophisticatedbackpacks.toggle_upgrade_5:key.keyboard.unknown
key_key.corpse.death_history:key.keyboard.u:CONTROL
key_key.botania_corporea_request:key.keyboard.c
key_key.curios.open.desc:key.keyboard.g
key_key.ftbteams.open_gui:key.keyboard.unknown
key_key.ftbchunks.map:key.keyboard.unknown
key_key.ftbchunks.toggle_minimap:key.keyboard.unknown
key_key.ftbchunks.claim_manager:key.keyboard.unknown
key_key.ftbchunks.minimap.zoomIn:key.keyboard.unknown
key_key.ftbchunks.minimap.zoomOut:key.keyboard.unknown
key_key.ftbchunks.add_waypoint:key.keyboard.unknown
key_key.ftbchunks.waypoint_manager:key.keyboard.unknown
key_key.mca.skin_library:key.keyboard.unknown
key_key.jei.showRecipe2:key.mouse.left
key_key.jei.showBookmarkTooltipFeatures:key.keyboard.left.control
key_key.jei.transferRecipeBookmark:key.mouse.left:SHIFT
key_key.jei.previousSearch:key.keyboard.up
key_key.jei.showRecipe:key.keyboard.r
key_key.jei.nextRecipePage:key.keyboard.page.down
key_key.jei.bookmark:key.keyboard.a
key_key.jei.maxTransferRecipeBookmark:key.mouse.left:CONTROL
key_key.jei.nextSearch:key.keyboard.down
key_key.jei.recipeBack:key.keyboard.backspace
key_key.jei.quickMove:key.mouse.left:SHIFT
key_key.jei.cheatItemStack2:key.mouse.middle
key_key.jei.toggleWildcardHideIngredient:key.mouse.right:CONTROL
key_key.jei.clearSearchBar:key.mouse.right
key_key.jei.toggleHideIngredient:key.mouse.left:CONTROL
key_key.jei.previousPage:key.keyboard.unknown
key_key.jei.cheatOneItem:key.mouse.left
key_key.jei.nextPage:key.keyboard.unknown
key_key.jei.pauseRecipeCycling:key.keyboard.left.shift
key_key.jei.cheatItemStack:key.mouse.left:SHIFT
key_key.jei.focusSearch:key.keyboard.f:CONTROL
key_key.jei.nextCategory:key.keyboard.page.down:SHIFT
key_key.jei.closeRecipeGui:key.keyboard.escape
key_key.jei.toggleBookmarkOverlay:key.keyboard.unknown
key_key.jei.previousCategory:key.keyboard.page.up:SHIFT
key_key.jei.previousRecipePage:key.keyboard.page.up
key_key.jei.showUses2:key.mouse.right
key_key.jei.showUses:key.keyboard.u
key_key.jei.toggleCheatModeConfigButton:key.mouse.left:CONTROL
key_key.jei.toggleEditMode:key.keyboard.unknown
key_key.jei.copy.recipe.id:key.keyboard.unknown
key_key.jei.shareToChat:key.keyboard.unknown
key_key.jei.cheatOneItem2:key.mouse.right
key_key.jei.toggleCheatMode:key.keyboard.unknown
key_key.jei.toggleOverlay:key.keyboard.unknown
key_key.journeymap.minimap_preset:key.keyboard.backslash
key_key.journeymap.toggle_entity_names:key.keyboard.g
key_key.journeymap.toggle_render_waypoints_map:key.keyboard.unknown
key_key.journeymap.fullscreen.south:key.keyboard.down
key_key.journeymap.zoom_in:key.keyboard.equal
key_key.journeymap.fullscreen.north:key.keyboard.up
key_key.journeymap.fullscreen_waypoints:key.keyboard.n
key_key.journeymap.toggle_render_waypoints_world:key.keyboard.unknown
key_key.journeymap.fullscreen.east:key.keyboard.right
key_key.journeymap.zoom_out:key.keyboard.minus
key_key.journeymap.create_waypoint:key.keyboard.b:CONTROL
key_key.journeymap.fullscreen.disable_buttons:key.keyboard.unknown
key_key.journeymap.minimap_type:key.keyboard.left.bracket
key_key.journeymap.fullscreen_create_waypoint:key.keyboard.b:CONTROL
key_key.journeymap.fullscreen.west:key.keyboard.left
key_key.journeymap.toggle_waypoints:key.keyboard.unknown
key_key.journeymap.fullscreen_chat_position:key.keyboard.c
key_key.journeymap.map_toggle_alt:key.keyboard.j
key_key.journeymap.toggle_render_waypoints:key.keyboard.unknown
key_key.journeymap.minimap_toggle_alt:key.keyboard.j:CONTROL
key_key.journeymap.fullscreen_options:key.keyboard.o
key_key.journeymap.fullscreen_follow_player:key.keyboard.f
key_key.push_to_talk:key.keyboard.unknown
key_key.whisper:key.keyboard.unknown
key_key.mute_microphone:key.keyboard.m:ALT
key_key.disable_voice_chat:key.keyboard.unknown
key_key.hide_icons:key.keyboard.unknown
key_key.voice_chat:key.keyboard.v
key_key.voice_chat_settings:key.keyboard.unknown
key_key.voice_chat_group:key.keyboard.g:ALT
key_key.voice_chat_toggle_recording:key.keyboard.unknown
key_key.voice_chat_adjust_volumes:key.keyboard.unknown
key_key.immersiveengineering.magnetEquip:key.keyboard.s
key_key.immersiveengineering.railgunZoom:key.mouse.middle
key_key.immersiveengineering.chemthrowerSwitch:key.keyboard.unknown
key_key.jade.config:key.keyboard.keypad.0
key_key.jade.show_overlay:key.keyboard.keypad.1
key_key.jade.toggle_liquid:key.keyboard.keypad.2
key_key.jade.show_recipes:key.keyboard.keypad.3
key_key.jade.show_uses:key.keyboard.keypad.4
key_key.jade.narrate:key.keyboard.keypad.5
key_key.jade.show_details:key.keyboard.left.shift
key_key.ponder.ponder:key.keyboard.w
key_key.irons_spellbooks.spell_wheel:key.keyboard.r
key_key.irons_spellbooks.spell_wheel_toggle:key.keyboard.unknown
key_key.irons_spellbooks.spellbook_cast:key.keyboard.z
key_key.irons_spellbooks.spell_bar_modifier:key.keyboard.left.shift
key_key.irons_spellbooks.spell_quick_cast_1:key.keyboard.unknown
key_key.irons_spellbooks.spell_quick_cast_2:key.keyboard.unknown
key_key.irons_spellbooks.spell_quick_cast_3:key.keyboard.unknown
key_key.irons_spellbooks.spell_quick_cast_4:key.keyboard.unknown
key_key.irons_spellbooks.spell_quick_cast_5:key.keyboard.unknown
key_key.irons_spellbooks.spell_quick_cast_6:key.keyboard.unknown
key_key.irons_spellbooks.spell_quick_cast_7:key.keyboard.unknown
key_key.irons_spellbooks.spell_quick_cast_8:key.keyboard.unknown
key_key.irons_spellbooks.spell_quick_cast_9:key.keyboard.unknown
key_key.irons_spellbooks.spell_quick_cast_10:key.keyboard.unknown
key_key.irons_spellbooks.spell_quick_cast_11:key.keyboard.unknown
key_key.irons_spellbooks.spell_quick_cast_12:key.keyboard.unknown
key_key.irons_spellbooks.spell_quick_cast_13:key.keyboard.unknown
key_key.irons_spellbooks.spell_quick_cast_14:key.keyboard.unknown
key_key.irons_spellbooks.spell_quick_cast_15:key.keyboard.unknown
key_key.presencefootsteps.settings:key.keyboard.f10
key_key.ad_astra.toggle_suit_flight:key.keyboard.h
key_key.ad_astra.open_radio:key.keyboard.r:ALT
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)

"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)

[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)

[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)

[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)

{
  "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)

# 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)

{
  "surfaceMapping": "ALL",
  "caveMapping": "NONE",
  "radarEnabled": "ALL",
  "playerRadarEnabled": "false",
  "mobRadarEnabled": "false",
  "animalRadarEnabled": "false",
  "villagerRadarEnabled": "false"
}