fix generate_emu_config login, thanks to Sak32009

replace 'client_id' error with simple 'wrong username and / or password' message, asking for correct username and / or password
add pcgw_page script to download PCGamingWiki page (source code only), not yet enabled in main script
generate steam_emu.ini for CODEX and RUNE versions, update gse_generate_interfaces
This commit is contained in:
alex47exe 2024-10-14 00:24:49 +01:00
parent 9c18c68ce9
commit 3ccce93a74
18 changed files with 541 additions and 157 deletions

View File

@ -106,95 +106,106 @@ FileWrite($hFile,$sNew)
FileClose($hFile) FileClose($hFile)
$interfaces_ini = @ScriptDir & '\steam_settings\steam_interfaces.ini' $interfaces_ini = @ScriptDir & '\steam_settings\steam_interfaces.ini'
$codex_ini = @ScriptDir & '\steam_misc\extra_cdx\steam_emu.ini'
If FileExists($codex_ini) Then $codex_ini = @ScriptDir & '\steam_misc\extra_cdx\CODEX\steam_emu.ini'
_AddInterfaces($codex_ini)
_ReplaceStringInFile($interfaces_ini, 'STEAMAPPLIST_', 'SteamAppList=STEAMAPPLIST_', 1, 1) $rune_ini = @ScriptDir & '\steam_misc\extra_cdx\RUNE\steam_emu.ini'
_ReplaceStringInFile($interfaces_ini, 'STEAMAPPS_', 'SteamApps=STEAMAPPS_', 1, 1) _AddInterfaces($rune_ini)
_ReplaceStringInFile($interfaces_ini, 'STEAMAPPTICKET_', 'SteamAppTicket=STEAMAPPTICKET_', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'SteamClient', 'SteamClient=SteamClient', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'SteamController', 'SteamController=SteamController', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'SteamFriends', 'SteamFriends=SteamFriends', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'SteamGameCoordinator', 'SteamGameCoordinator=SteamGameCoordinator', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'SteamGameServerStats', 'Steam_Game_Server_Stats=Steam_Game_Server_Stats', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'SteamGameServer', 'SteamGameServer=SteamGameServer', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'Steam_Game_Server_Stats', 'SteamGameServerStats', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'SteamGameStats', 'SteamGameStats=SteamGameStats', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'STEAMHTMLSURFACE_', 'SteamHTMLSurface=STEAMHTMLSURFACE_', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'STEAMHTTP_', 'SteamHTTP=STEAMHTTP_', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'SteamInput', 'SteamInput=SteamInput', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'STEAMINVENTORY_', 'SteamInventory=STEAMINVENTORY_', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'SteamMasterServerUpdater', 'SteamMasterServerUpdater=SteamMasterServerUpdater', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'SteamMatchGameSearch', 'SteamMatchGameSearch=SteamMatchGameSearch', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'SteamMatchMakingServers', 'Steam_Match_Making_Servers=Steam_Match_Making_Servers', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'SteamMatchMaking', 'SteamMatchMaking=SteamMatchMaking', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'Steam_Match_Making_Servers', 'SteamMatchMakingServers', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'STEAMMUSIC_', 'SteamMusic=STEAMMUSIC_', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'STEAMMUSICREMOTE_', 'SteamMusicRemote=STEAMMUSICREMOTE_', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'SteamNetworkingMessages', 'Steam_Networking_Messages=Steam_Networking_Messages', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'SteamNetworkingSocketsSerialized', 'Steam_Networking_Sockets_Serialized=Steam_Networking_Sockets_Serialized', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'SteamNetworkingSockets', 'Steam_Networking_Sockets=Steam_Networking_Sockets', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'SteamNetworkingUtils', 'Steam_Networking_Utils=Steam_Networking_Utils', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'SteamNetworking', 'SteamNetworking=SteamNetworking', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'Steam_Networking_Messages', 'SteamNetworkingMessages', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'Steam_Networking_Sockets_Serialized', 'SteamNetworkingSocketsSerialized', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'Steam_Networking_Sockets', 'SteamNetworkingSockets', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'Steam_Networking_Utils', 'SteamNetworkingUtils', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'STEAMPARENTALSETTINGS_', 'SteamParentalSettings=STEAMPARENTALSETTINGS_', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'SteamParties', 'SteamParties=SteamParties', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'STEAMREMOTEPLAY_', 'SteamRemotePlay=STEAMREMOTEPLAY_', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'STEAMREMOTESTORAGE_', 'SteamRemoteStorage=STEAMREMOTESTORAGE_', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'STEAMSCREENSHOTS_', 'SteamScreenshots=STEAMSCREENSHOTS_', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'STEAMTIMELINE_', 'SteamTimeline=STEAMTIMELINE_', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'STEAMTV_', 'SteamTV=STEAMTV_', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'STEAMUGC_', 'SteamUGC=STEAMUGC_', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'STEAMUNIFIEDMESSAGES_', 'SteamUnifiedMessages=STEAMUNIFIEDMESSAGES_', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'STEAMUSERSTATS_', 'Steam_User_Stats=STEAMUSERSTATS_', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'SteamUser', 'SteamUser=SteamUser', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'Steam_User_Stats', 'SteamUserStats', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'SteamUtils', 'SteamUtils=SteamUtils', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'STEAMVIDEO_', 'SteamVideo=STEAMVIDEO_', 1, 1)
IniWrite($codex_ini, 'Interfaces', 'SteamAppList', IniRead($interfaces_ini, 'steam_interfaces', 'SteamAppList', ''))
IniWrite($codex_ini, 'Interfaces', 'SteamApps', IniRead($interfaces_ini, 'steam_interfaces', 'SteamApps', ''))
IniWrite($codex_ini, 'Interfaces', 'SteamAppTicket', IniRead($interfaces_ini, 'steam_interfaces', 'SteamAppTicket', ''))
IniWrite($codex_ini, 'Interfaces', 'SteamClient', IniRead($interfaces_ini, 'steam_interfaces', 'SteamClient', ''))
IniWrite($codex_ini, 'Interfaces', 'SteamController', IniRead($interfaces_ini, 'steam_interfaces', 'SteamController', ''))
IniWrite($codex_ini, 'Interfaces', 'SteamFriends', IniRead($interfaces_ini, 'steam_interfaces', 'SteamFriends', ''))
IniWrite($codex_ini, 'Interfaces', 'SteamGameCoordinator', IniRead($interfaces_ini, 'steam_interfaces', 'SteamGameCoordinator', ''))
IniWrite($codex_ini, 'Interfaces', 'SteamGameServerStats', IniRead($interfaces_ini, 'steam_interfaces', 'SteamGameServerStats', ''))
IniWrite($codex_ini, 'Interfaces', 'SteamGameServer', IniRead($interfaces_ini, 'steam_interfaces', 'SteamGameServer', ''))
IniWrite($codex_ini, 'Interfaces', 'SteamGameStats', IniRead($interfaces_ini, 'steam_interfaces', 'SteamGameStats', ''))
IniWrite($codex_ini, 'Interfaces', 'SteamHTMLSurface', IniRead($interfaces_ini, 'steam_interfaces', 'SteamHTMLSurface', ''))
IniWrite($codex_ini, 'Interfaces', 'SteamHTTP', IniRead($interfaces_ini, 'steam_interfaces', 'SteamHTTP', ''))
IniWrite($codex_ini, 'Interfaces', 'SteamInput', IniRead($interfaces_ini, 'steam_interfaces', 'SteamInput', ''))
IniWrite($codex_ini, 'Interfaces', 'SteamInventory', IniRead($interfaces_ini, 'steam_interfaces', 'SteamInventory', ''))
IniWrite($codex_ini, 'Interfaces', 'SteamMasterServerUpdater', IniRead($interfaces_ini, 'steam_interfaces', 'SteamMasterServerUpdater', ''))
IniWrite($codex_ini, 'Interfaces', 'SteamMatchGameSearch', IniRead($interfaces_ini, 'steam_interfaces', 'SteamMatchGameSearch', ''))
IniWrite($codex_ini, 'Interfaces', 'SteamMatchMakingServers', IniRead($interfaces_ini, 'steam_interfaces', 'SteamMatchMakingServers', ''))
IniWrite($codex_ini, 'Interfaces', 'SteamMatchMaking', IniRead($interfaces_ini, 'steam_interfaces', 'SteamMatchMaking', ''))
IniWrite($codex_ini, 'Interfaces', 'SteamMusic', IniRead($interfaces_ini, 'steam_interfaces', 'SteamMusic', ''))
IniWrite($codex_ini, 'Interfaces', 'SteamMusicRemote', IniRead($interfaces_ini, 'steam_interfaces', 'SteamMusicRemote', ''))
IniWrite($codex_ini, 'Interfaces', 'SteamNetworkingMessages', IniRead($interfaces_ini, 'steam_interfaces', 'SteamNetworkingMessages', ''))
IniWrite($codex_ini, 'Interfaces', 'SteamNetworkingSocketsSerialized', IniRead($interfaces_ini, 'steam_interfaces', 'SteamNetworkingSocketsSerialized', ''))
IniWrite($codex_ini, 'Interfaces', 'SteamNetworkingSockets', IniRead($interfaces_ini, 'steam_interfaces', 'SteamNetworkingSockets', ''))
IniWrite($codex_ini, 'Interfaces', 'SteamNetworkingUtils', IniRead($interfaces_ini, 'steam_interfaces', 'SteamNetworkingUtils', ''))
IniWrite($codex_ini, 'Interfaces', 'SteamNetworking', IniRead($interfaces_ini, 'steam_interfaces', 'SteamNetworking', ''))
IniWrite($codex_ini, 'Interfaces', 'SteamParentalSettings', IniRead($interfaces_ini, 'steam_interfaces', 'SteamParentalSettings', ''))
IniWrite($codex_ini, 'Interfaces', 'SteamParties', IniRead($interfaces_ini, 'steam_interfaces', 'SteamParties', ''))
IniWrite($codex_ini, 'Interfaces', 'SteamRemotePlay', IniRead($interfaces_ini, 'steam_interfaces', 'SteamRemotePlay', ''))
IniWrite($codex_ini, 'Interfaces', 'SteamRemoteStorage', IniRead($interfaces_ini, 'steam_interfaces', 'SteamRemoteStorage', ''))
IniWrite($codex_ini, 'Interfaces', 'SteamScreenshots', IniRead($interfaces_ini, 'steam_interfaces', 'SteamScreenshots', ''))
IniWrite($codex_ini, 'Interfaces', 'SteamTimeline', IniRead($interfaces_ini, 'steam_interfaces', 'SteamTimeline', ''))
IniWrite($codex_ini, 'Interfaces', 'SteamTV', IniRead($interfaces_ini, 'steam_interfaces', 'SteamTV', ''))
IniWrite($codex_ini, 'Interfaces', 'SteamUGC', IniRead($interfaces_ini, 'steam_interfaces', 'SteamUGC', ''))
IniWrite($codex_ini, 'Interfaces', 'SteamUnifiedMessages', IniRead($interfaces_ini, 'steam_interfaces', 'SteamUnifiedMessages', ''))
IniWrite($codex_ini, 'Interfaces', 'SteamUserStats', IniRead($interfaces_ini, 'steam_interfaces', 'SteamUserStats', ''))
IniWrite($codex_ini, 'Interfaces', 'SteamUser', IniRead($interfaces_ini, 'steam_interfaces', 'SteamUser', ''))
IniWrite($codex_ini, 'Interfaces', 'SteamUtils', IniRead($interfaces_ini, 'steam_interfaces', 'SteamUtils', ''))
IniWrite($codex_ini, 'Interfaces', 'SteamVideo', IniRead($interfaces_ini, 'steam_interfaces', 'SteamVideo', ''))
EndIf
FileDelete($interfaces_ini) FileDelete($interfaces_ini)
Func _AddInterfaces($crack_ini)
If FileExists($crack_ini) Then
_ReplaceStringInFile($interfaces_ini, 'SteamAppDisableUpdate', 'SteamAppDisableUpdate=SteamAppDisableUpdate', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'STEAMAPPLIST_', 'SteamAppList=STEAMAPPLIST_', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'STEAMAPPS_', 'SteamApps=STEAMAPPS_', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'STEAMAPPTICKET_', 'SteamAppTicket=STEAMAPPTICKET_', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'SteamClient', 'SteamClient=SteamClient', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'SteamController', 'SteamController=SteamController', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'SteamFriends', 'SteamFriends=SteamFriends', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'SteamGameCoordinator', 'SteamGameCoordinator=SteamGameCoordinator', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'SteamGameServerStats', 'Steam_Game_Server_Stats=Steam_Game_Server_Stats', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'SteamGameServer', 'SteamGameServer=SteamGameServer', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'Steam_Game_Server_Stats', 'SteamGameServerStats', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'SteamGameStats', 'SteamGameStats=SteamGameStats', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'STEAMHTMLSURFACE_', 'SteamHTMLSurface=STEAMHTMLSURFACE_', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'STEAMHTTP_', 'SteamHTTP=STEAMHTTP_', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'SteamInput', 'SteamInput=SteamInput', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'STEAMINVENTORY_', 'SteamInventory=STEAMINVENTORY_', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'SteamMasterServerUpdater', 'SteamMasterServerUpdater=SteamMasterServerUpdater', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'SteamMatchGameSearch', 'SteamMatchGameSearch=SteamMatchGameSearch', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'SteamMatchMakingServers', 'Steam_Match_Making_Servers=Steam_Match_Making_Servers', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'SteamMatchMaking', 'SteamMatchMaking=SteamMatchMaking', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'Steam_Match_Making_Servers', 'SteamMatchMakingServers', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'STEAMMUSIC_', 'SteamMusic=STEAMMUSIC_', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'STEAMMUSICREMOTE_', 'SteamMusicRemote=STEAMMUSICREMOTE_', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'SteamNetworkingMessages', 'Steam_Networking_Messages=Steam_Networking_Messages', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'SteamNetworkingSocketsSerialized', 'Steam_Networking_Sockets_Serialized=Steam_Networking_Sockets_Serialized', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'SteamNetworkingSockets', 'Steam_Networking_Sockets=Steam_Networking_Sockets', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'SteamNetworkingUtils', 'Steam_Networking_Utils=Steam_Networking_Utils', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'SteamNetworking', 'SteamNetworking=SteamNetworking', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'Steam_Networking_Messages', 'SteamNetworkingMessages', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'Steam_Networking_Sockets_Serialized', 'SteamNetworkingSocketsSerialized', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'Steam_Networking_Sockets', 'SteamNetworkingSockets', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'Steam_Networking_Utils', 'SteamNetworkingUtils', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'STEAMPARENTALSETTINGS_', 'SteamParentalSettings=STEAMPARENTALSETTINGS_', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'SteamParties', 'SteamParties=SteamParties', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'STEAMREMOTEPLAY_', 'SteamRemotePlay=STEAMREMOTEPLAY_', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'STEAMREMOTESTORAGE_', 'SteamRemoteStorage=STEAMREMOTESTORAGE_', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'STEAMSCREENSHOTS_', 'SteamScreenshots=STEAMSCREENSHOTS_', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'STEAMTIMELINE_', 'SteamTimeline=STEAMTIMELINE_', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'STEAMTV_', 'SteamTV=STEAMTV_', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'STEAMUGC_', 'SteamUGC=STEAMUGC_', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'STEAMUNIFIEDMESSAGES_', 'SteamUnifiedMessages=STEAMUNIFIEDMESSAGES_', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'STEAMUSERSTATS_', 'Steam_User_Stats=STEAMUSERSTATS_', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'SteamUser', 'SteamUser=SteamUser', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'Steam_User_Stats', 'SteamUserStats', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'SteamUtils', 'SteamUtils=SteamUtils', 1, 1)
_ReplaceStringInFile($interfaces_ini, 'STEAMVIDEO_', 'SteamVideo=STEAMVIDEO_', 1, 1)
IniWrite($crack_ini, 'Interfaces', 'SteamAppDisableUpdate', IniRead($interfaces_ini, 'steam_interfaces', 'SteamAppDisableUpdate', ''))
IniWrite($crack_ini, 'Interfaces', 'SteamAppList', IniRead($interfaces_ini, 'steam_interfaces', 'SteamAppList', ''))
IniWrite($crack_ini, 'Interfaces', 'SteamApps', IniRead($interfaces_ini, 'steam_interfaces', 'SteamApps', ''))
IniWrite($crack_ini, 'Interfaces', 'SteamAppTicket', IniRead($interfaces_ini, 'steam_interfaces', 'SteamAppTicket', ''))
IniWrite($crack_ini, 'Interfaces', 'SteamClient', IniRead($interfaces_ini, 'steam_interfaces', 'SteamClient', ''))
IniWrite($crack_ini, 'Interfaces', 'SteamController', IniRead($interfaces_ini, 'steam_interfaces', 'SteamController', ''))
IniWrite($crack_ini, 'Interfaces', 'SteamFriends', IniRead($interfaces_ini, 'steam_interfaces', 'SteamFriends', ''))
IniWrite($crack_ini, 'Interfaces', 'SteamGameCoordinator', IniRead($interfaces_ini, 'steam_interfaces', 'SteamGameCoordinator', ''))
IniWrite($crack_ini, 'Interfaces', 'SteamGameServerStats', IniRead($interfaces_ini, 'steam_interfaces', 'SteamGameServerStats', ''))
IniWrite($crack_ini, 'Interfaces', 'SteamGameServer', IniRead($interfaces_ini, 'steam_interfaces', 'SteamGameServer', ''))
IniWrite($crack_ini, 'Interfaces', 'SteamGameStats', IniRead($interfaces_ini, 'steam_interfaces', 'SteamGameStats', ''))
IniWrite($crack_ini, 'Interfaces', 'SteamHTMLSurface', IniRead($interfaces_ini, 'steam_interfaces', 'SteamHTMLSurface', ''))
IniWrite($crack_ini, 'Interfaces', 'SteamHTTP', IniRead($interfaces_ini, 'steam_interfaces', 'SteamHTTP', ''))
IniWrite($crack_ini, 'Interfaces', 'SteamInput', IniRead($interfaces_ini, 'steam_interfaces', 'SteamInput', ''))
IniWrite($crack_ini, 'Interfaces', 'SteamInventory', IniRead($interfaces_ini, 'steam_interfaces', 'SteamInventory', ''))
IniWrite($crack_ini, 'Interfaces', 'SteamMasterServerUpdater', IniRead($interfaces_ini, 'steam_interfaces', 'SteamMasterServerUpdater', ''))
IniWrite($crack_ini, 'Interfaces', 'SteamMatchGameSearch', IniRead($interfaces_ini, 'steam_interfaces', 'SteamMatchGameSearch', ''))
IniWrite($crack_ini, 'Interfaces', 'SteamMatchMakingServers', IniRead($interfaces_ini, 'steam_interfaces', 'SteamMatchMakingServers', ''))
IniWrite($crack_ini, 'Interfaces', 'SteamMatchMaking', IniRead($interfaces_ini, 'steam_interfaces', 'SteamMatchMaking', ''))
IniWrite($crack_ini, 'Interfaces', 'SteamMusic', IniRead($interfaces_ini, 'steam_interfaces', 'SteamMusic', ''))
IniWrite($crack_ini, 'Interfaces', 'SteamMusicRemote', IniRead($interfaces_ini, 'steam_interfaces', 'SteamMusicRemote', ''))
IniWrite($crack_ini, 'Interfaces', 'SteamNetworkingMessages', IniRead($interfaces_ini, 'steam_interfaces', 'SteamNetworkingMessages', ''))
IniWrite($crack_ini, 'Interfaces', 'SteamNetworkingSocketsSerialized', IniRead($interfaces_ini, 'steam_interfaces', 'SteamNetworkingSocketsSerialized', ''))
IniWrite($crack_ini, 'Interfaces', 'SteamNetworkingSockets', IniRead($interfaces_ini, 'steam_interfaces', 'SteamNetworkingSockets', ''))
IniWrite($crack_ini, 'Interfaces', 'SteamNetworkingUtils', IniRead($interfaces_ini, 'steam_interfaces', 'SteamNetworkingUtils', ''))
IniWrite($crack_ini, 'Interfaces', 'SteamNetworking', IniRead($interfaces_ini, 'steam_interfaces', 'SteamNetworking', ''))
IniWrite($crack_ini, 'Interfaces', 'SteamParentalSettings', IniRead($interfaces_ini, 'steam_interfaces', 'SteamParentalSettings', ''))
IniWrite($crack_ini, 'Interfaces', 'SteamParties', IniRead($interfaces_ini, 'steam_interfaces', 'SteamParties', ''))
IniWrite($crack_ini, 'Interfaces', 'SteamRemotePlay', IniRead($interfaces_ini, 'steam_interfaces', 'SteamRemotePlay', ''))
IniWrite($crack_ini, 'Interfaces', 'SteamRemoteStorage', IniRead($interfaces_ini, 'steam_interfaces', 'SteamRemoteStorage', ''))
IniWrite($crack_ini, 'Interfaces', 'SteamScreenshots', IniRead($interfaces_ini, 'steam_interfaces', 'SteamScreenshots', ''))
IniWrite($crack_ini, 'Interfaces', 'SteamTimeline', IniRead($interfaces_ini, 'steam_interfaces', 'SteamTimeline', ''))
IniWrite($crack_ini, 'Interfaces', 'SteamTV', IniRead($interfaces_ini, 'steam_interfaces', 'SteamTV', ''))
IniWrite($crack_ini, 'Interfaces', 'SteamUGC', IniRead($interfaces_ini, 'steam_interfaces', 'SteamUGC', ''))
IniWrite($crack_ini, 'Interfaces', 'SteamUnifiedMessages', IniRead($interfaces_ini, 'steam_interfaces', 'SteamUnifiedMessages', ''))
IniWrite($crack_ini, 'Interfaces', 'SteamUserStats', IniRead($interfaces_ini, 'steam_interfaces', 'SteamUserStats', ''))
IniWrite($crack_ini, 'Interfaces', 'SteamUser', IniRead($interfaces_ini, 'steam_interfaces', 'SteamUser', ''))
IniWrite($crack_ini, 'Interfaces', 'SteamUtils', IniRead($interfaces_ini, 'steam_interfaces', 'SteamUtils', ''))
IniWrite($crack_ini, 'Interfaces', 'SteamVideo', IniRead($interfaces_ini, 'steam_interfaces', 'SteamVideo', ''))
EndIf
EndFunc

