css-ze webclient to play on unloze with: https://webclient.unloze.com/

the entire code base of Dockerfile, html, python, json, sh and js is AI Code with almost no human edits being made.

notes

uses gstreamer, weston, lavapipe, css inbuilt DXVK, vulkan, a signaling server, html, docker and cloudflare serverless SFU.

docker rm css-test docker build -t css-client .

pre installment step for signaling-server

cd ~/webclient_css_ze/streaming-agent && npm install

pre shader creation for mounting

touch /home/gameservers/webclient_css_ze/dxvk-cache mkdir -p /home/gameservers/webclient_css_ze/mesa-shader-cache chmod 777 /home/gameservers/webclient_css_ze/mesa-shader-cache

first run

./start-signaling.sh

second run mounting points for content

mkdir -p /mnt/merged-cstrike/{maps,materials,models,sound}

for asset in maps materials models sound; do mount -t overlay overlay
-o lowerdir=/home/gameservers/css_ze/cstrike/$asset:/home/gameservers/css_mg/cstrike/$asset:/home/gameservers/css_zr/cstrike/$asset
/mnt/merged-cstrike/$asset done

vim /etc/fstab overlay /mnt/merged-cstrike/maps overlay ro,lowerdir=/home/gameservers/css_ze/cstrike/maps:/home/gameservers/css_mg/cstrike/maps:/home/gameservers/css_zr/cstrike/maps,nofail,x-systemd.requires-mounts-for=/home/gameservers/css_ze,x-systemd.requires-mounts-for=/home/gameservers/css_mg,x-systemd.requires-mounts-for=/home/gameservers/css_zr 0 0 overlay /mnt/merged-cstrike/materials overlay ro,lowerdir=/home/gameservers/css_ze/cstrike/materials:/home/gameservers/css_mg/cstrike/materials:/home/gameservers/css_zr/cstrike/materials,nofail 0 0 overlay /mnt/merged-cstrike/models overlay ro,lowerdir=/home/gameservers/css_ze/cstrike/models:/home/gameservers/css_mg/cstrike/models:/home/gameservers/css_zr/cstrike/models,nofail 0 0 overlay /mnt/merged-cstrike/sound overlay ro,lowerdir=/home/gameservers/css_ze/cstrike/sound:/home/gameservers/css_mg/cstrike/sound:/home/gameservers/css_zr/cstrike/sound,nofail 0 0

third run

docker run -d --name css-test -e SIG_URL=ws://172.17.0.1:3000 -e CONTAINER_NAME=css-test -e CF_APP_ID= -e CF_APP_TOKEN= -e CAP_FPS=60 -e CAP_W=800 -e CAP_H=600 --cpus="8.0"
-v /mnt/merged-cstrike/maps:/home/ubuntu/Counter-Strike\ Source/cstrike/maps:ro
-v /mnt/merged-cstrike/materials:/home/ubuntu/Counter-Strike\ Source/cstrike/materials:ro
-v /mnt/merged-cstrike/models:/home/ubuntu/Counter-Strike\ Source/cstrike/models:ro
-v /mnt/merged-cstrike/sound:/home/ubuntu/Counter-Strike\ Source/cstrike/sound:ro
-v /home/gameservers/webclient-ubuntu26/dxvk-cache:/home/ubuntu/Counter-Strike\ Source/cstrike_win64.dxvk-cache
-v /home/gameservers/webclient-ubuntu26/mesa-shader-cache:/home/ubuntu/.cache/mesa_shader_cache
css-client

docker logs -f css-test

pkill -f signaling-server.js

pgrep -f signaling-server.js

to change screen resolution:

autoexec.cfg -> mat_setvideomode 800 600 0

start.sh -> weston --backend=headless-backend.so --width=800 --height=600 --no-config &

the nosteam.zip and the wine_user_folder.zip are not intended to be uploaded to git.

the wine_user_folder.zip is just the generic .wine folder that is used. the nosteam.zip is the Counter Strike Source folder for nosteam when using 7launcher.

However both are uploaded to the unloze fastdownload over at: https://uk-fastdl.unloze.com/css_ze/webclient_zips/

of course if you view this repository 7-10 years later in the future theres a good chance the url is probably not working any longer.

the client launches the game with -vulkan parameter specified in the rev.ini.

CSS DirectX9 → built-in DXVK → Vulkan → Wine Wayland driver → Weston (lavapipe/llvmpipe) → Xwayland → X11 → ximagesrc capture for gst_agent

using DXVK cache and MESA_SHADER_CACHE which are mounted volumes

S
Description
No description provided
Readme
429 KiB
Languages
HTML 32%
JavaScript 28.6%
Python 20.5%
Shell 16.6%
Dockerfile 2.3%