Stisknutím "Enter" přejdete na obsah

Jak AI agent upgradoval pětiletý kostičkový svět z Minetestu 5.4 na Luanti 5.17 bez ztráty bloku


V říjnu 2020 jsem postavil kostičkový server pro moje děti a děti kamarádů. O pět let později, v září 2026, svět běží dál na stejné mapě, má 138 modifikací a za sebou upgrade, kterého jsem se bál nejvíc: přechod z Minetestu 5.4.1 na Luanti 5.17.0 bez jediného unknown bloku. Rozdíl mezi érou 2020–2022 a zářím 2026 je v tom, kdo upgrade provedl. Poprvé člověk bez času, podruhé AI agent s plným přístupem na testovací server a sadou bran, které nedovolí nasadit nic, co by rozbilo starou mapu.

Proč kostičkový svět a proč ne Minecraft

Minecraft je placená hra s uzavřeným kódem, ke hraní je potřeba účet Microsoftu (podpora Minecraftu) a koupená licence (oficiální obchod). Pro komunitní server pro děti jsem chtěl opak: engine zdarma, otevřený kód, mapa a data plně pod mojí kontrolou, možnost provozovat server na vlastním železe v hostingovém prostředí, ke kterému mám přístup. Volba padla na Minetest, voxelový engine s otevřeným kódem, který se v říjnu 2024 přejmenoval na Luanti. Hra samotná je zdarma ke stažení, server běží na vlastním stroji a nikdo mi nemůže vypnout účet ani změnit licenční podmínky pod rukama.

Nejde o to, že by Luanti byl „lepší než Minecraft“ — takový výrok by byl marketing, ne fakt. Jde o jiný obchodní model: nulová cena za licence pro každé dítě, plná kontrola nad světem, ve kterém děti staví roky, a možnost do enginu i modifikací vidět a zasahovat. Právě ta třetí vlastnost se v září 2026 ukázala jako klíčová.

Pět let provozu „jakž takž“

První commit repozitáře minetest-mm je z 25. října 2020. Server jsem postavil, děti ho vzaly za svůj a mapa rostla. Na další správu, údržbu a opravy ale jednoduše nebyl čas. Server vykazoval občasné chyby, pády řešil restart přes systemd a všechno fungovalo — jakž takž.

Dva problémy se vracely. Při upgradu vznikaly na mapě takzvané unknown bloky: místa, kde engine přestal znát definici bloku, a místo stavby zbyl ošklivý zástupný symbol. A řada věcí nešla vyrobit, protože si recepty dvou modifikací nárokovaly stejný výrobní vzor — konflikt v receptech, který hráč pozná až ve chvíli, kdy mu z craftingu vypadne něco jiného, než čekal. Pády byly vzácné, hůř reprodukovatelné a ladění nudné. Klasická kombinace: nic nehoří dost na to, aby člověk sedl a přepsal to, a všechno hnije dost na to, aby se člověk bál sáhnout na upgrade.

Co agent dostal do ruky

Po pěti letech provozu jsem zkusil AI agenta: Muse Spark 1.3 ve variantě Contributor, běžícího v Hermes Agentovi. Agent dostal plný přístup na můj devel-testing server — věrnou kopii produkce, na které se dá cokoli rozbít bez následků. Zadání znělo: upgradovat celé repo na k září 2026 nejnovější verzi Luanti 5.17.0 a nejnovější verze modifikací a navrhnout brány celého projektu tak, aby se předešlo všemu, co jsem doteď řešil ručně nebo „až si někdo všimne“. Podmínka byla tvrdá: stoprocentní kompatibilita s pět let běžícími servery s velkými mapami.

Brány jsme navrhli společně — já jsem definoval, co mě za pět let bolelo, agent navrhl mechanismy, které tu bolest detekují automaticky. V září 2026 přibylo do repozitáře 53 commitů, tedy víc než za celé předchozí roky dohromady, a 25. září 2026 jsem vydal verzi 1.0.0. Celkem má master 238 commitů.

Dvě brány proti dvěma starým bolestem

První bolest — unknown bloky — řeší registr uzlů. Skript staticky vytáhne všechny registrace bloků z modifikací i hry, pomocný mod na běžícím serveru vypíše skutečně registrované uzly enginu a výsledek se porovná se zmrazeným seznamem z verze 5.4.1. Každý odstraněný nebo přejmenovaný uzel musí dostat alias v našem kompatibilním modu mm_compat, jinak brána upgrade neschválí. Runtime registr verze 5.17.0 čítá 32 825 řádků — to je autoritativní seznam všeho, co engine zná.

Druhou bolest — konflikty receptů — řeší craft-brána. Pomocný mod vypíše všechny recepty tak, jak je vidí běžící engine (sloučená tabulka hry a modů, vyřešené aliasy), analyzátor je klasifikuje na tvrdé konflikty, stínové kolize a vyřešené páry a brána pustí dál jen stav s nulou tvrdých konfliktů. Opravy žijí v souboru craft_recipes.lua uvnitř mm_compat: každý pár se řeší oboustranně — nejdřív se vyčistí kolidující vzor, pak se zaregistruje vítězná kopie a poraženému se dá nový recept. Jednou přidaný recept se už nikdy nemění.

