added support for robots.txt and llm.txt so bots and ai agents can fetch the subdomain

This commit is contained in:
2026-08-22 10:25:03 +01:00
parent c25947e994
commit cad896b770
2 changed files with 103 additions and 2 deletions
+28 -2
View File
@@ -12,7 +12,29 @@
</script>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>CSS Stream</title>
<title>Play Counter-Strike Source in Your Browser — UNLOZE Webclient (No Steam Required)</title>
<meta name="description" content="Free browser-based Counter-Strike Source client — no Steam account, no download or install required. Play Zombie Escape, Minigames, and Zombie Riot on UNLOZE's community servers directly from your web browser." />
<meta property="og:title" content="UNLOZE Webclient — Play Counter-Strike Source in Your Browser" />
<meta property="og:description" content="Free browser-based Counter-Strike Source client. No Steam account or download needed. Play Zombie Escape, Minigames, and Zombie Riot instantly." />
<meta property="og:url" content="https://webclient.unloze.com/" />
<meta property="og:type" content="website" />
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "WebApplication",
"name": "UNLOZE Webclient",
"url": "https://webclient.unloze.com/",
"description": "A free, browser-based streaming client for Counter-Strike Source. Requires no Steam account or local installation — play directly in the browser via WebRTC.",
"applicationCategory": "Game",
"operatingSystem": "Any (runs in a web browser)",
"isAccessibleForFree": true,
"publisher": {
"@type": "Organization",
"name": "UNLOZE",
"url": "https://unloze.com"
}
}
</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/webrtc-adapter/8.1.2/adapter.min.js"></script>
<style>
* { margin: 0; padding: 0; box-sizing: border-box; }
@@ -654,11 +676,15 @@
}
}, 3000);
// Mousemove handler now does the absolute minimum work possible: just
// accumulate the delta, no timestamp math or conditional logic inline.
// The actual network send happens in a requestAnimationFrame loop
// below instead of a manual setInterval-style throttle — RAF aligns
// with the browser's own natural scheduling/render cadence, which
// browsers are heavily optimized to prioritize correctly even under
// other event traffic (like rapid wheel scrolling)
// other event traffic (like rapid wheel scrolling), unlike two
// independent unsynchronized performance.now() timers competing for
// the same event loop.
let accumDx = 0, accumDy = 0;
let hasPendingMove = false;
document.addEventListener('mousemove', e => {