# 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