View File

@ -1,5 +1,5 @@
@echo off @echo off
pip install -U steam[client] pip install -U git+https://github.com/Sak32009/steam_py_fork.git@fix-cm-servers
pip install pyinstaller pip install pyinstaller
pip install requests pip install requests
pip install certifi pip install certifi

View File

@ -1,3 +1,3 @@
@echo off @echo off
set /p arg="Generate Emu Config for Steam AppId: " set /p arg="Generate Emu Config for Steam AppId: "
python -W ignore::DeprecationWarning generate_emu_config.py -img -scr -vids_low -vids_max -scx -cdx -acw -clr -anon %arg% python -W ignore::DeprecationWarning generate_emu_config.py -img -scr -vids_low -vids_max -scx -cdx -rne -acw -clr -anon %arg%

View File

@ -1,3 +1,3 @@
@echo off @echo off
set /p arg="Generate Emu Config for Steam AppId: " set /p arg="Generate Emu Config for Steam AppId: "
python -W ignore::DeprecationWarning generate_emu_config.py -img -scr -vids_low -vids_max -scx -cdx -acw -clr %arg% python -W ignore::DeprecationWarning generate_emu_config.py -img -scr -vids_low -vids_max -scx -cdx -rne -acw -clr %arg%

View File

@ -1,3 +1,3 @@
@echo off @echo off
set /p arg="Generate Emu Config for Steam AppId: " set /p arg="Generate Emu Config for Steam AppId: "
python -W ignore::DeprecationWarning generate_emu_config.py -cdx -acw -clr %arg% python -W ignore::DeprecationWarning generate_emu_config.py -cdx -rne -acw -clr %arg%

