# requirements dpkg --add-architecture i386 apt-update apt install steam apt-get install mesa-utils apt install mesa-vulkan-drivers libglx-mesa0:i386 mesa-vulkan-drivers:i386 libgl1-mesa-dri:i386 libxtst6:i386 libpipewire-0.3-dev libbz2-dev apt-get install xvfb xserver-xephyr tigervnc-standalone-server x11-utils gnumeric #NOTICE: steam might not be able to launch in case of the tmpfs /dev/shm filesystem being full. it seems safe to just delete u1001-Shm_* files and u1002-Shm_ files. It should be fine because the files exists as long as at least one process has them open. So until steam is killed i assume. You dont need to be root for killing them, the user running the bot has permissions to rm the files #intel specific: apt-get remove xserver-xorg-video-intel #fonts #remember to check locally if font is available. #on arch based distributions: xorg-fonts-misc #probably good idea to symlink the download folder ln -s /home/autismbot1/.steam/debian-installation/steamapps/common/Counter-Strike\ Source/cstrike/download /home/autismbot2/.steam/debian-installation/steamapps/common/Counter-Strike\ Source/cstrike/download dpkg-reconfigure locales en_US.UTF 8 apt install libgtk2.0-0:i386 /home/gameservers/.steam/debian-installation/steamapps/common/Counter-Strike Source/cstrike/cfg/autoexec.cfg:
alias loop "exec looptest.cfg; wait 5; loop;"; wait 5; loop;
exporting correct SDL_VIDEO_X11_VISUALID value is important before steam login for starting games correctly

With the virtual desktop related to the VNC/x2go/nomachine client you can log into steam using the normal GUI ->
## bashrc for users in the users thats running a session edit the .bashrc file and add the follwing (remember SDL_VIDEO_X11_VISUALID deppends on glxinfo from xterm terminal): if [[ $DISPLAY ]]; then echo 'SDL_VIDEO_X11_VISUALID: ' $SDL_VIDEO_X11_VISUALID export SDL_VIDEO_X11_VISUALID=0x205 echo 'SDL_VIDEO_X11_VISUALID: ' $SDL_VIDEO_X11_VISUALID dbus-run-session /usr/games/steam -applaunch 240 -novid -noipx -nojoy -noshaderapi fi 0x205, 0x209 #if running steam native libraries instead of runtime libraries one might require following apt install for making libpipewire work #check if all libs are present with cd ~/.steam/steam/ubuntu12_32 LD_LIBRARY_PATH=. ldd vgui2_s.so 2024 january note: If bots cant launch check if /dev/shm is full (files exist on system as long as a process keeps them open, so memory fully used and none available). df -h -> check /dev/shm/ tmps filesystem pgrep -u autismbot2 pkill -9 -u autismbot2 2024 february note: if steamwebhelper is stuck try to clean out /tmp folder, there might be a lot of leftover files for steam and chromium based processes that steamwebhelper generated. remember to also delete in the dumps folder cause it might be spammed with a lot files. Recreate the dumps folder. Owned by user root and group autismbots. groupadd autismbots usermod -a -G autismbots autismbot1 usermod -a -G autismbots autismbot2 usermod -a -G autismbots autismbot3 usermod -a -G autismbots autismbot4 chown root:autismbots -R /tmp/dumps chmod 755 -R /tmp/dumps remember to remove source_engine*.lock files from /tmp if they tend to clamp things up. now using tigervnc instead of x2go. vncviewer -SecurityTypes VncAuth,TLSVnc ip:X Display for example: vncviewer -SecurityTypes VncAuth,TLSVnc 127.0.0.1:1 limiting cpu can throttle the download speed as well. if bots cant connect and are missing files, let them try to download stuff with the cpu limiting commented out instead. #pip3 extra pip3 install watchdog