* add `-def1` ... `-def5` arguments, which can be used to generate your preferred custom config if no `-def` argument is provided, `-def1` will be used by default, to automatically copy from the following folders: * `.\_DEFAULT\0` ............... essential emu files, like latest GSE dlls (*steam_api.dll* and *steam_api64.dll*) * `.\_DEFAULT\1` ............... other GSE files and folders, including default ini files * `.\_DEFAULT\<appid>` ... other GSE files and folders, but only for the current `<appid>`, if the folder exists * (Windows only) add some useful helper tools, written in *AutoIt3*: * **gse_acw_helper.exe** - add the required achievements schema db files for *Achievement Watcher*, if .\steam_misc\extra_acw\extra_acw.zip file exists (if generated by `generate_emu_config.exe -acw <appid>`) * **gse_debug_switch.exe** - automatically switch between release and debug versions of the emulator, if *steam_api.7z* / *steam_api64.7z* file exists (or *steamclient.7z* / *steamclient64.7z*, if you use the steamclient version) paths to release and debug files inside 7z, can be customized in .\steam_misc\tools\au3\scripts\gse_debug_switch.ini * **gse_generate_interfaces.exe** - simple x64-x86 launcher for *generate_interfaces.exe* it also writes all found steam interfaces to CODEX *steam_emu.ini* (if generated by `generate_emu_config -cdx <appid>`) make sure to name your original dll to one of these formats, so it can automatically find its interfaces: * `valve_api.dll / valve_api64.dll` * `steam_api.dll.bak / steam_api64.dll.bak` or `steam_api.dll.org / steam_api64.dll.org` * `steam_api.bak / steam_api64.bak` or `steam_api.org / steam_api64.org` * `steam_api_orig.dll / steam_api64_orig.dll` or `steam_api_legit.dll / steam_api64_legit.dll` * **gse_lobby_connect.exe** - simple x64-x86 launcher for *lobby_connect.exe* * new folder structure, compatible with current and future helper tools --- default arguments are `-acw -cdx -clr <appid>` NEVER delete `.\steam_misc\app_backup`, `.\steam_misc\app_info`, `.\steam_misc\tools` and `.\steam_settings` folders MIGHT need `.\steam_misc\extra_acw` and `.\steam_misc\extra_cdx` for compatibility with Achievement Watcher and CODEX * add `-scx` argument to automatically download images / videos for trading cards, backgrounds, badges, emoticons and other tradable items unfortunately I couldn't find any direct steam api method to download the files, so I had to write a rudimentary web scrapper to extract the download links from a third-party website, hence the *scx_gen.py* script might need updating in the future if the website design changes * download screenshots and videos: * download thumbnails for both screenshots and videos, and compress them to `.zip` files * screenshots and videos are now numbered from first to last published, as in the Steam store page * add `-vids_low` / `-vids_max` arguments to download all videos, in low and / or high quality * create / update .\\*top_owners_ids.txt* when .\\*top_owners_ids.html* is present * generate controller action sets txt files for all found controller vdf configs, and zip them inside .\steam_misc\app_backup\app_backup.zip by default, the emu supports only `xboxone` and `xbox360` controller configs, though if the're are any issues with the default supported controller action sets inside .\steam_settings\controller folder, you could try to unpack and overwrite action sets for other unsupported controller configs * (Windows only) add *AdvancedRun* launchers (cmd console + silent) for `.bat` files and `.py` scripts * **[alex47exe]** major overhaul of **migrate_gse** - uses the same `.\_DEFAULT\0` and `.\_DEFAULT\1` folder structure for default configs it can convert old `.txt` format to `.ini` format, minus *branches.json*, which would require using *top_owners_ids.txt* and some login code from **generate_emu_config**, which should actually be used to properly generate the config files, instead of converting from the old `.txt` format * [alex47exe] *generate_interfaces.exe* - find all Steam Interfaces instead of only old ones the emu will ignore the ones it doesn't require, while we'll have the complete list to write it to CODEX *steam_emu.ini* * [alex47exe] *lobby_connect.exe* - improve cmd console text alignment * [alex47exe] `mods_img` instead of `mod_images` (better folder consistency), better example for `mods_img`, minor tweaks to `.ini` and `.md` files
81 lines
4.5 KiB
INI
81 lines
4.5 KiB
INI
# ################################################################################ #
|
|
# you do not have to specify everything, pick and choose the options you need only #
|
|
# ################################################################################ #
|
|
|
|
[main::general]
|
|
# generate new app auth ticket
|
|
new_app_ticket=1
|
|
# generate/embed GC token inside new app ticket
|
|
gc_token=1
|
|
# pretend the app is running on a steam deck
|
|
steam_deck=0
|
|
# enable avatar functionality
|
|
enable_account_avatar=0
|
|
# prevent Steam_User_Stats::FindLeaderboard() from always succeeding and creating the unknown leaderboard
|
|
# default=0, not recommended to change it
|
|
disable_leaderboards_create_unknown=0
|
|
# by default, the emu will only save/update stats defined in 'stats.txt', unknown stats requested or updated by the game will be rejected
|
|
# set this to 1 to allow unknown stats
|
|
allow_unknown_stats=0
|
|
# if 0, whenever a game updates a stat which is tied to an achievement progress, the emu will save that stat progress immediately
|
|
# some games will update the stat very frequently (with lower & higher values) resulting in a spam of disk writes or overlay notifications
|
|
# set this to 1 to save stat progress only on higher progress value, thus avoiding spam of disk writes or overlay notifications
|
|
# this has no impact on the stat itself, only the achievement progress of a stat tied to an achievement progress
|
|
# also, this has no impact on the functions which directly change stats, achievements, or achievements progress
|
|
save_only_higher_stat_achievement_progress=1
|
|
# synchronize user stats/achievements with game servers as soon as possible instead of caching them until the next call to `Steam_RunCallbacks()`
|
|
# default=0, not recommended to change it
|
|
immediate_gameserver_stats=0
|
|
# use the proper type of the server list (internet, friends, etc...) when requested by the game
|
|
# otherwise, the emu will always return the type 'LAN server'
|
|
# default=0, not recommended to change it
|
|
matchmaking_server_list_actual_type=0
|
|
# grab the server details for match making using an actual server query
|
|
# default=0, not recommended to change it
|
|
matchmaking_server_details_via_source_query=0
|
|
# very basic crash logger/printer
|
|
# this is intended to debug some annoying scenarios, and best used with the debug build of the emu
|
|
crash_printer_location=./EMU_CRASHES.txt
|
|
|
|
[main::connectivity]
|
|
# prevent hooking OS networking APIs and allow any external requests
|
|
# only used by the experimental builds on Windows
|
|
disable_lan_only=1
|
|
# disable all steam networking interface functionality - this won't prevent games/apps from making external requests
|
|
# networking related functionality like lobbies or those that launch a server in the background will not work
|
|
disable_networking=0
|
|
# change the UDP/TCP port the emulator listens on, you should probably not change this because everyone needs to use the same port or you won't find yourselves on the network
|
|
listen_port=47584
|
|
# pretend steam is running in offline mode; some games that connect to online servers might only work if the steam emu behaves like steam is in offline mode
|
|
offline=0
|
|
# prevent sharing stats and achievements with any game server, also disables the interface ISteamGameServerStats
|
|
disable_sharing_stats_with_gameserver=0
|
|
# do not send server details to the server browser, only works for game servers
|
|
disable_source_query=0
|
|
# enable sharing leaderboards scores with people playing the same game on the same network
|
|
share_leaderboards_over_network=0
|
|
# prevent lobby creation in steam matchmaking interface
|
|
disable_lobby_creation=0
|
|
# attempt to download external HTTP(S) requests made via Steam_HTTP::SendHTTPRequest() inside "steam_settings/http/"
|
|
# make sure to:
|
|
# * set disable_lan_only=1
|
|
# * set disable_networking=0
|
|
# this will **not** work if the app is using native/OS web APIs
|
|
download_steamhttp_requests=1
|
|
|
|
############################################
|
|
# mostly workarounds for specific problems #
|
|
############################################
|
|
|
|
[main::misc]
|
|
# force SetAchievement() to always return true
|
|
achievements_bypass=0
|
|
# force the function Steam_HTTP::SendHTTPRequest() to always succeed
|
|
force_steamhttp_success=0
|
|
# env var SteamOverlayGameId breaks Steam Input when the game is added to Steam as a non-steam game
|
|
disable_steamoverlaygameid_env_var=1
|
|
# add many Steam apps to the list of owned DLCs and the emu's list of installed app IDs, useful for many Source-based games
|
|
# https://developer.valvesoftware.com/wiki/Steam_Application_IDs
|
|
# https://developer.valvesoftware.com/wiki/Dedicated_Servers_List
|
|
enable_steam_preowned_ids=0
|