Kolem toho stojí pre-push hook, který každý push zkontroluje za pár sekund: synchronizaci přibalených kopií, únik tajemství do veřejného repozitáře, regresní testy, duální kontrolu uzlů proti oběma výchozím seznamům, nesplněné závislosti modů a platnost verzových zámků. Pomalé kontroly (plná analýza receptů trvá minuty) patří do nočního běhu, ne do každého pushe — i tohle rozdělení je součástí návrhu.

Upgrade 5.4.1 → 5.17.0 bez ztráty bloku

Samotný upgrade proběhl na devel-testingu 23. září 2026. Engine povýšil z 5.4.1 na 5.17.0, vydané v srpnu 2026 (mimochodem verzi, která opravovala kritické bezpečnostní chyby (sandbox-escape u singleplayeru a her hostovaných z menu, který se serverů netýká, plus další zranitelnosti)), hra minetest_game na commit c42e4d0c a všech 138 modifikací na pinované upstream commity ze souborů mods-versions.lock a game-versions.lock. Porovnání runtime dumpů před a po: 31 650 → 32 825 registrací, tedy 1 175 nových, a nula ztracených. Žádný unknown blok, žádné mrtvé recepty.

Klíčové je slovo pinované. Každá modifikace je zamčená na konkrétní upstream commit, takže každá instalace i každý upgrade je opakovatelný. Příznak –fresh zámek ignoruje a stáhne nejnovější upstreamy — to je řízený experiment, ne ruleta. A adresář patches/ s devíti patchemi drží naše opravy nad upstreamy idempotentně: dají se aplikovat opakovaně bez vedlejších účinků.

Co je verze 1.0.0

Verze 1.0.0 z 25. září 2026 je sloučení vývojové větve, které uzavřelo čtyři sledované issues: opravy výšky sedu u koně a vozidel, rizikově řazenou kontrolu ochran, překlad dokumentace do angličtiny a konsolidaci mm_compat. Celé repo má 23 015 souborů, z toho 138 adresářů modifikací, přibalenou hru, vlastní kompatibilní mod, devět patchů, adresář bran compat/, git hooky a dokumentaci včetně plánů expanze. Všechno otevřené, všechno verzované, všechno opakovatelné jednou sadou skriptů.

Svět má k dispozici přes 14 tisíc použitelných předmětů — bloků, nástrojů, mobů, prostě všeho, s čím se dá hrát — a přitom má zůstat lehký. Lehkost tu neznamená málo modů, ale málo pohyblivých částí v cestě dat: jeden engine, jedna zamčená hra, deterministický deploy, žádné ruční zásahy na serveru. Těžká je nabídka, lehká je správa.

Co se dá hrát: hvězdné brány, auta, vlaky a vybavený byt

A teď to hlavní pro hráče: co se na serveru dá dělat, když zrovna neběží žádný upgrade. Světem vedou koleje advtrains (ContentDB) — od parních lokomotiv přes průmyslové soupravy až po metro — a kdo nechce čekat na vlak, vezme auto z vehicle_mash (v nabídce je i hot rod), loď či vznášedlo, případně horkovzdušný balón ze samostatného modu hot_air_balloons. A když je cíl opravdu daleko, poslouží hvězdná brána: portál, kterým se cestuje vytočením adresy — naše tematická náhrada za tuctové teleporty, které jsme z budoucích plánů vědomě škrtli.

Doma to žije taky. Balík homedecor s desítkami podmodulů (upstream) a ts_furniture vybaví byt komplet: kuchyň s ledničkou, koupelnu se záchodem, obývák s gaučem a velkou obrazovkou, pracovnu s počítačem. K tomu jukebox na hudbu, šachy a dalších šestnáct deskových her z balíku myboardgames, farmy s včelami, vinohrad, grilování, zvířata, příšery i vesničané, koně k osedlání — a nad tím vším ochrany pozemků, měna s obchody a pošta. Prostě zabydlený svět, ne technologické demo bran.

Tři servery: survival, creative a devel

Svět běží jako trojice: produkční survival server, creative server na stavění bez limitů a devel-testing server, kde agent ladil upgrade a kde se testuje každá novinka dřív, než sáhne na živou mapu. Právě tahle trojice je důvod, proč si upgrade mohl dovolit být odvážný — rozbít se dalo jen něco, co nikomu nechybělo. Adresy a porty najde hráč přímo v popisu repozitáře.

Proč zrovna contribution model: cena, výkon a data za slevu

Primárním důvodem volby Muse Spark 1.3 Contributor přes OpenRouter byl poměr cena/výkon. Model Contributor zlevňuje provoz řádově desetkrát výměnou za právo použít prompty a výstupy ke zlepšování produktu — podle ceníku OpenRouteru jde o 12,5násobek u vstupu a 21,25násobek u výstupu. U důvěrných dat bych takovou směnu nikdy neudělal. Ale tohle je kostičkový svět: repozitář je stejně open-source, prompty popisují recepty a aliasy bloků, žádné tajemství v nich není. Pro nedůvěrná data je tohle podle mě skvělý obchod — Metě data z promptů, mně obří sleva na výpočty.

Vyplatilo se to i jinak: agent pracoval v září 2026 tempem, které bych já vedle práce a rodiny nikdy nedal — desítky commitů s testy na devel-testingu, včetně nočních běhů bran. Nudný debug, který jsem pět let odkládal, je přesně ta práce, kde agent září: je trpělivý, systematický a nikdy ho neomrzí padesátý druhý běh dumpu.

Kolik tahle sranda stála? Z OpenRouter exportu jsem sečetl všech 5 773 placených generací vývojového klíče: 1,49 miliardy prompt tokenů (90,4 % obslouženo z cache) a 3,2 milionu completion tokenů. Na contribution ceníku (0,10 USD za 1M, 0,002 USD za cached, 0,20 USD za výstup) to dělá 17,63 USD. Stejný provoz na standardním tarifu (1,25 / 0,15 cached / 4,25 USD) by vyšel na 394,96 USD — tedy 22,4× dráž. Celý upgrade z 5.4.1 na 5.17.0 včetně 53 commitů a všech bran mě tak stál méně než večeři pro dva.

Co bude dál: víc hratelných věcí, ale nikdy na úkor mapy

Plány (docs/FUTURE_PLANS.md, brainstorm ze září 2026) míří k další expanzi: zhruba sedm desítek kandidátských modifikací v první vlně — nové dimenze nad a pod světem, nábytek, jídlo, logistika, klidní mobové. Každý kandidát prošel rozhodovací bránou a řada jich neprošla: nic, co generuje terén do existujících chunků produkční mapy, na ni nikdy nesmí. Ethereal, Everness, vesnice generované do mapy — to všechno by zanechalo nevratné artefakty, které naše brány nejsou stavěné chytit. Expanze ano, ale jen taková, která nemůže ublížit pětileté mapě.

Cesta od „jakž takž“ k 1.0.0 tak není příběh o tom, že AI nahradila správce. Je o tom, že správce konečně dostal kolegu, který má čas na nudnou práci — a brány, které hlídají, aby se nudná práce nikdy nemusela dělat dvakrát. Mapa, na které před pěti lety stavěly děti, přežila upgrade bez škrábnutí. Víc důkazů, že to celé dává smysl a že AI může být dobrý kolega, není potřeba.

Videoukázka z administrátorského/hráčského pohledu na závěr:


Zdroje


Transparentnost obsahu a AI-asistence

Jak tento článek vznikl:
Tento článek napsal Hermes Agent — open-source sebezdokonalující AI agent (Nous Research) — ve spolupráci s redakcí. Redakce stanovila téma, výzkumný směr a primární zdroje; Hermes připravil rešerši, strukturu a text. Každé klíčové tvrzení prošlo iterativním fact-checkingem se dvěma nezávislými zdroji a slepými kontrolními audity.

Redakční zpracování a ověřování:

  • ✓ Text byl redakčně revidován
  • ✓ Fact-checking: Všechna klíčová tvrzení a data byla ověřena ze dvou nezávislých zdrojů
  • ✓ Korekce faktů a doplnění: Redakce opravila nepřesnosti a doplnila vlastní poznatky
  • ✓ Vícekolový audit: Článek prošel opakovanými blind audity včetně finálního sdíleného kontrolního kola

Omezení AI modelů (důležité varování):
Jazykové modely mohou generovat přesvědčivě znějící, ale nepřesné nebo zavádějící informace (tzv. „halucinace“). Proto důrazně doporučujeme:

  • Ověřit si kritická fakta v primárních zdrojích (oficiální dokumentace, vědecké články, autority v oboru)
  • Nespoléhat se na AI obsah jako na jediný zdroj pro rozhodnutí
  • Aplikovat kritické myšlení při čtení

Našli jste chybu?
Napište nám do komentářů pod článkem — každé upozornění prověříme.

Technické detaily:

  • Agent: Hermes Agent (Nous Research, open-source)
  • Model: Muse Spark 1.3 Contributor (Meta)
  • Metoda: Sebezdokonalující redakční skill — rešerše, návrh, vícekolový blind audit, lidská revize
  • Běh: Vlastní instance Hermes Agenta provozovaná redakcí, napojená na API poskytovatele modelu (nikoli lokální model)

Buďte první! Přidejte komentář

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

limdem.io
Přehled ochrany osobních údajů

Tyto webové stránky používají soubory cookies, abychom vám mohli poskytnout co nejlepší uživatelský zážitek. Informace o souborech cookie se ukládají ve vašem prohlížeči a plní funkce, jako je rozpoznání, když se na naše webové stránky vrátíte, a pomáhají našemu týmu pochopit, které části webových stránek považujete za nejzajímavější a nejužitečnější.

Detaily o ochraně osobních údajů, cookies a GDPR compliance najdete na stránce zásady ochrany osobních údajů.