← Zpět k Ohništi

Provoz a spotřeba

Jak hru vyzkoušet, co při tom spotřebuješ a kde to ověřit. Přehled pro správce; k hraní žádný účet nepotřebuješ.

Aktuální konfigurace zatím neověřena. Poslední nasazené nastavení používá předpočítaný slovník a při hraní nevolá AI.

První hra za minutu

30sekundová ukázka: pozoruj tři hráče, mlhu, shodné tipy a finiš. Automatický průběh, pauza, opakování a výběr pohledu. Statický záznam skutečných herních stavů; žádné herní API ani AI dotazy.

Laboratoř významů: vyber cíl, přepínej jeho odhalení a otevři celé pořadí slov s teplotou i podobností. Filtr uvádí počet z celého slovníku; žádný top-N limit. Stejné skórování jako ve hře, bez AI dotazů.

  1. Otevři hru pro jednoho zadej jméno a stiskni Hrát. Po třech sekundách můžeš hádat.
  2. Zkus například pes, strom a voda. Sleduj teplotu, pořadí a světlo na mapě. Přesné tajné slovo má 100° a #1.
  3. Obnov stránku: tipy zůstanou. Zkus stejný tip dvakrát a slovo zzzzzz: odmítnutí počet tipů nezvýší.
  4. Přes Vzdát odhal slovo. V sólu můžeš hned začít další kolo.

Slovo dne má pro všechny stejný cíl, ale soukromou cestu. Mění se o půlnoci v Europe/Prague. Stejné jméno ve stejném prohlížeči obnoví dnešní pokus. Jiné jméno má vlastní postup. Po půlnoci nabídne starší cesta tlačítko Hrát dnešní slovo; vrátit se k ní můžeš přes Zpět, dokud nevyprší. Medaile jsou společné podle jména: nejlepší počet tipů, shody sdílejí místo. Jde o hru na důvěru; nový prohlížeč může založit další pokus.

Závod s přáteli: zadej přezdívku, založ místnost a pošli pozvánku. Pro test druhého hráče použij jiný prohlížeč nebo anonymní okno. Druhá běžná karta obnovuje stejného hráče. Host spouští závod, ostatní nejdřív potvrdí připravenost.

Založit závod tě přidá jako hráče. Samostatné Založit jako pozorovatel vytvoří hosta, který řídí start a kolo, ale nehádá a nezabírá místo hráče. Pozorovatel živého závodu má vlastní WebSocket připojení a vidí celou mapu; tipy hráčů si může zobrazit přepínačem. Výchozí stav je vypnuto; hráči cizí tipy nedostávají.

200 tipů na hráče a kolo, až 8 hráčů v závodě. Cesta zaniká 24 hodin po založení. Sólo i slovo dne obnovíš přes odkaz nebo výběr režimu se stejným jménem. Uložení potřebuje místní úložiště prohlížeče. Současný slovník je omezený a kvalitu významových vztahů ještě ladíme.

Co která akce spotřebuje

Následující tabulka platí při vypnutých živých embeddings. Sólu, slovu dne i závodu slouží stejný backend.

Akce, cloudové operace a odpovídající metriky
AkceCo proběhneKde to hledat
Otevřít stránkuStatické HTML, CSS, JS a SVG z Pages. Hra i tento přehled navíc jednou načtou /api/health. Žádná AI.Pages přenosy; Worker HTTP požadavky.
Psát, skrýt mapu, změnit motiv nebo řazení, stáhnout tipyLokální práce prohlížeče. Žádná nová API volání. Běžící připojení hry zůstává aktivní.Žádný nový záznam této akce v cloudu.
Založit / obnovit cestuHTTP + WebSocket, čtení a zápis místnosti, časovače. Slovo dne navíc čte /api/daily; výběr cíle je lokální výpočet serveru.Worker; Durable Object RaceRoom; log room_action.
Půlnoc / Hrát dnešní slovoObjevení tlačítka je lokální: žádný HTTP dotaz ani zpráva. Kliknutí ověří den přes /api/daily a obnoví či založí dnešní cestu jako v řádku výše. Žádná AI.Samotná půlnoc nemá cloudovou metriku. Až kliknutí: Worker a RaceRoom.
Platný nový tip1 zpráva do místnosti → 1 interní požadavek do SemanticCache → předpočítané skóre → zápis historie a rozeslání stavu. 0 Gemini požadavků, 0 AI neuronů.Oba Durable Objects; semantic_lookup: corpus_hit, room_action: guess / ok.
Laboratoř, mlha, high fiveLaboratoř: HTTP seznam cílů, pak 1 WebSocket inspekce za kolo; přepínání a filtr jsou lokální. Mlha: host změní nastavení, odkrývání je lokální. Shoda slov přidá anonymní záznam do běžného stavu. Žádná AI.inspect / ok bez zápisu historie; fog / ok se zápisem. High five nemá samostatný požadavek.
Neznámé / opakované slovoNeznámé slovo prověří SemanticCache, ale neuloží tip. Opakovaný nebo neplatný tip odmítne místnost ještě před lookupem. Žádná AI.corpus_miss jen u neznámého; guess / rejected. Počet tipů se nemění.
Připravenost, start, vzdání, další koloWebSocket zpráva a zápis stavu; start používá serverový časovač. Denní další kolo server odmítne.RaceRoom požadavky, aktivní čas, storage, room_action.
Obnovení / nečinná kartaReconnect nebo Pokračovat tady znovu připojí stejného hráče a zapíše stav. Rozpracovaný tip se neodesílá automaticky. Návrat na připojenou kartu posílá sync bez zápisu historie. Keepalive každých 20 s má automatickou odpověď bez probuzení JS. Zavření karty ukončí připojení.WebSocket provoz; join / ok. Hibernace omezuje aktivní čas. Žádný AI dotaz.
Tipy pozorovatele1 WebSocket zpráva při přepnutí, bez zápisu historie. Zapnutý přehled přidá seznamy tipů do stávajících odpovědí jen tomuto pozorovateli (nejvýše 8 × 200 tipů). Žádné nové dotazy za každý tip, žádná AI. Ukázka vše řeší lokálně.watch-words / ok; větší WebSocket odpovědi při zapnutí.
Denní medaileZobrazení nebo Obnovit: HTTP čtení z DailyLeaderboard, bez pollingu. Dohrání: jeden interní zápis nejlepšího výsledku podle jména; při selhání uložený retry po 60 s. Žádná AI. Jména i skóre jsou veřejné, slovo se neposílá.daily_board: read, daily_score: saved, případně daily-score / retry; SQL čtení/zápisy a DO požadavky.
Soukromý Gemini experimentJen chráněné API. Cache hit / čtení stavu: žádné Google volání. Cache miss: rezervace kvóty, externí embedding požadavek a uložení vektoru. Odmítnutí rozpočtem nevolá Google.Gemini projekt, SemanticCache, experiment_embedding, trvalý rozpočtový ledger.

