projects-jenz/AutismBotIngame
2024-03-03 14:18:30 +01:00
..
python appereantly missed that on git lol 2024-03-03 11:43:13 +01:00
scripting multiple syntax updates to adjust for 1.11.0.6946 SM build 2023-08-29 18:11:52 +02:00
autismrunner@.service updated service, python script and README for flatpak steam and solving shared memory being full 2023-02-13 21:38:06 +01:00
README.md . 2024-03-03 14:18:30 +01:00

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 pyhoca-cli (pyhoca-cli --server localhost -N) #needed to avoid x2go client login

apt-get install xvfb xserver-xephyr tigervnc-standalone-server x11-utils gnumeric #needed to avoid x2go client login

pip3 install pyvirtualdisplay pillow EasyProcess #needed for virtual display, create it inside a venv


#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
chmod g+x /home/user1


dpkg-reconfigure locales

en_US.UTF 8

apt install libgtk2.0-0:i386

x2go or nomachine or VNC client/server setup <br/>
steam account with css purchased
# launch commands

/home/gameservers/.steam/debian-installation/steamapps/common/Counter-Strike Source/cstrike/cfg/autoexec.cfg: <br/>
alias loop "exec looptest.cfg; wait 5; loop;"; wait 5; loop; <br/>
(textmode is no video output) <br/>

exporting correct SDL_VIDEO_X11_VISUALID value is important before steam login for starting games correctly <br/>
<br/> With the virtual desktop related to the VNC/x2go/nomachine client you can log into steam using the normal GUI -> <br/>
once logged in steam can run actively for months without requiring restarts

## bashrc for x2go users
in the users thats running a x2go 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
    /home/$USER/.steam/debian-installation/steam.sh -applaunch 240 -textmode -novid -nosound -noipx -nojoy -noshaderapi

fi

#-no-browser +open steam://open/minigameslist reduces cpu being used by steam

##steam settings -> library -> low bandwith mode and low performance mode

#X2GO_NXAGENT_DEFAULT_OPTIONS="-options nx/nx,sleep=0"  /etc/x2go/x2goagent.options   

#keeps session as R instead of S which is needed for interaction with graphical components such as steam and CS:S

ovh: 0x205, 0x209

#if running steam native libraries instead of runtime libraries one  might require following apt install for making libpipewire work 
#specifically on debian steam
apt install pipewire:i386
apt-get install libbz2-1.0:i386

#further steam native libraries specifically for debian
apt-get install libxtst6:i386 libxrandr2:i386 libglib2.0-0:i386 libgtk2.0-0:i386 libpulse0:i386 libgdk-pixbuf2.0-0:i386 libcurl4-openssl-dev:i386 libopenal1:i386 libusb-1.0-0:i386 libdbus-glib-1-2:i386
apt-get install libsm6:i386

#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