Go to file
2026-06-30 13:00:09 +01:00
streaming-agent slight improvements to the controller 2026-06-30 13:00:09 +01:00
.gitignore adding mesa shadder cache as mounted volume 2026-06-14 12:55:40 +01:00
client.html slight improvements to the controller 2026-06-30 13:00:09 +01:00
Dockerfile updated to ubuntu 26 2026-06-25 21:45:15 +01:00
README.md update readme 2026-06-30 10:15:19 +01:00
start-signaling.sh instead of restarting the whole container we now just restart css, much faster 2026-06-10 16:08:25 +01:00
start.sh updated to ubuntu 26 2026-06-25 21:45:15 +01:00

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

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 /home/gameservers/css_ze/cstrike/maps:/home/ubuntu/Counter-Strike\ Source/cstrike/maps:ro -v /home/gameservers/css_ze/cstrike/materials:/home/ubuntu/Counter-Strike\ Source/cstrike/materials:ro -v /home/gameservers/css_ze/cstrike/models:/home/ubuntu/Counter-Strike\ Source/cstrike/models:ro -v /home/gameservers/css_ze/cstrike/sound:/home/ubuntu/Counter-Strike\ Source/cstrike/sound:ro -v /home/gameservers/webclient_css_ze/dxvk-cache:/home/ubuntu/Counter-Strike\ Source/cstrike_win64.dxvk-cache -v /home/gameservers/webclient_css_ze/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