Při zápisu místnost ukládá metadata, tokeny a historii každého hráče: 2 + počet hráčů hodnot. Skutečné účtované SQL řádky, aktivní čas a cache závisí na runtime. Počet logů ani součet grafů není přesný účet za jednu akci.

Dashboardy a jejich význam

Cloudflare · Workers & Pages
Vyber ohniste pro statický web, deployments a Pages Functions; ohniste-game → Metrics pro backendové požadavky, CPU a chyby, Observability / Logs pro události. /api/* jde přes Pages service binding do herního Workeru.
Cloudflare · Durable Objects
Vyber namespace RaceRoom , SemanticCache nebo DailyLeaderboard pod ohniste-game, pak Metrics / Logs. Místnosti: zprávy, doba běhu, čtení/zápisy a uložená data. SemanticCache: lookupy a soukromé embedding experimenty. Lze filtrovat konkrétní objekt.
Cloudflare · Workers AI
Neurony a inference. Po běžné hře se spotřeba zvýšit nemá. Dřívější příprava slovníku přes BGE-M3 se objevuje zde; aktivní herní Worker nemá AI binding.
Google AI Studio · Usage
Vyber projekt ohniste-embeddings (393540390968), model gemini-embedding-2, Usage a Rate limits. Počty požadavků a vstupních tokenů se mění jen při soukromých experimentech mimo cache. Limity platí pro celý projekt, ne samostatně pro každý klíč.
Google Cloud · Generative Language API
Doplňkový pohled na API provoz, chybovost a latenci projektu. Aktivní modelové limity ověřuj v AI Studio. Nejde o další službu účtovanou za hru.
Porkbun · doména
DNS a obnova domény zelinka.dev. Kliknutí ani tipy nespotřebovávají embedding kvótu u registrátora. Doména se obnovuje zvlášť.

Dashboardy vyžadují účet jejich vlastníka. Hra, deployment i měření přes API používají klíče/tokeny a nepotřebují otevřenou přihlášenou kartu. Na této veřejné stránce nejsou klíče ani soukromé počty spotřeby. Nepoužíváme další analytické nebo AI služby.

Jak ověřit vlastní test

  1. Poznamenej čas a kód místnosti z adresy. V Cloudflare nastav krátké období, například posledních 15 minut.
  2. Odešli jeden platný tip, pak tentýž znovu a nakonec zzzzzz. V reálných logách čekej hit + přijatý tip, odmítnutý duplikát a miss + odmítnutý neznámý tip.
  3. Porovnej AI spotřebu před a po. Pro běžnou hru má být rozdíl nula. Cloudflare metriky mohou mít zpoždění, sdílejí účet s ostatním provozem a některé WebSocket údaje dorazí až po uzavření spojení.

Uložené logy mají sampling 10 %. Chybějící událost v nich nedokazuje, že akce neproběhla. Pro živý malý test spusť z repozitáře:

bunx wrangler@4.130.0 tail ohniste-game --format=json

Hledej room_action s kódem místnosti a semantic_lookup. Logujeme typ akce, výsledek, režim a kolo, nikoli tipy, tajné slovo, jména či tokeny. Živý tail není trvalý čítač a při vysokém provozu může být také vzorkovaný.

Bezpečný rozpočet při testování

Testy zastavujeme před dosažením poloviny bezplatné kvóty. Gemini gate při ověřeném limitu 1 000 požadavků/den dovolí nejvýše 499 rezervací, hlídá i minutu a tokeny a nevrací rezervaci po chybě. Google den se mění o půlnoci pacifického času. Cloudflare den se mění v 00:00 UTC; Workers AI má stop pod 5 000 neurony z 10 000.

Cloudflare požadavky a storage kontroluje provozní preflight. Hra zatím nemá automatický vypínač na 50 % celkové Cloudflare kvóty. Tento přehled ukazuje konfiguraci a vysvětlení, nikoli živý billing. Není zde automatické sledování ani pravidelná úloha.

Lokálně spusť bun run dev a otevři localhost:8787. Wrangler používá lokální Durable Objects; s aktuální konfigurací nespotřebuješ žádné produkční API ani AI kvóty.

Zdroje, ověřeno 13. 9. 2026: Pages pricing (statické požadavky zdarma), Durable Objects pricing (příchozí WebSocket zprávy v účtování 20:1, metriky ukazují skutečný počet; odchozí zprávy bez poplatku), Workers Logs, DO metriky, Workers AI pricing, Gemini limity.