Both sides previous revisionPrevious revisionNext revision | Previous revision |
games:linux:dota_2_steamcmd [2025/04/08 06:57] – [AIO Update] Sean Rhone | games:linux:dota_2_steamcmd [2025/04/25 21:10] (current) – Debian 12 -> openSUSE TW Sean Rhone |
---|
====== Information ====== | ====== Information ====== |
| |
* [[https://www.dota2.com/|Dota 2]] | * Dota 2 ((https://www.dota2.com/home)) ((https://store.steampowered.com/app/570/Dota_2/)) |
* [[https://developer.valvesoftware.com/wiki/SteamCMD|SteamCMD]] | * SteamCMD ((https://developer.valvesoftware.com/wiki/SteamCMD)) |
* [[https://mr_goldberg.gitlab.io/goldberg_emulator/|Goldberg Emulator]] | * Goldberg Steam Emulator ((https://mr_goldberg.gitlab.io/goldberg_emulator/)) |
| * https://blog.realmofespionage.xyz/?p=139 |
| |
* 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 |
| |
===== Media ===== | ===== Media ===== |
===== Prerequisites ===== | ===== Prerequisites ===== |
| |
* [[linux;distros;ubuntu|Ubuntu]] | * [[linux;distros;opensuse_tumbleweed_gnome|openSUSE Tumbleweed (GNOME)]] |
| |
===== Resources ===== | ====== Quick Update ====== |
| |
* https://github.com/SteamDatabase/GameTracking-Dota2/tree/master/game/bin/linuxsteamrt64 | |
| |
====== AIO Update ====== | |
| |
* Dota 2 (570) + Sniper Runtime (1628350) + OHA bot scripts (Git) | * Dota 2 (570) + Sniper Runtime (1628350) + OHA bot scripts (Git) |
cd ~/'Steam/steamcmd' && ~/'Steam/steamcmd/steamcmd.sh' +login 'Espionage724' +app_update '570' +quit && ~/'Steam/steamcmd/steamcmd.sh' +login 'Espionage724' +app_update '1628350' +quit && rm -Rf ~/'Steam/steamapps/common/dota 2 beta/game/dota/scripts/vscripts/bots' ~/'Steam/steamapps/common/dota 2 beta/game/dota/scripts/vscripts/OpenHyperAI' && git clone --branch 'main' --depth '1' --recurse-submodules 'https://github.com/forest0xia/dota2bot-OpenHyperAI.git' ~/'Steam/steamapps/common/dota 2 beta/game/dota/scripts/vscripts/OpenHyperAI' && mv ~/'Steam/steamapps/common/dota 2 beta/game/dota/scripts/vscripts/OpenHyperAI/bots' ~/'Steam/steamapps/common/dota 2 beta/game/dota/scripts/vscripts' && sync && cd ~ | cd ~/'Steam/steamcmd' && ~/'Steam/steamcmd/steamcmd.sh' +login 'Espionage724' +app_update '570' +quit && ~/'Steam/steamcmd/steamcmd.sh' +login 'Espionage724' +app_update '1628350' +quit && rm -Rf ~/'Steam/steamapps/common/dota 2 beta/game/dota/scripts/vscripts/bots' ~/'Steam/steamapps/common/dota 2 beta/game/dota/scripts/vscripts/OpenHyperAI' && git clone --branch 'main' --depth '1' --recurse-submodules 'https://github.com/forest0xia/dota2bot-OpenHyperAI.git' ~/'Steam/steamapps/common/dota 2 beta/game/dota/scripts/vscripts/OpenHyperAI' && mv ~/'Steam/steamapps/common/dota 2 beta/game/dota/scripts/vscripts/OpenHyperAI/bots' ~/'Steam/steamapps/common/dota 2 beta/game/dota/scripts/vscripts' && sync && cd ~ |
| |
* Validate | ====== Dependencies ====== |
| |
cd ~/'Steam/steamcmd' && ~/'Steam/steamcmd/steamcmd.sh' +login 'Espionage724' +app_update '570' validate +quit && sync && cd ~ | **** |
| |
| sudo zypper install git-core libvulkan_intel |
| |
====== SteamCMD ====== | ====== SteamCMD ====== |
| |
* https://developer.valvesoftware.com/wiki/SteamCMD#Manually | * https://developer.valvesoftware.com/wiki/SteamCMD#Manually |
| |
sudo apt install 'lib32gcc-s1' | |
| |
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 |
| |
~/'Steam/steamapps/common/SteamLinuxRuntime_sniper/run' -- ~/'Steam/steamapps/common/dota 2 beta/game/dota.sh' -autoconfig -vulkan_disable_steam_shader_cache -novid -nodev -nojoy -console | ~/'Steam/steamapps/common/SteamLinuxRuntime_sniper/run' -- ~/'Steam/steamapps/common/dota 2 beta/game/dota.sh' -autoconfig -vulkan_disable_steam_shader_cache -novid -nodev -nojoy -console |
| |
==== AppArmor TODO ==== | |
| |
sudo sysctl --write 'kernel.apparmor_restrict_unprivileged_userns'='1' | |
| |
sudo sysctl --write 'kernel.apparmor_restrict_unprivileged_userns'='0' | |
| |
sudo sysctl --write 'kernel.apparmor_restrict_unprivileged_userns'='0' && ~/'Steam/steamapps/common/SteamLinuxRuntime_sniper/run' -- ~/'Steam/steamapps/common/dota 2 beta/game/dota.sh' -vulkan_disable_steam_shader_cache -novid -nodev -nojoy -console & sleep '3' && sudo sysctl --write 'kernel.apparmor_restrict_unprivileged_userns'='1' | |
| |
==== Settings Save ==== | ==== Settings Save ==== |
| |
~/'Steam/steamapps/common/SteamLinuxRuntime_sniper/run' -- ~/'Steam/steamapps/common/dota 2 beta/game/dota.sh' -vulkan_disable_steam_shader_cache -novid -nodev -nojoy -console +sv_lan '1' +dota_bot_practice_difficulty '4' +dota_start_ai_game '1' +map 'dota' | ~/'Steam/steamapps/common/SteamLinuxRuntime_sniper/run' -- ~/'Steam/steamapps/common/dota 2 beta/game/dota.sh' -vulkan_disable_steam_shader_cache -novid -nodev -nojoy -console +sv_lan '1' +dota_bot_practice_difficulty '4' +dota_start_ai_game '1' +map 'dota' |
| |
| === Test === |
| |
| **** |
| |
| ~/'Steam/steamapps/common/SteamLinuxRuntime_sniper/run' --devel --systemd-scope --import-vulkan-layers --remove-game-overlay -- ~/'Steam/steamapps/common/dota 2 beta/game/dota.sh' -vulkan_disable_steam_shader_cache -vulkan_disable_graphics_pipeline_library -novid -nodev -nojoy -console +sv_lan '1' +dota_bot_practice_difficulty '4' +dota_start_ai_game '1' +map 'dota' |
| |
====== Bots Scripts ====== | ====== Bots Scripts ====== |
| |
* Bot scripts are automatically loaded and used if present ((apparently relies on a ''Local Dev Script'' feature and the scripts being in a ''bots'' folder at ''dota\scripts\vscripts'')) | * Bot scripts are automatically loaded and used if present ((apparently relies on a ''Local Dev Script'' feature and the scripts being in a ''bots'' folder at ''dota\scripts\vscripts'')) |
| |
sudo apt install 'git' | |
| |
gio open ~/'Steam/steamapps/common/dota 2 beta/game/dota/scripts/vscripts' | gio open ~/'Steam/steamapps/common/dota 2 beta/game/dota/scripts/vscripts' |
| |
====== Desktop Launcher ====== | ====== Desktop Launcher ====== |
| |
| * TODO: Update scripts |
| |
mkdir -p ~/'.local/share/applications/Valve' && nano ~/'.local/share/applications/Valve/Dota 2 - Bots.desktop' && sed -i 's/'CHANGEME'/'$USER'/g' ~/'.local/share/applications/Valve/Dota 2 - Bots.desktop' && update-desktop-database --quiet ~/'.local/share/applications' | mkdir -p ~/'.local/share/applications/Valve' && nano ~/'.local/share/applications/Valve/Dota 2 - Bots.desktop' && sed -i 's/'CHANGEME'/'$USER'/g' ~/'.local/share/applications/Valve/Dota 2 - Bots.desktop' && update-desktop-database --quiet ~/'.local/share/applications' |