Both sides previous revisionPrevious revisionNext revision | Previous revision |
games:dota_2 [2024/06/10 15:47] – [Bot Match] Sean Rhone | games:dota_2 [2024/08/06 09:34] (current) – removed Sean Rhone |
---|
====== Information ====== | |
| |
* [[https://www.dota2.com/|Dota 2]] | |
* [[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)) | |
* TODO: Ranked AI Bot Scripts | |
| |
====== SteamCMD ====== | |
| |
===== Install ===== | |
| |
* 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 | |
| |
===== 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 ((Linux 64-bit)), or provided by a Steam emulator | |
* Goldberg Emu notes are provided below | |
| |
===== 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' | |
| |
====== Dota 2 ====== | |
| |
===== Restore ===== | |
| |
**** | |
| |
mkdir -p ~/'Steam/steamapps' && mv ~/'Downloads/Dota 2/'* ~/'Steam/steamapps' && sync | |
| |
===== Install/Update ===== | |
| |
* :!: This may need re-ran several times 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 ~ | |
| |
==== Runtime ==== | |
| |
* 2023/12/30: Sniper | |
| |
cd ~/'Steam/steamcmd' && ~/'Steam/steamcmd/steamcmd.sh' +login 'Espionage724' +app_update '1628350' +quit && sync && cd ~ | |
| |
gio open ~/'Steam/steamapps/common/' | |
| |
===== Validate ===== | |
| |
* :!: This may need re-ran several times if game data is restored from backup ((''Error! App '570' state is 0xE after update job.'')) | |
| |
cd ~/'Steam/steamcmd' && ~/'Steam/steamcmd/steamcmd.sh' +login 'Espionage724' +app_update '570' validate +quit && sync && cd ~ | |
| |
===== Reset Settings ===== | |
| |
**** | |
| |
~/'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 ([[https://github.com/ValveSoftware/Dota2-Gameplay/discussions/15723|discussion]], [[https://github.com/adamqqqplay/dota2ai/issues/155|adamqqqplay/dota2ai 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' && update-desktop-database --quiet ~/'.local/share/applications' | |
| |
<code> | |
[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_lan '1' +dota_bot_set_difficulty '3' +dota_start_ai_game '1' +map 'dota'" | |
Type=Application | |
StartupNotify=true | |
Icon=TODO.0</code> | |
| |