.. | ||
python | ||
scripting | ||
autismrunner@.service | ||
README.md |
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: <br/>
alias loop "exec looptest.cfg; wait 5; loop;"; wait 5; loop; <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/>
## 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.
manually checking if a autism bot is scuffed: disable the game lauching in the .bashrc file of the user -> su autismbotx (replace x with 1,2,3,4) -> vncserver -localhost no -geometry 800x800 -depth 24 -> locally run vncviewer -SecurityTypes VncAuth,TLSVnc IP:X (replace x with display number)
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