Skip to content

unlock_all_dlc=0 in configs.main.ini is ignored - still shows "unlocking all DLCs" #400

@leallindao

Description

@leallindao

Description

Setting unlock_all_dlc=0 in configs.main.ini has no effect. The emulator still unlocks all DLCs regardless of this setting.

Steps to Reproduce

  1. Create steam_settings/configs.main.ini with:
[main::general]
unlock_all_dlc=0

[main::logs]
enable_debug=1
  1. Create an empty steam_settings/dlc.txt file (or with a single DLC entry like 226860=The Forgotten)

  2. Launch a game (tested with Age of Empires II HD - AppID 221380 and Dave the Diver - AppID 1868140)

  3. Check the debug log

Expected Behavior

With unlock_all_dlc=0, the emulator should:

  • Only unlock DLCs listed in dlc.txt
  • Or lock all DLCs if dlc.txt is empty

According to the original Goldberg documentation:

"If the DLC file is present, the emulator will only unlock the DLCs in that file. If the file is empty all DLCs will be locked."

Actual Behavior

The debug log shows the setting is correctly parsed but then ignored:

[3 ms] load_all_config_settings() [main::general]
[3 ms] load_all_config_settings() unlock_all_dlc=0      <-- Setting is read correctly
...
[5 ms] parse_dlc() unlocking all DLCs                   <-- But ignored here

Debug Log (full relevant section)

[0 ms, 985 us] [tid 57400] DllMain() experimental DLL_PROCESS_ATTACH
[2 ms, 2333 us] [tid 57400] load_all_config_settings() result of parsing global ini 'configs.main.ini' 0 (success == 0)
[2 ms, 2548 us] [tid 57400] load_all_config_settings() result of parsing global ini 'configs.user.ini' 0 (success == 0)
[2 ms, 2714 us] [tid 57400] parse_old_steam_interfaces() Couldn't load steam_interfaces.txt
[2 ms, 2742 us] [tid 57400] load_all_config_settings() final ini start ---------
[2 ms, 2766 us] [tid 57400] load_all_config_settings() [main::connectivity]
[2 ms, 2791 us] [tid 57400] load_all_config_settings() disable_networking=1
[3 ms, 3447 us] [tid 57400] load_all_config_settings() disable_overlay=0
[3 ms, 3473 us] [tid 57400] load_all_config_settings() disable_sharing_stats_with_gameserver=0
[3 ms, 3490 us] [tid 57400] load_all_config_settings() disable_source_query=0
[3 ms, 3503 us] [tid 57400] load_all_config_settings() 
[3 ms, 3516 us] [tid 57400] load_all_config_settings() [main::general]
[3 ms, 3532 us] [tid 57400] load_all_config_settings() allow_unknown_stats=0
[3 ms, 3547 us] [tid 57400] load_all_config_settings() gc_token=0
[3 ms, 3561 us] [tid 57400] load_all_config_settings() new_app_ticket=0
[3 ms, 3576 us] [tid 57400] load_all_config_settings() unlock_all_dlc=0
[3 ms, 3589 us] [tid 57400] load_all_config_settings() 
[3 ms, 3602 us] [tid 57400] load_all_config_settings() [main::logs]
[3 ms, 3616 us] [tid 57400] load_all_config_settings() enable_debug=1
[3 ms, 3629 us] [tid 57400] load_all_config_settings() 
[3 ms, 3642 us] [tid 57400] load_all_config_settings() [main::misc]
[3 ms, 3657 us] [tid 57400] load_all_config_settings() disable_steamoverlaygameid_env_var=0
[3 ms, 3670 us] [tid 57400] load_all_config_settings() 
[3 ms, 3682 us] [tid 57400] load_all_config_settings() [user::general]
[3 ms, 3698 us] [tid 57400] load_all_config_settings() account_name=JOI31
[3 ms, 3712 us] [tid 57400] load_all_config_settings() account_steamid=76561200042531123
[3 ms, 3727 us] [tid 57400] load_all_config_settings() ip_country=BR
[3 ms, 3743 us] [tid 57400] load_all_config_settings() language=brazilian
[3 ms, 3756 us] [tid 57400] load_all_config_settings() 
[3 ms, 3769 us] [tid 57400] load_all_config_settings() final ini end *********
[3 ms, 3783 us] [tid 57400] DllMain() Hooking lan only functions
[3 ms, 3891 us] [tid 57400] load_crack_dll() searching for crack file 'C:\Print\emu-win-debug\debug\steamclient_experimental\cracksteam_api.dll'
[4 ms, 4031 us] [tid 57400] CreateInterface() SteamClient017 00000000
[4 ms, 4682 us] [tid 57400] parse_steam_app_id() str_appid 221380 str_gameid: 221380 str_overlay_gameid: 
[4 ms, 4707 us] [tid 57400] parse_steam_app_id() appid_env 221380 gameid_env: 221380 overlay_gameid: 0
[4 ms, 4721 us] [tid 57400] parse_steam_app_id() final appid = 221380
[4 ms, 4818 us] [tid 57400] parse_alt_steamid_count() Alt Steam ID count: 0
[4 ms, 4890 us] [tid 57400] parse_supported_languages() Forced current language 'brazilian' into supported_languages
[5 ms, 5267 us] [tid 57400] parse_dlc() unlocking all DLCs
[5 ms, 5344 us] [tid 57400] parse_installed_app_Ids() Assuming any app is installed

Environment

  • GSE Version: debug build 297d9cb2e64c515380df2e0f9efde7eccc541f17
  • OS: Windows 10/11
  • Mode: steamclient_experimental (ColdClientLoader)
  • Games tested: Age of Empires II HD (221380), Dave the Diver (1868140)

Additional Context

I also tried:

  • Empty dlc.txt file
  • dlc.txt with single entry (226860=The Forgotten)
  • dlc.txt with fake entry (0=none)

All attempts result in parse_dlc() unlocking all DLCs in the log.

Question

Is unlock_all_dlc supposed to work this way in gbe_fork, or is this a bug? If it's intended behavior, what is the correct way to disable/limit DLC unlocking?

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions