User Tools

Site Tools


games:dota_2

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
games:dota_2 [2024/03/02 22:05] – [Restore] Sean Rhonegames:dota_2 [2024/04/30 18:42] (current) Sean Rhone
Line 5: Line 5:
   * [[https://mr_goldberg.gitlab.io/goldberg_emulator/|Goldberg Emulator]]   * [[https://mr_goldberg.gitlab.io/goldberg_emulator/|Goldberg Emulator]]
  
-  * These notes allow downloading Dota 2 using SteamCMD and running it in offline mode through Goldberg Emulator ((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 ~
  
-====== Goldberg Emulator ======+====== 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/   * https://mr_goldberg.gitlab.io/goldberg_emulator/
 +  * This is a Steam emulator
  
-===== Install =====+==== 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   * :!: 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
Line 25: Line 37:
   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   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 =====+==== Settings ====
  
   * [[https://gitlab.com/Mr_Goldberg/goldberg_emulator/-/blob/master/Readme_release.txt|Readme_release.txt]]   * [[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'   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 ====== ====== Dota 2 ======
Line 39: Line 57:
   mkdir -p ~/'Steam/steamapps' && mv ~/'Downloads/Dota 2/'* ~/'Steam/steamapps' && sync   mkdir -p ~/'Steam/steamapps' && mv ~/'Downloads/Dota 2/'* ~/'Steam/steamapps' && sync
  
-===== Update =====+===== Install/Update =====
  
   * This may need re-ran if game data is restored from backup ((''Error! App '570' state is 0xE after update job.''))   * This may need re-ran if game data is restored from backup ((''Error! App '570' state is 0xE after update job.''))
 +  * Presumably this fresh-installs Dota 2 also
  
   cd ~/'Steam/steamcmd' && ~/'Steam/steamcmd/steamcmd.sh' +login 'Espionage724' +app_update '570' +quit && sync && cd ~   cd ~/'Steam/steamcmd' && ~/'Steam/steamcmd/steamcmd.sh' +login 'Espionage724' +app_update '570' +quit && sync && cd ~
Line 59: Line 78:
 ===== Reset Settings ===== ===== Reset Settings =====
  
-  Dota 2 will likely crash since it's being ran outside the runtime, but settings are still erased+****
  
-  cd ~/'Steam/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64&& ~/'Steam/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/dota2' -autoconfig+  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 ===== ===== 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 
-  * :!: ''SDL_VIDEO_DRIVER=x11'' is required for Wayland sessions+ 
 +  ~/'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 ([[https://github.com/ValveSoftware/Dota2-Gameplay/discussions/15723|discussion]])
  
-  ANV_NO_GPL='1' SDL_VIDEO_DRIVER='x11' ~/'Steam/steamapps/common/SteamLinuxRuntime_sniper/run-in-sniper' ~/'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 +sv_cheats '1' +sv_lan '1' +dota_bot_set_difficulty '3' +dota_start_ai_game '1' +map 'dota'
  
 ====== Desktop Launcher ====== ====== Desktop Launcher ======
  
-  * TODO: Icon, and modernize with ''bash''+  * 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'   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'
Line 79: Line 110:
 [Desktop Entry] [Desktop Entry]
 Name=Dota 2 Name=Dota 2
-Comment= Dota is the deepest multi-player action RTS game ever made and there's always a new strategy or tactic to discover. It's completely free to play and always will be – start defending your ancient now. 
 Categories=Game Categories=Game
-Exec=env ANV_NO_GPL='1' SDL_VIDEO_DRIVER='x11' '/home/CHANGEME/Steam/steamapps/common/SteamLinuxRuntime_sniper/run-in-sniper' '/home/CHANGEME/Steam/steamapps/common/dota 2 beta/game/dota.sh'+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>
  
/var/www/wiki/data/attic/games/dota_2.1709435107.txt.gz · Last modified: 2024/03/02 22:05 by Sean Rhone