Both sides previous revisionPrevious revisionNext revision | Previous revision |
games:dota_2 [2024/03/03 19:37] – [steamclient.so] Sean Rhone | games:dota_2 [2024/04/30 18:42] (current) – Sean Rhone |
---|
* [[https://www.dota2.com/|Dota 2]] | * [[https://www.dota2.com/|Dota 2]] |
* [[https://developer.valvesoftware.com/wiki/SteamCMD|SteamCMD]] | * [[https://developer.valvesoftware.com/wiki/SteamCMD|SteamCMD]] |
| * [[https://mr_goldberg.gitlab.io/goldberg_emulator/|Goldberg Emulator]] |
| |
* These notes allow downloading Dota 2 using SteamCMD and running it in offline mode ((I only do singleplayer local bot matches; LAN usage is untested)) | * These notes allow downloading Dota 2 using SteamCMD and running it in offline mode ((I only do singleplayer local bot matches; LAN usage is untested)) |
| |
====== SteamCMD ====== | ====== SteamCMD ====== |
| |
| ===== Install ===== |
| |
* https://developer.valvesoftware.com/wiki/SteamCMD#Manually | * https://developer.valvesoftware.com/wiki/SteamCMD#Manually |
| |
wget -O '/tmp/steamcmd_linux.tar.gz' 'https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz' && mkdir -p ~/'Steam/steamcmd' && cd ~/'Steam/steamcmd' && tar -xvzf '/tmp/steamcmd_linux.tar.gz' && cd ~ && sync | wget -O '/tmp/steamcmd_linux.tar.gz' 'https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz' && mkdir -p ~/'Steam/steamcmd' && cd ~/'Steam/steamcmd' && tar -xvzf '/tmp/steamcmd_linux.tar.gz' && cd ~ && sync |
| |
| ===== Login ===== |
| |
| **** |
| |
cd ~/'Steam/steamcmd' && ~/'Steam/steamcmd/steamcmd.sh' +login 'Espionage724' +quit && sync && cd ~ | cd ~/'Steam/steamcmd' && ~/'Steam/steamcmd/steamcmd.sh' +login 'Espionage724' +quit && sync && cd ~ |
| |
===== steamclient.so ===== | ====== steamclient.so ====== |
| |
| * ''steamclient.so'' is required and can be copied from SteamCMD, a Steam install ((Linux 64-bit)), or provided by a Steam emulator |
| * Goldberg Emu and SteamCMD notes are provided below and can be ran freely to switch between them |
| |
| ===== Goldberg Emulator ===== |
| |
| * https://mr_goldberg.gitlab.io/goldberg_emulator/ |
| * This is a Steam emulator |
| |
| ==== Install ==== |
| |
| * :!: This relies on [[https://gitlab.com/Mr_Goldberg/goldberg_emulator/-/jobs/4247811310/artifacts/download|this URL]] which looks fragile, but comes from the above download page |
| |
| rm -Rf '/tmp/Goldberg_Lan_Steam_Emu_master.zip' '/tmp/Goldberg_Lan_Steam_Emu' ~/'.steam/sdk64/steamclient.so' && wget -O '/tmp/Goldberg_Lan_Steam_Emu_master.zip' 'https://gitlab.com/Mr_Goldberg/goldberg_emulator/-/jobs/4247811310/artifacts/download' && unzip '/tmp/Goldberg_Lan_Steam_Emu_master.zip' -d '/tmp/Goldberg_Lan_Steam_Emu' && mkdir -p ~/'.steam/sdk64/steam_settings' && mv '/tmp/Goldberg_Lan_Steam_Emu/linux/x86_64/steamclient.so' ~/'.steam/sdk64' && ls ~/'.steam/sdk64/steamclient.so' && rm -Rf '/tmp/Goldberg_Lan_Steam_Emu_master.zip' '/tmp/Goldberg_Lan_Steam_Emu' && sync |
| |
| ==== Settings ==== |
| |
| * [[https://gitlab.com/Mr_Goldberg/goldberg_emulator/-/blob/master/Readme_release.txt|Readme_release.txt]] |
| |
| touch ~/'.steam/sdk64/steam_settings/offline.txt' ~/'.steam/sdk64/steam_settings/disable_overlay.txt' ~/'.steam/sdk64/steam_settings/disable_networking.txt' && echo 'Espionage724' | tee ~/'.steam/sdk64/steam_settings/force_account_name.txt' |
| |
| ===== SteamCMD ===== |
| |
**** | **** |
===== Reset Settings ===== | ===== Reset Settings ===== |
| |
* This will likely fail to start Dota 2 due to not running from the runtime, but should still reset settings | **** |
| |
| ANV_NO_GPL='1' ~/'Steam/steamapps/common/SteamLinuxRuntime_sniper/run' -- ~/'Steam/steamapps/common/dota 2 beta/game/dota.sh' -novid -autoconfig |
| |
| ==== Settings Save ==== |
| |
~/'Steam/steamapps/common/dota 2 beta/game/dota.sh' -autoconfig | * Open Dota 2's in-game console with the ''\'' key |
| * Type ''host_writeconfig'' |
| * :!: Errors with saving or finding a file path may require a Steam emulator if using Steam client's or SteamCMD's ''steamclient.so'' |
| |
===== Launch ===== | ===== Launch ===== |
| |
* :!: ''ANV_NO_GPL=1'' is required for Intel UHD 630 to prevent random crashing | * :!: 2023: ''ANV_NO_GPL=1'' and ''-vulkan_disable_graphics_pipeline_library'' was required for Intel UHD 630 to prevent random crashing, but doesn't seem needed as of 2024/04/29 |
| |
ANV_NO_GPL='1' ~/'Steam/steamapps/common/SteamLinuxRuntime_sniper/run' ~/'Steam/steamapps/common/dota 2 beta/game/dota.sh' | ~/'Steam/steamapps/common/SteamLinuxRuntime_sniper/run' -- ~/'Steam/steamapps/common/dota 2 beta/game/dota.sh' -vulkan_disable_steam_shader_cache -novid -useforcedmparms -noforcemaccel -noforcemspd -nogammaramp -nomicsettings -console |
| |
===== Bot Match ===== | ===== Bot Match ===== |
| |
* Immediately launches into a Bot Match | * Immediately launches into an All-pick Bot Match |
* Presumably Unfair difficulty ([[https://github.com/ValveSoftware/Dota2-Gameplay/discussions/15723|discussion]]) | * :?: Presumably ''3'' = Unfair difficulty ([[https://github.com/ValveSoftware/Dota2-Gameplay/discussions/15723|discussion]]) |
| |
ANV_NO_GPL='1' ~/'Steam/steamapps/common/SteamLinuxRuntime_sniper/run' ~/'Steam/steamapps/common/dota 2 beta/game/dota.sh' +sv_lan '1' +dota_bot_set_difficulty '3' +dota_start_ai_game '1' +map 'dota' +cl_cmdrate '128' +cl_updaterate '128' | ~/'Steam/steamapps/common/SteamLinuxRuntime_sniper/run' -- ~/'Steam/steamapps/common/dota 2 beta/game/dota.sh' -vulkan_disable_steam_shader_cache -novid -useforcedmparms -noforcemaccel -noforcemspd -nogammaramp -nomicsettings -console +sv_cheats '1' +sv_lan '1' +dota_bot_set_difficulty '3' +dota_start_ai_game '1' +map 'dota' |
| |
====== Desktop Launcher ====== | ====== Desktop Launcher ====== |
Name=Dota 2 | Name=Dota 2 |
Categories=Game | Categories=Game |
Exec='/bin/bash' -c "ANV_NO_GPL='1' ~/'Steam/steamapps/common/SteamLinuxRuntime_sniper/run' ~/'Steam/steamapps/common/dota 2 beta/game/dota.sh' +sv_lan '1' +dota_bot_set_difficulty '3' +dota_start_ai_game '1' +map 'dota' +cl_cmdrate '128' +cl_updaterate '128'" | Exec='/bin/bash' -c "~/'Steam/steamapps/common/SteamLinuxRuntime_sniper/run' -- ~/'Steam/steamapps/common/dota 2 beta/game/dota.sh' -vulkan_disable_steam_shader_cache -novid -useforcedmparms -noforcemaccel -noforcemspd -nogammaramp -nomicsettings -console +sv_cheats '1' +sv_lan '1' +dota_bot_set_difficulty '3' +dota_start_ai_game '1' +map 'dota'" |
Type=Application | Type=Application |
StartupNotify=true | StartupNotify=true |
Icon=TODO.0</code> | Icon=TODO.0</code> |
| |
| ====== Windows ====== |
| |
| * TODO: Organize this |
| * :!: No version of Goldberg Emu worked, and couldn't be figured out |
| * :!: In-game settings saving to ''.cfg'' failed because of not finding an expected file path or env pointing to it, and presumably this is provided by Steam client; Goldberg didn't work on Windows but maybe provides the expected paths |
| |
| * ''steamcmd.exe'' at ''C:\Program Files\570'' |
| * ''C:\Program Files\570\steamapps'' should have ''appmanifest_570.acf'' and Dota 2 at ''C:\Program Files\570\steamapps\common\dota 2 beta'' |
| |
| * Login |
| |
| <code>"steamcmd.exe" +login "Espionage724" +quit</code> |
| |
| * Update/install Dota 2 |
| |
| <code>"steamcmd.exe" +login "Espionage724" +app_update "570" +quit</code> |
| |
| * Update Steam Common Redist |
| |
| <code> |
| "steamcmd.exe" +login "Espionage724" +app_update "228980" +quit |
| "steamcmd.exe" +login "Espionage724" +app_update "228980" validate +quit</code> |
| |
| * Validate Dota 2 |
| |
| <code>"steamcmd.exe" +login "Espionage724" +app_update "570" validate +quit</code> |
| |
| * Requires the following DLLs from an installed Steam client ((Steam can be uninstalled afterwards)) placed next to ''dota2.exe'' in the ''dota 2 beta\game\bin\win64'' folder |
| |
| <code>crashhandler64.dll</code> |
| |
| <code>steamclient64.dll</code> |
| |
| <code>tier0_s64.dll</code> |
| |
| <code>vstdlib_s64.dll</code> |
| |
| * ''Bot Match.bat'' in ''C:\Program Files\570\steamapps\common\dota 2 beta\game\bin\win64'' |
| |
| <code>start "" "dota2.exe" -vulkan -novid -useforcedmparms -noforcemaccel -noforcemspd -nogammaramp -nomicsettings -console +sv_lan "1" +sv_cheats "1" +dota_bot_set_difficulty "3" +dota_start_ai_game "1" +map "dota"</code> |
| |