new format for all settings

This commit is contained in:
otavepto 2024-04-20 01:17:32 +02:00
parent 893f566375
commit 455123f487
15 changed files with 622 additions and 607 deletions

View File

@ -22,8 +22,37 @@
//returns game appid //returns game appid
uint32 create_localstorage_settings(Settings **settings_client_out, Settings **settings_server_out, Local_Storage **local_storage_out); uint32 create_localstorage_settings(Settings **settings_client_out, Settings **settings_server_out, Local_Storage **local_storage_out);
void save_global_settings(Local_Storage *local_storage, const char *name, const char *language); void save_global_settings(const char *name, const char *language);
bool settings_disable_lan_only(); bool settings_disable_lan_only();
enum class SettingsItf {
CLIENT,
GAMESERVER_STATS,
GAMESERVER,
MATCHMAKING_SERVERS,
MATCHMAKING,
USER,
FRIENDS,
UTILS,
USER_STATS,
APPS,
NETWORKING,
REMOTE_STORAGE,
SCREENSHOTS,
HTTP,
UNIFIED_MESSAGES,
CONTROLLER,
UGC,
APPLIST,
MUSIC,
MUSIC_REMOTE,
HTML_SURFACE,
INVENTORY,
VIDEO,
MASTERSERVER_UPDATER,
};
const std::map<SettingsItf, std::string>& settings_old_interfaces();
#endif #endif

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,2 @@
1234=DLCNAME
23454=This is another example DLC name

View File

@ -2,14 +2,18 @@
# [app::steam_interfaces] is very important, make sure to always generate this one # [app::steam_interfaces] is very important, make sure to always generate this one
[app::general] [app::general]
# allow the app/game to show the correct build id
# 0 means you're not running a build downloaded from steam
build_id=1234 build_id=1234
# by default the emu will report a `non-beta` branch with the name `public` when the game calls `Steam_Apps::GetCurrentBetaName()`
# make the game/app think we're playing on a beta branch # make the game/app think we're playing on a beta branch
is_beta_branch=0 is_beta_branch=0
# the name of the beta branch
branch_name=public branch_name=public
[app::steam_interfaces] [app::steam_interfaces]
client=SteamClient015 client=SteamClient015
gameserver_stats001=SteamGameServerStats001 gameserver_stats=SteamGameServerStats001
gameserver=SteamGameServer012 gameserver=SteamGameServer012
matchmaking_servers=SteamMatchMakingServers002 matchmaking_servers=SteamMatchMakingServers002
matchmaking=SteamMatchMaking009 matchmaking=SteamMatchMaking009
@ -33,63 +37,8 @@ inventory=STEAMINVENTORY_INTERFACE_V001
video=STEAMVIDEO_INTERFACE_V001 video=STEAMVIDEO_INTERFACE_V001
masterserver_updater=SteamMasterServerUpdater001 masterserver_updater=SteamMasterServerUpdater001
[app::dlc]
unlock_all=0
1234=DLCNAME
23454=This is another example DLC name
[app::stats]
lifetime_experience=int=0
experience=int=0
stat_example_name1=float=3.5
stat_example_name2=int=1337
stat_example_name3=int=0
stat_example_name4=float=0
stat_example_name5=avgrate=0
[app::supported_languages]
english=1
german=1
french=1
spanish=1
schinese=1
russian=1
japanese=1
latam=1
[app::depots]
228986=1
228990=1
814381=1
814382=1
814383=1
1039230=1
[app::paths] [app::paths]
556760=../DLCRoot0 556760=../DLCRoot0
1234=./folder_where_steam_api_is 1234=./folder_where_steam_api_is
3456=../folder_one_level_above_where_steam_api_is 3456=../folder_one_level_above_where_steam_api_is
5678=../../folder_two_levels_above_where_steam_api_is 5678=../../folder_two_levels_above_where_steam_api_is
[app::leaderboards]
LEADERBOARD1=0=0
LEADERBOARDX=1=1
LEADERBOARDTEST=0=0
# app ids that should be reported as installed, they don't have to be owned
# app ID 4294967295 is disallowed
[app::installed_app_ids]
assume_any_app_is_installed=0
480=1
730=1
570=1
420=1
[app::subscribed_groups]
103582791433980119=1
103582791438562929=1
103582791441335905=1
103582791460014708=1
[app::subscribed_groups_clans]
000000000000000000=Group Name=Clan Tag

