User Tools

Site Tools


games:dota_2

Information

  • These notes allow downloading Dota 2 using SteamCMD and running it in offline mode 1)

SteamCMD

Install

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 ~

steamclient.so

  • steamclient.so is required and can be copied from SteamCMD, a Steam install 2), 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

Install

  • :!: This relies on 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

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

mkdir -p ~/'.steam/sdk64' && ln --force --symbolic ~/'Steam/steamcmd/linux64/steamclient.so' ~/'.steam/sdk64'

Dota 2

Restore

mkdir -p ~/'Steam/steamapps' && mv ~/'Downloads/Dota 2/'* ~/'Steam/steamapps' && sync

Install/Update

  • This may need re-ran if game data is restored from backup 3)
  • Presumably this fresh-installs Dota 2 also
cd ~/'Steam/steamcmd' && ~/'Steam/steamcmd/steamcmd.sh' +login 'Espionage724' +app_update '570' +quit && sync && cd ~

Runtime

  • 2023/12/30: Sniper
cd ~/'Steam/steamcmd' && ~/'Steam/steamcmd/steamcmd.sh' +login 'Espionage724' +app_update '1628350' +quit && sync && cd ~

Validate

cd ~/'Steam/steamcmd' && ~/'Steam/steamcmd/steamcmd.sh' +login 'Espionage724' +app_update '570' validate +quit && sync && cd ~

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

  • 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

  • :!: 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
~/'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

  • Immediately launches into an All-pick Bot Match
  • :?: Presumably 3 = Unfair difficulty (discussion)
~/'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

  • TODO: Icon
mkdir -p ~/'.local/share/applications/Valve' && nano ~/'.local/share/applications/Valve/Dota 2.desktop' && sed -i 's/'CHANGEME'/'$USER'/g' ~/'.local/share/applications/Valve/Dota 2.desktop'
[Desktop Entry]
Name=Dota 2
Categories=Game
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
StartupNotify=true
Icon=TODO.0

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
"steamcmd.exe" +login "Espionage724" +quit
  • Update/install Dota 2
"steamcmd.exe" +login "Espionage724" +app_update "570" +quit
  • Update Steam Common Redist
"steamcmd.exe" +login "Espionage724" +app_update "228980" +quit
"steamcmd.exe" +login "Espionage724" +app_update "228980" validate +quit
  • Validate Dota 2
"steamcmd.exe" +login "Espionage724" +app_update "570" validate +quit
  • Requires the following DLLs from an installed Steam client 4) placed next to dota2.exe in the dota 2 beta\game\bin\win64 folder
crashhandler64.dll
steamclient64.dll
tier0_s64.dll
vstdlib_s64.dll
  • Bot Match.bat in C:\Program Files\570\steamapps\common\dota 2 beta\game\bin\win64
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"
1)
I only do singleplayer local bot matches; LAN usage is untested
2)
Linux 64-bit
3)
Error! App '570' state is 0xE after update job.
4)
Steam can be uninstalled afterwards
/var/www/wiki/data/pages/games/dota_2.txt · Last modified: 2024/04/30 18:42 by Sean Rhone