View File

@ -3,7 +3,7 @@ from steam_id_converter.SteamID import (
SteamID SteamID
) )
__codex_ini = ''' __codex_ini = r'''###
### ÜÛÛÛÛÛ Ü ### ÜÛÛÛÛÛ Ü
### °ÛÛÛÛ ßÛÛ Û² ßßßÛÛÛÛÛÛÛÜ ßßßßßÛÛ²ÛÛÜ Ü²ÛÛÛß ### °ÛÛÛÛ ßÛÛ Û² ßßßÛÛÛÛÛÛÛÜ ßßßßßÛÛ²ÛÛÜ Ü²ÛÛÛß
### ±ÛÛÛß ±ÛÛß ßßÛÛÛÛ° ßÛÛÛ ±ÛÛÛß ### ±ÛÛÛß ±ÛÛß ßßÛÛÛÛ° ßÛÛÛ ±ÛÛÛß
@ -61,6 +61,7 @@ SelfProtect=0
### ###
### Steam Client API interface versions ### Steam Client API interface versions
### ###
SteamAppDisableUpdate=
SteamAppList= SteamAppList=
SteamApps= SteamApps=
SteamAppTicket= SteamAppTicket=
@ -136,11 +137,11 @@ def generate_cdx_ini(
dlc: list[tuple[int, str]], dlc: list[tuple[int, str]],
achs: list[dict]) -> None: achs: list[dict]) -> None:
if not os.path.exists(os.path.join(base_out_dir, "steam_misc\\extra_cdx")): if not os.path.exists(os.path.join(base_out_dir, "steam_misc\\extra_crk\\CODEX")):
os.makedirs(os.path.join(base_out_dir, "steam_misc\\extra_cdx")) os.makedirs(os.path.join(base_out_dir, "steam_misc\\extra_crk\\CODEX"))
codex_ini_path = os.path.join(base_out_dir, "steam_misc\\extra_cdx\\steam_emu.ini") codex_ini_path = os.path.join(base_out_dir, "steam_misc\\extra_crk\\CODEX\\steam_emu.ini")
print(f"[ ] Generating RUNE / CODEX / PLAZA config --- writing 'steam_emu.ini'") print(f"[ ] Generating CODEX config --- writing 'steam_emu.ini'")
print(f"[ ] __ if to be used, make sure it has the correct interface versions") print(f"[ ] __ if to be used, make sure it has the correct interface versions")
dlc_list = [f"{d[0]}={d[1]}" for d in dlc] dlc_list = [f"{d[0]}={d[1]}" for d in dlc]

