added support for robots.txt and llm.txt so bots and ai agents can fetch the subdomain
This commit is contained in:
+28
-2
@@ -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 => {
|
||||
|
||||
Reference in New Issue
Block a user