View File

@ -8,11 +8,11 @@ gc_token=1
# pretend the app is running on a steam deck # pretend the app is running on a steam deck
steam_deck=0 steam_deck=0
# disable avatar functionality # disable avatar functionality
disable_account_avatar=0 disable_account_avatar=1
# prevent Steam_User_Stats::FindLeaderboard() from always succeeding and creating the unknown leaderboard # prevent Steam_User_Stats::FindLeaderboard() from always succeeding and creating the unknown leaderboard
# not recommended to disable this # not recommended to disable this
disable_leaderboards_create_unknown=0 disable_leaderboards_create_unknown=0
# synchronize user stats/achievements with game servers as soon as possible instead of caching them # synchronize user stats/achievements with game servers as soon as possible instead of caching them until the next call to `Steam_RunCallbacks()`
# not recommended # not recommended
immediate_gameserver_stats=0 immediate_gameserver_stats=0
# use the proper type of the server list (internet, friends, etc...) when requested by the game # use the proper type of the server list (internet, friends, etc...) when requested by the game
@ -22,6 +22,8 @@ matchmaking_server_list_actual_type=0
# grab the server details for match making using an actual server query # grab the server details for match making using an actual server query
# not recommended # not recommended
matchmaking_server_details_via_source_query=0 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=./path/relative/to/dll/crashes.txt crash_printer_location=./path/relative/to/dll/crashes.txt
[main::connectivity] [main::connectivity]
@ -30,9 +32,12 @@ crash_printer_location=./path/relative/to/dll/crashes.txt
disable_lan_only=0 disable_lan_only=0
# disable all steam networking interface functionality # disable all steam networking interface functionality
# this won't prevent games/apps from making external requests # 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 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 listen_port=47584
# pretend steam is running in offline mode # 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 offline=0
# prevent sharing stats and achievements with any game server, # prevent sharing stats and achievements with any game server,
# this also disables the interface ISteamGameServerStats # this also disables the interface ISteamGameServerStats
@ -43,19 +48,13 @@ disable_source_query=0
share_leaderboards_over_network=0 share_leaderboards_over_network=0
# prevent lobby creation in steam matchmaking interface # prevent lobby creation in steam matchmaking interface
disable_lobby_creation=0 disable_lobby_creation=0
# attempt to download external HTTP(S) requests made via Steam_HTTP::SendHTTPRequest() # attempt to download external HTTP(S) requests made via Steam_HTTP::SendHTTPRequest() inside "steam_settings/http/"
# make sure to: # make sure to:
# * set disable_lan_only=1 # * set disable_lan_only=1
# * set disable_networking=0 # * set disable_networking=0
# this will **not** work if the app is using native/OS web APIs
download_steamhttp_requests=0 download_steamhttp_requests=0
[main::connectivity::custom_broadcasts]
192.168.3.255=1
127.8.9.10=1
192.168.66.99=1
192.168.7.99=1
removethis.test.domain.com=1
# mostly workarounds for specific problems # mostly workarounds for specific problems
[main::misc] [main::misc]
# force SetAchievement() to always return true # force SetAchievement() to always return true

View File