View File

@ -0,0 +1,23 @@
import os
import urllib.request
# download PCGamingWiki page source code only
# to be parsed for additional game info, e.g. config and saved games files locations, extended developer and publisher info, etc
# not yet implemented in main script
def download_pcgw(base_out_dir : str, appid : int):
pcgw_link = f"https://www.pcgamingwiki.com/api/appid.php?appid={appid}"
if not os.path.exists(os.path.join(base_out_dir, 'steam_misc\\app_info')):
os.makedirs(os.path.join(base_out_dir, 'steam_misc\\app_info'))
with urllib.request.urlopen(pcgw_link) as f:
html = f.read().decode('utf-8')
file = os.path.join(base_out_dir, f"steam_misc\\app_info\\pcgw.tmp")
with open(file, 'w', encoding='utf-8') as f:
f.write(html)
if os.path.isfile(os.path.join(base_out_dir, 'steam_misc\\app_info\\pcgw.tmp')):
with open(os.path.join(base_out_dir, 'steam_misc\\app_info\\pcgw.tmp'), 'r', encoding='utf-8') as app_pcgw:
app_pcgw_line = app_pcgw.readlines()

View File

@ -0,0 +1,172 @@
import os
from steam_id_converter.SteamID import (
SteamID
)
__rune_ini = r'''###
### \ /
### _ _ _ _ \\__//
### ____ ._/______:_//\//_/____ _ //___ ./_ __//_____:_\\//
### :\ //_/ _ . /_/ / /_/__:_//_/ /\ /\__/_ _ . /\\\
### \\/// ____/___./ / / / / / / \X_/ //___/ /_\_
### . \/// _______ _/_ /_/ _/_/ \\/ // /_\_\ /.
### z_/ _/\ _/ // / // / \ /// __// :\//
### | / _ / /\// /__// __//_ _ /\ /X/ /__/ |/\/2
### --+-_=\__/ / / / \_____:__/ //\____// /\ /\/__:_______=_-+--\4
### |-\__\- / /________\____.__\/- -\--/_\/_______\--.\________\|___\
### = dS!\/- -\_______\ =-RUNE- -== \/ ==-\______\-= ======== --\__\
###
###
### Game data is stored at %SystemDrive%\Users\Public\Documents\Steam\RUNE\{rne_id}
###
[Settings]
###
### Game identifier (http://store.steampowered.com/app/{rne_id})
###
AppId={rne_id}
###
### Steam Account ID, set it to 0 to get a random Account ID
###
AccountId={rne_accountid}
###
### Name of the current player
###
UserName={rne_username}
###
### Language that will be used in the game
###
Language={rne_language}
###
### Enable lobby mode
###
LobbyEnabled=1
###
### Lobby port to listen on
###
#LobbyPort=31183
###
### Enable/Disable Steam overlay
###
Overlays=1
###
### Set Steam connection to offline mode
###
Offline=0
###
BlockConnection=0
###
[Interfaces]
###
### Steam Client API interface versions
###
SteamAppDisableUpdate=
SteamAppList=
SteamApps=
SteamAppTicket=
SteamClient=
SteamController=
SteamFriends=
SteamGameCoordinator=
SteamGameServerStats=
SteamGameServer=
SteamGameStats=
SteamHTMLSurface=
SteamHTTP=
SteamInput=
SteamInventory=
SteamMasterServerUpdater=
SteamMatchGameSearch=
SteamMatchMakingServers=
SteamMatchMaking=
SteamMusic=
SteamMusicRemote=
SteamNetworkingMessages=
SteamNetworkingSocketsSerialized=
SteamNetworkingSockets=
SteamNetworkingUtils=
SteamNetworking=
SteamParentalSettings=
SteamParties=
SteamRemotePlay=
SteamRemoteStorage=
SteamScreenshots=
SteamTimeline=
SteamTV=
SteamUGC=
SteamUnifiedMessages=
SteamUserStats=
SteamUser=
SteamUtils=
SteamVideo=
###
[DLC]
###
### Automatically unlock all DLCs
###
DLCUnlockall=0
###
### Identifiers for DLCs
###
#ID=Name
{rne_dlc_list}
###
[Crack]
7f508eddb6d6c0b1=3681a9beddbae875
'''
def generate_rne_ini(
base_out_dir : str,
appid: int,
accountid: int,
username: str,
language: str,
dlc: list[tuple[int, str]],
achs: list[dict]) -> None:
if not os.path.exists(os.path.join(base_out_dir, "steam_misc\\extra_crk\\RUNE")):
os.makedirs(os.path.join(base_out_dir, "steam_misc\\extra_crk\\RUNE"))
rune_ini_path = os.path.join(base_out_dir, "steam_misc\\extra_crk\\RUNE\\steam_emu.ini")
print(f"[ ] Generating RUNE config --- writing 'steam_emu.ini'")
print(f"[ ] __ if to be used, make sure it has the correct interface versions")
dlc_list = [f"{d[0]}={d[1]}" for d in dlc]
achs_list = []
for ach in achs:
icon = ach.get("icon", None)
if icon:
icon = f"steam_settings\\img\\{icon}"
else:
icon = 'steam_settings\\img\\steam_default_icon_unlocked.jpg'
icon_gray = ach.get("icon_gray", None)
if icon_gray:
icon_gray = f"steam_settings\\img\\{icon_gray}"
else:
icon_gray = 'steam_settings\\img\\steam_default_icon_locked.jpg'
icongray = ach.get("icongray", None)
if icongray:
icon_gray = f"steam_settings\\img\\{icongray}"
achs_list.append(f'{ach["name"]} Achieved={icon}') # unlocked
achs_list.append(f'{ach["name"]} Unachieved={icon_gray}') # locked
steam_id = SteamID(accountid)
formatted_ini = __rune_ini.format(
rne_id = appid,
rne_username = username,
rne_accountid = steam_id.get_steam32_id(),
rne_language = language,
rne_dlc_list = "\n".join(dlc_list),
rne_ach_list = "\n".join(achs_list)
)
with open(rune_ini_path, "wt", encoding='utf-8') as f:
f.writelines(formatted_ini)

View File

@ -7,13 +7,13 @@ ALLOWED_CHARS = set([
'=', '+', '[', '{', '=', '+', '[', '{',
']', '}', ';', '\'', ']', '}', ';', '\'',
',', '.', ' ', '\t', ',', '.', ' ', '\t',
'®', '', #'®', '™',
]) ])
def create_safe_name(app_name : str): def create_safe_name(app_name : str):
safe_name = ''.join(c for c in f'{app_name}' if c.isalnum() or c in ALLOWED_CHARS)\ safe_name = ''.join(c for c in f'{app_name}' if c.isalnum() or c in ALLOWED_CHARS)\
.rstrip()\ .rstrip()\
.rstrip('.')\ .rstrip('.')\
.replace('\t', ' ') .replace(r'\t', ' ')
safe_name = re.sub('\s\s+', ' ', safe_name) safe_name = re.sub(r'\s\s+', ' ', safe_name)
return safe_name return safe_name

View File

@ -2,10 +2,11 @@ import pathlib
import time import time
from stats_schema_achievement_gen import achievements_gen from stats_schema_achievement_gen import achievements_gen
from external_components import ( from external_components import (
ach_watcher_gen, cdx_gen, app_images, app_details, safe_name, scx_gen, top_own ach_watcher_gen, cdx_gen, rne_gen, app_images, app_details, safe_name, scx_gen, pcgw_page, top_own
) )
from controller_config_generator import parse_controller_vdf from controller_config_generator import parse_controller_vdf
from steam.client import SteamClient from steam.client import SteamClient
from steam.webauth import WebAuth
from steam.enums.common import EResult from steam.enums.common import EResult
from steam.enums.emsg import EMsg from steam.enums.emsg import EMsg
from steam.core.msg import MsgProto from steam.core.msg import MsgProto
@ -580,7 +581,7 @@ def help():
exe_name = os.path.basename(sys.argv[0]) exe_name = os.path.basename(sys.argv[0])
print(f"\nUsage: {exe_name} [Switches] appid appid appid ... ") print(f"\nUsage: {exe_name} [Switches] appid appid appid ... ")
print(f" Example: {exe_name} 421050 420 480") print(f" Example: {exe_name} 421050 420 480")
print(f" Example: {exe_name} -img -scr -vids_max -scx -cdx -acw -clr 421050 480") print(f" Example: {exe_name} -img -scr -vids_max -scx -cdx -rne -acw -clr 421050 480")
print("\nSwitches:") print("\nSwitches:")
print(" -img: download art images for each app: Steam generated background, icon, logo, etc...") print(" -img: download art images for each app: Steam generated background, icon, logo, etc...")
print(" -scr: download screenshots for each app if they're available") print(" -scr: download screenshots for each app if they're available")
@ -588,6 +589,7 @@ def help():
print(" -vids_max: download max quality videos for each app if they're available") print(" -vids_max: download max quality videos for each app if they're available")
print(" -scx: download market images for each app: Steam trading cards, badges, backgrounds, etc...") print(" -scx: download market images for each app: Steam trading cards, badges, backgrounds, etc...")
print(" -cdx: generate .ini file for CODEX Steam emu for each app") print(" -cdx: generate .ini file for CODEX Steam emu for each app")
print(" -rne: generate .ini file for RUNE Steam emu for each app")
print(" -acw: generate schemas of all possible languages for Achievement Watcher") print(" -acw: generate schemas of all possible languages for Achievement Watcher")
print(" -skip_ach: skip downloading & generating achievements and their images") print(" -skip_ach: skip downloading & generating achievements and their images")
print(" -skip_con: skip downloading & generating controller configuration files") print(" -skip_con: skip downloading & generating controller configuration files")
@ -611,7 +613,6 @@ def main():
PASSWORD = "" PASSWORD = ""
DOWNLOAD_SCREENSHOTS = False DOWNLOAD_SCREENSHOTS = False
DOWNLOAD_THUMBNAILS = True
DOWNLOAD_VIDEOS = False DOWNLOAD_VIDEOS = False
DOWNLOAD_LOW = False DOWNLOAD_LOW = False
DOWNLOAD_MAX = False DOWNLOAD_MAX = False
@ -619,6 +620,7 @@ def main():
DOWNLOAD_SCX = False DOWNLOAD_SCX = False
SAVE_APP_NAME = False SAVE_APP_NAME = False
GENERATE_CODEX_INI = False GENERATE_CODEX_INI = False
GENERATE_RUNE_INI = False
GENERATE_ACHIEVEMENT_WATCHER_SCHEMAS = False GENERATE_ACHIEVEMENT_WATCHER_SCHEMAS = False
CLEANUP_BEFORE_GENERATING = False CLEANUP_BEFORE_GENERATING = False
ANON_LOGIN = False ANON_LOGIN = False
@ -628,8 +630,7 @@ def main():
SKIP_INVENTORY = False SKIP_INVENTORY = False
DEFAULT_PRESET = True DEFAULT_PRESET = True
DEFAULT_PRESET_NO = 1 DEFAULT_PRESET_NO = 1
prompt_for_unavailable = True
if len(sys.argv) < 2: if len(sys.argv) < 2:
help() help()
@ -655,6 +656,8 @@ def main():
DOWNLOAD_SCX = True DOWNLOAD_SCX = True
elif f'{appid}'.lower() == '-cdx': elif f'{appid}'.lower() == '-cdx':
GENERATE_CODEX_INI = True GENERATE_CODEX_INI = True
elif f'{appid}'.lower() == '-rne':
GENERATE_RUNE_INI = True
elif f'{appid}'.lower() == '-acw': elif f'{appid}'.lower() == '-acw':
GENERATE_ACHIEVEMENT_WATCHER_SCHEMAS = True GENERATE_ACHIEVEMENT_WATCHER_SCHEMAS = True
elif f'{appid}'.lower() == '-clr': elif f'{appid}'.lower() == '-clr':
@ -695,10 +698,10 @@ def main():
sys.exit(1) sys.exit(1)
client = SteamClient() client = SteamClient()
login_tmp_folder = os.path.join(get_exe_dir(RELATIVE_DIR), "login_temp") # login_tmp_folder = os.path.join(get_exe_dir(RELATIVE_DIR), "login_temp")
if not os.path.exists(login_tmp_folder): # if not os.path.exists(login_tmp_folder):
os.makedirs(login_tmp_folder) # os.makedirs(login_tmp_folder)
client.set_credential_location(login_tmp_folder) # client.set_credential_location(login_tmp_folder)
# first read the 'my_login.txt' file # first read the 'my_login.txt' file
my_login_file = os.path.join(get_exe_dir(RELATIVE_DIR), "my_login.txt") my_login_file = os.path.join(get_exe_dir(RELATIVE_DIR), "my_login.txt")
@ -727,44 +730,14 @@ def main():
time.sleep(1000) time.sleep(1000)
result = client.anonymous_login() result = client.anonymous_login()
trials -= 1 trials -= 1
elif (len(USERNAME) == 0 or len(PASSWORD) == 0):
client.cli_login()
else: else:
result = client.login(USERNAME, password=PASSWORD) webauth = WebAuth(USERNAME, PASSWORD)
auth_code, two_factor_code = None, None if (len(USERNAME) > 0 and len(PASSWORD) > 0):
while result in ( webauth.cli_login(USERNAME, PASSWORD)
EResult.AccountLogonDenied, EResult.InvalidLoginAuthCode, else:
EResult.AccountLoginDeniedNeedTwoFactor, EResult.TwoFactorCodeMismatch, webauth_prompt_username = input("Enter Steam username: ")
EResult.TryAnotherCM, EResult.ServiceUnavailable, webauth.cli_login(webauth_prompt_username)
EResult.InvalidPassword, client.login(webauth.username, access_token=webauth.refresh_token)
):
if result == EResult.InvalidPassword:
print("__ Invalid password. The password you set is wrong.")
exit(1)
elif result in (EResult.AccountLogonDenied, EResult.InvalidLoginAuthCode):
prompt = ("__ Enter email code: " if result == EResult.AccountLogonDenied else
"__ Incorrect code. Enter email code: ")
auth_code, two_factor_code = input(prompt), None
elif result in (EResult.AccountLoginDeniedNeedTwoFactor, EResult.TwoFactorCodeMismatch):
prompt = ("__ Enter 2FA code: " if result == EResult.AccountLoginDeniedNeedTwoFactor else
"__ Incorrect code. Enter 2FA code: ")
auth_code, two_factor_code = None, input(prompt)
elif result in (EResult.TryAnotherCM, EResult.ServiceUnavailable):
if prompt_for_unavailable and result == EResult.ServiceUnavailable:
while True:
answer = input("__ Steam is down. Keep retrying? [y/n]: ").lower()
if answer in 'yn': break
prompt_for_unavailable = False
if answer == 'n': break
client.reconnect(maxdelay=15)
result = client.login(USERNAME, PASSWORD, None, auth_code, two_factor_code)
# generate 'top_owners_ids.txt' if 'top_owners_ids.html' exists # generate 'top_owners_ids.txt' if 'top_owners_ids.html' exists
top_own.top_owners() top_own.top_owners()
@ -1345,6 +1318,16 @@ def main():
dlc_config_list, dlc_config_list,
achievements) achievements)
if GENERATE_RUNE_INI:
rne_gen.generate_rne_ini(
base_out_dir,
appid,
cfg_user_account_steamid,
cfg_user_account_name,
cfg_user_language,
dlc_config_list,
achievements)
if DOWNLOAD_SCX: if DOWNLOAD_SCX:
scx_gen.download_scx(base_out_dir, appid) scx_gen.download_scx(base_out_dir, appid)
@ -1352,15 +1335,38 @@ def main():
print(f"*** FINISHED config for app id {appid} ***") print(f"*** FINISHED config for app id {appid} ***")
print(" ") print(" ")
def _tracebackPrint(_errorValue):
print("Unexpected error:")
print(_errorValue)
print("-----------------------")
for line in traceback.format_exception(_errorValue):
print(line)
print("-----------------------")
if __name__ == "__main__": if __name__ == "__main__":
try: try:
main() main()
except Exception as e: except Exception as e:
print("Unexpected error:") if 'client_id' in e.args:
print(e) print("Wrong Steam username and / or password. Please try again!")
print("-----------------------") try:
for line in traceback.format_exception(e): main()
print(line) except Exception as e:
print("-----------------------") if 'client_id' in e.args:
sys.exit(1) print("Wrong Steam username and / or password. Please try again!")
try:
main()
except Exception as e:
if 'client_id' in e.args:
print("Wrong Steam username and / or password. Please try again!")
sys.exit(1)
else:
_tracebackPrint(e)
sys.exit(1)
else:
_tracebackPrint(e)
sys.exit(1)
else:
_tracebackPrint(e)
sys.exit(1)