@ -9,7 +9,7 @@
[overlay::general] [overlay::general]
# enable the experimental overlay, might cause crashes # enable the experimental overlay, might cause crashes
enable_experimental_overlay=0 enable_experimental_overlay=0
# amount of time to wait before attempting to detect the renderer (DirectX, OpenGL, etc...) and start its hook # amount of time to wait before attempting to detect and hook the renderer (DirectX, OpenGL, etc...)
# default=0 # default=0
hook_delay_sec=0 hook_delay_sec=0
# timeout for the renderer detector # timeout for the renderer detector
@ -23,15 +23,13 @@ disable_friend_notification=0
disable_warning_any=0 disable_warning_any=0
# disable the bad app ID warning in the overlay # disable the bad app ID warning in the overlay
disable_warning_bad_appid=0 disable_warning_bad_appid=0
# disable the "WARNING Some steam_settings/force_*.txt files have been detected" warning in the overlay
disable_warning_forced_setting=0
# disable the local_save warning in the overlay # disable the local_save warning in the overlay
disable_warning_local_save=0 disable_warning_local_save=0
[overlay::appearance] [overlay::appearance]
# load custom TrueType font from a path, it could be absolute, or relative # load custom TrueType font from a path, it could be absolute, or relative
# relative paths will be looked up inside the local folder "steam_settings/fonts" first, # relative paths will be looked up inside the local folder "steam_settings/fonts" first,
# if that wasn't found, it will be looked up inside the global folder "Goldberg SteamEmu Settings/settings/fonts" # if that wasn't found, it will be looked up inside the global folder "GSE Settings/settings/fonts"
Font_Override=BungeeSpice-Regular.ttf Font_Override=BungeeSpice-Regular.ttf
# global font size # global font size
# for built-in font, multiple of 16 is recommended. e.g. 16 32... # for built-in font, multiple of 16 is recommended. e.g. 16 32...

View File

@ -1,15 +1,23 @@
# you do not have to specify everything, pick and choose the options you need only # you do not have to specify everything, pick and choose the options you need only
[user::general] [user::general]
account_name=orca # user account name
account_name=gse orca
# Steam64 format # Steam64 format
account_steamid=76561197960287930 account_steamid=76561197960287930
# the language reported to the app/game
# look for the column 'API language code' here: https://partner.steamgames.com/doc/store/localization/languages
# default=english
language=english language=english
# report a country IP if the game queries it
# ISO 3166-1-alpha-2 format, use this link to get the 'Alpha-2' country code: https://www.iban.com/country-codes
# default=US
ip_country=US ip_country=US
[user::saves] [user::saves]
# name of the base folder used to store save data, leading and trailing whitespaces are trimmed # name of the base folder used to store save data, leading and trailing whitespaces are trimmed
# default=GSE Saves # default=GSE Saves
saves_folder_name=GSE Saves saves_folder_name=GSE Saves
# when this is set, it will force the emu to use the specified location instead of the default global location
# path could be absolute, or relative to the location of the .dll/.so
local_save_path=./path/relative/to/dll local_save_path=./path/relative/to/dll

View File

@ -0,0 +1,5 @@
192.168.3.255
127.8.9.10
192.168.66.99
192.168.7.99
removethis.test.domain.com

View File

@ -0,0 +1,6 @@
228986
228990
814381
814382
814383
1039230

View File

@ -0,0 +1,8 @@
1. Rename this to: installed_app_ids.txt
2. Add all apps IDs (each on a separate line) that should be reported as insatlled, they could be NOT owned, that is allowed
3. Or, remove the file installed_app_ids.txt if it exists to:
* Allow app ID 0, this seems to be a special denotation to "non-steam apps"
* Allow app ID of the current game (you must create the file steam_appid.txt)
* Allow anything else
In all cases app ID 4294967295 is disallowed

View File

@ -0,0 +1,3 @@
LEADERBOARD1=0=0
LEADERBOARDX=1=1
LEADERBOARDTEST=0=0

View File

@ -0,0 +1,7 @@
lifetime_experience=int=0
experience=int=0
stat_example_name1=float=3.5
stat_example_name2=int=1337
stat_example_name3=int=0
stat_example_name4=float=0
stat_example_name5=avgrate=0

View File

@ -0,0 +1,4 @@
103582791433980119
103582791438562929
103582791441335905
103582791460014708

View File

@ -0,0 +1 @@
000000000000000000 Group Name Clan Tag

View File

@ -0,0 +1,8 @@
english
german
french
spanish
schinese
russian
japanese
latam