View File

@ -1,3 +1,3 @@
@echo off @echo off
set /p arg="Generate Emu Config for Steam AppId: " set /p arg="Generate Emu Config for Steam AppId: "
generate_emu_config.exe -cdx -acw -clr -anon %arg% generate_emu_config.exe -cdx -rne -acw -clr -anon %arg%

View File

@ -0,0 +1,3 @@
@echo off
set /p arg="Generate Emu Config for Steam AppId: "
generate_emu_config.exe -img -scr -vids_low -vids_max -scx -cdx -rne -acw -clr %arg%

View File

@ -1,3 +1,3 @@
@echo off @echo off
set /p arg="Generate Emu Config for Steam AppId: " set /p arg="Generate Emu Config for Steam AppId: "
generate_emu_config.exe -cdx -acw -clr %arg% generate_emu_config.exe -cdx -rne -acw -clr %arg%

View File

@ -0,0 +1,167 @@
[General]
# 0 - Show Advanced Run window
# 1 - Skip Advanced Run window
AutoRun=1
#
# 1 - Run .EXE File
# 2 - ShellExecute - Open the specified file, folder or URL with the default program
# 3 - Command Prompt - Execute command or batch file of Windows Command Prompt (.BAT, .CMD)
# 4 - PowerShell Command - Execute the specified PowerShell command
# 5 - PowerShell Script File - Run the specified PowerShell script (.PS1)
RunMode=3
# open, edit, explore, print - only for RunMode 2
ShellExecuteAction=open
# Program to Run - only for RunMode 1. For RunMode 2, 3, 4, 5 use CommandLine
EXEFilename=
# Command-line arguments, file to ShellExecute, Command Prompt / PowerShell file to run or Command Prompt / PowerShell command string to execute
# For RunMode 3, DO NOTE that if your .BAT file ends with 'pause' or you add '& pause' at the end of CommandLine, CommandWindowMode 2 will have no effect - CMD window will show 'Press any key to continue . . .'
CommandLine=.\bat\generate_emu_config.exe_test.bat & pause
# Start Directory - make sure any paths in CommandLine are relative to the start directory
StartDirectory=.\
# AdvancedRun process will wait in the background until the process executed by AdvancedRun is terminated, 0 - disabled, 1 -enabled
WaitProcess=1
# Process Priority Class:
# 64 - low, 32 - normal, 128 - high, 256 - realtime, 16384 - below normal, 32768 - above normal
PriorityClass=32
# Command Window Mode - only for RunMode 3, 4, 5
# 1 - Leave window opened after executing commands (same as 'CMD /K'), 2 - Close window after executing commands (same as 'CMD /C') - only for RunMode 3, 4, 5
# For RunMode 3, DO NOTE that if your .BAT file ends with 'pause' or you add '& pause' at the end of CommandLine, CommandWindowMode 2 will have no effect - CMD window will show 'Press any key to continue . . .'
CommandWindowMode=2
# Main window state
# 0 - hidden, 1 - normal, 2 - minimized, 3 - maximized
WindowState=1
# Main window position
UseWindowPosition=0
WindowPosition=20,20
# Main window size
UseWindowSize=0
WindowSize=640,400
#
# 1 - Current User - Allow UAC Elevation
# 2 - Current User - Without UAC Elevation
# 3 - Administrator (Force UAC Elevation)
# 4 - SYSTEM User
# 5 - User of the selected process
# 6 - Child of the selected process (Using code injection)
# 7 - Specified username and password
# 8 - TrustedInstaller
# 9 - Another logged-in user
# 10 - Network Service
# 11 - Local Service
RunAs=1
# Selected process name - only for RunAs 5, 6
RunAsProcessName=
# Specified username - only for RunAs 7, 9 (password can't be set in this .CFG file, so it's better to run with /RunAsUserName "username" /RunAsPassword "password" parameters instead)
RunAsUserName=
# Specified domain - only for RunAs 7
RunAsDomain=
#
# Run on remote computer with temporary Windows service, 0 - disabled, 1 - enabled
RunFromService=0
# Remote computer name - only for RunFromService 1
ComputerName=
#
# Use search path to find the program location if the full path is not specified, 0 - disabled, 1 - enabled
UseSearchPath=0
# Parse the environment variables inside the command-line string before passing it to the program
ParseVarCommandLine=0
#
# Use process affinity mask, 0 - disabled, 1 - enabled
UseAffinityMask=0
# Set process affinity mask (space-delimited list) - e.g. '0 1 2 3' process runs only on first 4 cores
AffinityMask=0 1
#
# 0 - Compatibility mode disabled
# 1 - Windows 95
# 2 - Windows 98
# 3 - Windows NT 4.0 SP5
# 4 - Windows 2000
# 5 - Windows XP SP2
# 6 - Windows XP SP3
# 7 - Server 2003 SP1
# 8 - Server 2008 SP1
# 9 - Vista
# 10 - Vista SP1
# 11 - Vista SP2
# 12 - Windows 7
# 13 - Windows 8
OSCompatMode=0
# Use 1 to disable visual themes
CompatDisableVisualThemes=0
# Use 1 to disable desktop composition
CompatDisableDesktopComp=0
# Use 1 to run in 640 x 480 resolution
Compat640480=0
# Use 1 to disable full screen optimizations
CompatDisableFullScreenOpt=0
# 0 - Reduced colors disabled
# 1 - 8-bit, 256 colors
# 2 - 16-bit, 65536 colors
CompatColors=0
# 0 - High DPI scaling override disabled
# 1 - Application
# 2 - System
# 3 - System Enhanced
CompatHighDPI=0
# 1 - Use current system environment variables without any change
# 2 - Merge the following environment variables with the system variables
# 3 - Use only the following environment variables (ignore the system variables)
EnvironmentVariablesMode=1
# Advanced Run window position - only for AutoRun 0
WinPos=2C 00 00 00 00 00 00 00 01 00 00 00 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF D5 03 00 00 4B 04 00 00 A2 08 00 00 FC 07 00 00
[EnvironmentVariables]
# Advanced Run window position - only for AutoRun 0
WinPos=2C 00 00 00 00 00 00 00 01 00 00 00 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 78 03 00 00 FC 02 00 00 45 08 00 00 AD 06 00 00
# Number of environment variables to merge - only for EnvironmentVariablesMode 2, 3
Lines=0
# Merge the following environment variables, one by one on each line
Line1=
Line2=
Line3=
Line4=
Line5=
Line6=
Line7=
Line8=
Line9=

View File

@ -1,4 +1,4 @@
steam[client] steam[client] @ git+https://github.com/Sak32009/steam_py_fork.git@fix-cm-servers
pyinstaller pyinstaller
requests requests
certifi certifi

View File

@ -7,8 +7,9 @@
// these are defined in dll.cpp at the top like this: // these are defined in dll.cpp at the top like this:
// static char old_xxx[128] = ... // static char old_xxx[128] = ...
const static std::vector<std::string> interface_patterns = { const static std::vector<std::string> interface_patterns = {
R"(STEAMAPPS_INTERFACE_VERSION\d+)", R"(SteamAppDisableUpdate\d+)",
R"(STEAMAPPLIST_INTERFACE_VERSION\d+)", R"(STEAMAPPLIST_INTERFACE_VERSION\d+)",
R"(STEAMAPPS_INTERFACE_VERSION\d+)",
R"(STEAMAPPTICKET_INTERFACE_VERSION\d+)", R"(STEAMAPPTICKET_INTERFACE_VERSION\d+)",
R"(SteamClient\d+)", R"(SteamClient\d+)",
R"(STEAMCONTROLLER_INTERFACE_VERSION)", R"(STEAMCONTROLLER_INTERFACE_VERSION)",