AI asistent umí opravit server v crash loopu a pro jeden druh pádů je opravdu rychlejší než ty: server umírá při startu, protože je konfigurační soubor poškozený, klíč je s překlepem, hodnota je mimo rozsah nebo soubor chybí, a důvod stojí v posledních třiceti řádcích výstupu konzole. V takovém případě je smyčka krátká. Asistent přečte konec konzole, otevře soubor, který chyba uvádí, provede nejmenší úpravu, která to spraví, jednou restartuje a znovu přečte konzoli, aby ověřil, že server prošel místem, kde padal. Všechno ostatní - zabití kvůli nedostatku paměti, poškozená uložená data, aktualizace modu, která rozbila kompatibilitu, cokoli s přihlašovacími údaji nebo parametry spuštění - vyžaduje rozhodnutí člověka a asistentovi to máš říct dřív, než začne.
Tento článek projde celou smyčku na realistickém příkladu, řekne, k čemu asistent potřebuje v jednotlivých krocích přístup, a vypíše pojistky: ty zabudované v panelu RE:NODE i ty, které bys měl přidat do zadání. Většina platí pro jakéhokoli hostitele a jakéhokoli asistenta. Pokud chceš širší pohled na to, kde kódovací agenti pomáhají a kde škodí, přečti si nejdřív AI coding agents for server work; tohle je úzká praktická verze pro jedno špatné odpoledne.
Jak vypadá crash loop a které umí AI opravit#
Crash loop je server, který nastartuje, spadne, je restartován a znovu spadne na stejném místě. V panelu postaveném na Pterodactylu konzole ukáže start, stack trace nebo řádek s chybou, ukončení kontejneru a pak zase start. Pokud jsi ještě nečetl konzoli pod tlakem, stojí za těch pět minut čtení konzole a diagnostika crash loopů popisuje obecný postup úplně bez AI.
Pády se čistě dělí do dvou skupin. První skupina má jednu lokální příčinu, kterou konzole pojmenuje a spraví ji jeden soubor:
- Soubor JSON, YAML, TOML nebo INI se syntaktickou chybou - čárka navíc na konci, tabulátor v YAML, neuzavřená uvozovka.
- Konfigurační klíč se špatným typem hodnoty: řetězec tam, kde se čekalo číslo,
truezapsané jakoyesve formátu, který to nepřijímá. - Cesta v konfiguraci, která ukazuje na neexistující soubor.
- Konfigurace pluginu nebo modu přegenerovaná aktualizací s klíčem, který už starý config neodpovídá.
- Aplikace, které chybí vstupní soubor, startovací skript nebo povinný klíč prostředí.
Druhá skupina má příčinu, která není v žádném jednom souboru, nebo řešení, které není úprava souboru:
- Proces je zabit na limitu paměti. Na RE:NODE jádro kontejner zastaví a ten se restartuje načisto místo swapování, takže smyčka z nedostatku paměti vypadá jako pád bez stack trace.
- Uložená data nebo soubor světa jsou poškozené.
- Aktualizace hry a verze modu nebo pluginu už nesedí dohromady.
- Server potřebuje přihlašovací údaj, který nemá - token herního serveru Steamu, licenční klíč, heslo k databázi.
- Příkaz ke spuštění, paměťové přepínače Javy nebo image Dockeru jsou špatně.
U první skupiny si asistent své místo zaslouží. U druhé skupiny má nahlásit, co zjistil, a skončit. Zbytek článku počítá s první skupinou a k druhé se vrací na konci.
Než cokoli připojíš#
Tři věci zaberou dvě minuty a ušetří odpoledne.
- Zastav smyčku. Server, který se pořád restartuje, pořád přepisuje logy a u některých her se pořád dotýká uložených dat. Na kartě Console stiskni stop. Na RE:NODE na tom záleží i z druhého důvodu: hlídač každé dvě minuty kontroluje, jestli uptime nešel zpět nebo jestli server nespadl offline. Tři restarty za hodinu vloží na stránku serveru varování a automaticky otevřou tiket; šest server pozastaví. Restarty, které sis vyžádal, se nepočítají, pády ano.
- Udělej zálohu. Vytvoř ji na kartě Backups dřív, než cokoli upraví soubor. Asistent zálohu vytvořit ani obnovit neumí - žádné AI propojení k zálohám nedosáhne - takže tento krok je tvůj. Záloha, kterou nikdo neobnovil, je hypotéza, ale záloha pět minut před úpravou je nejlevnější vrácení zpět, jaké dostaneš. Průvodce zálohami popisuje kartu; zálohy, které opravdu obnovíš popisuje návyk.
- Zapiš si, co se změnilo. Crash loopy málokdy vzniknou z ničeho. Byla aktualizace, nový mod, úprava konfigurace včera večer, změna tarifu? Jedna věta o tom v první zprávě asistentovi má větší cenu než jakékoli množství logu.
Krok 1: diagnóza bez přístupu#
K diagnóze nemusíš asistentovi dávat nic. Na kartě Console každého serveru je nad terminálem lišta Work on this server with AI. Její rozbalovací nabídka „What the assistant is for“ má volbu Server won't start. Její výběr nevytváří žádné propojení. Zkopíruje hotové zadání k vložení, které už obsahuje nejnovější výstup konzole, a to vložíš do Claude, ChatGPT nebo kteréhokoli asistenta, který používáš.
Pro většinu pádů je to správný první tah, protože asistent dostane všechno, co konzole říká, a nic víc. Nemůže otevírat soubory, restartovat ani psát příkazy. Může jen číst, co jsi vložil, a říct ti, co si myslí. Hesla a tokeny se z kopírovaného textu vynechávají: všechno, co panel opouští, projde redaktorem, který maže hodnoty podle názvu proměnné (cokoli jako TOKEN, PASSWORD, KEY, SECRET), podle tvaru (API klíče, JWT, hesla v URL, dlouhé náhodné řetězce) i podle hodnoty (vlastní tajemství serveru se z hotového textu vyčistí). Ber to jako síť, ne jako slib, a před vložením se na text podívej.
U jiného hostitele jde totéž ručně: zkopíruj posledních 50 až 100 řádků výstupu konzole, odstraň vše, co vypadá jako klíč, a vlož je s jednou větou o tom, co se změnilo.
Dobrá odpověď s diagnózou pojmenuje soubor, řádek nebo klíč a důvod. Špatná vyjmenuje šest možných příčin a doporučí přeinstalaci. Pokud dostaneš druhý druh, konec konzole pravděpodobně neobsahuje skutečnou chybu - posuň se výš na první chybu, ne na poslední, protože ta poslední bývá jen následek.
Krok 2: dej mu ruce, pokud chceš, aby jednal#
Pokud je diagnóza správná a oprava je úprava jednoho řádku, můžeš ji udělat sám ve správci souborů. Často je to ta poctivá odpověď. Nechat asistenta jednat se vyplatí, když oprava vyžaduje přečíst několik souborů, nebo když chceš, aby restartoval a zkontroloval výsledek, zatímco děláš něco jiného.
Na RE:NODE jsou dva způsoby, jak asistentovi dát přístup.
Odkaz pro řízení (control share link). V téže liště vyber Manage this server (start/stop, console, files) a stiskni Connect AI. Panel vytvoří soukromý odkaz, zkopíruje ho a zobrazí jednou. Vlož ho do asistenta. Přichází s ním i adresa MCP, takže asistent, který podporuje vzdálené servery MCP - Claude Code nebo Claude.ai jako vlastní konektor - dostane pořádné nástroje místo URL, které by si musel stáhnout. Odkaz přestane fungovat po 24 hodinách nepoužívání a 30 dní po vytvoření v každém případě; vytvoření nového odkazu pro stejný účel ten starý nahradí.
Připojení přes OAuth. Přidej MCP endpoint panelu do svého asistenta a jednou se přihlas v prohlížeči:
$ claude mcp add --transport http renode https://panel.renode.space/api/client/mcpStránka se souhlasem se zeptá, které servery (všechny tvoje, nebo výběr) a jakou úroveň: Files (číst a upravovat soubory, používat konzoli) nebo Manage (to plus start, stop a restart). Pro crash loop chceš Manage, pokud má asistent restartovat a ověřit si to sám, a Files, pokud raději stiskneš tlačítko sám. V obou případech nikdy nedosáhne na databáze, zálohy, plánované úlohy, uživatele, nastavení spuštění ani nastavení účtu.
Tady je, co který druh přístupu umí, abys vybral nejmenší, který práci zvládne:
| Akce | Odkaz pro čtení | Odkaz pro řízení |
|---|---|---|
| Kontext serveru, konec konzole | Ano | Ano |
| Výpisy adresářů | Ano | Ano |
| Čtení obsahu souborů | Ne | Ano, tajemství vynechána |
| Úpravy souborů | Ne | Ano, text do 1 MB |
| Start, stop, restart, kill | Ne | Ano |
| Psaní příkazů do konzole | Ne | Ano |
| Mazání, přejmenování, přeinstalace | Ne | Ne |
| Startup, databáze, zálohy | Ne | Ne |
Odkaz jedná jako ten, kdo ho vytvořil, s jeho oprávněními k danému serveru v danou chvíli. Poduživatel, který nemůže server restartovat, ho nerestartuje ani přes odkaz, a ztráta přístupu k serveru zabije odkaz okamžitě. Víc o tom, proč je nejmenší oprávnění to správné, najdeš v poduživatelích a nejmenších oprávněních.
Ukázkový příklad: aplikace v Node, která umírá na své konfiguraci#
Příklad je záměrně obyčejný, protože obyčejné je to, na co narazíš. Malá aplikace v Node.js na serveru hostingu aplikací čte při startu nastavení z config.json. Někdo včera večer soubor ve správci souborů upravil, aby přidal nový přepínač funkce. Od té doby server nastartuje, vypíše jeden řádek a skončí. Konec konzole vypadá takto (přesné znění chyby se mezi verzemi Node liší):
container@pterodactyl~ Server marked as starting...> app@1.4.0 start> node index.js/home/container/config.json: Expected double-quoted property name in JSONat position 211 (line 10 column 3) at Module._extensions..json (node:internal/modules/cjs/loader) ...container@pterodactyl~ Server marked as offline...Čtení konzole
S připojeným odkazem pro řízení je instrukce, kterou dáš, krátká a ohraničená:
This server crash-loops since last night's edit to config.json.Read the console tail and the file the error names. Tell me the causeand the smallest edit that fixes it. Do not change anything yet.Asistent zavolá svůj nástroj pro konzoli (odkaz vrací nejvýše posledních 100 řádků), uvidí, že je jmenován config.json, a přečte ho. Nástroj pro soubory vrací prvních 256 KB textového souboru s tajemstvími nahrazenými [redacted]. Problém je na řádku 10:
"features": { "newCheckout": true, "betaSearch": false, }, "logLevel": "info"Čárka za "betaSearch": false je v JavaScriptu legální a v JSON nelegální, což je přesně ten druh věci, který člověku při letmém pohledu projde a JSON.parse na něm spadne pokaždé. Pozice 211, řádek 10, sloupec 3 je uzavírací závorka, na kterou parser narazil, zatímco ještě čekal další název vlastnosti. Dobrý asistent to řekne ve dvou větách a navrhne smazat jednu čárku.
Provedení úpravy
Teď ho necháš jednat: „Udělej tu úpravu, nic jiného.“ V tomto kroku záleží na jednom detailu víc než na čemkoli jiném. Kopie souboru, kterou asistent četl, má všechna tajemství nahrazená [redacted]. Pokud asistent zapíše celý soubor zpět z této kopie, každé heslo, token nebo klíč v souboru se přepíše doslovným textem [redacted]. Server pak nastartuje a spadne jinde, obvykle při prvním připojení k databázi nebo API.
Pravidlo pro každý soubor, který drží tajemství, je tedy jedno z těchto:
- Úprava se dělá jen v souboru, o kterém asistent potvrdil, že neobsahuje značku
[redacted]. - Tajemství jsou v
.enva změny tam jdou přes nástrojset_env, který na straně panelu nastaví nebo odebere pojmenované klíče, zachová každý další bajt a vrací jen názvy klíčů. Zápisům celého souboru do.envse právě on snaží vyhnout. - Úpravu uděláš sám ve správci souborů a asistent jen ověřuje.
V tomto příkladu config.json žádná tajemství nedrží, takže asistent zapíše opravený soubor a řekne, co změnil. Požádej ho, ať ti před zápisem ukáže diff toho, co hodlá zapsat; změna o jeden znak by měla vypadat jako změna o jeden znak.
Jeden restart
Asistent pak server spustí a čeká. Jeden start, ne smyčka opakování. Pokud znovu spadne, správný tah je znovu přečíst konzoli a nahlásit to, ne zkoušet tři další úpravy za sebou. Každý neúspěšný start, který vyvoláš záměrně, není restart po pádu, ale asistent, který upravuje a restartuje v těsném cyklu, mění několik věcí najednou a pak nikdo neví, která úprava co udělala.
Ověřit opravu, ne jen restart#
„Server nastartoval“ neznamená „server funguje“. Oprava konfigurace je ověřená, když platí tři věci.
- Konzole prošla místem původního selhání. Řádek, který proces zabil, je pryč a konzole ukazuje to, co následuje - u aplikace řádek, že naslouchá na portu serveru; u hry načtení mapy nebo světa a hlášení serveru, že je připraven.
- Zůstává nahoře. Požádej asistenta, aby po několika minutách znovu přečetl využití prostředků a konzoli. Proces, který nastartuje a o třicet sekund později umře při prvním požadavku, prvním připojení hráče nebo prvním uložení, má druhý problém, který první oprava jen odhalila.
- Funkce funguje. Otevři web, připoj se do hry, spusť příkaz bota. Asistent to za tebe přes panel udělat nemůže a měl by to říct, místo aby vyhlásil vítězství podle konzole.
Užitečná závěrečná instrukce: „Přečti si teď konec konzole a využití prostředků. Pokud server běží a chyba je pryč, shrň v jednom odstavci, co jsi změnil, včetně souboru a řádku. Pokud ne, zastav se a řekni mi, co vidíš.“ Ten odstavec si vložíš do vlastních poznámek a porovnáš ho s protokolem aktivity.
Pády, které má asistent vrátit tobě#
Tohle jsou případy, kdy správným výstupem asistenta je diagnóza a doporučení a akce je na tobě.
Nedostatek paměti
Pokud konzole končí bez chyby a graf paměti na kartě Console byl v okamžiku smrti procesu na limitu, kontejner byl zastaven na stropu paměti. Neexistuje nic v konfiguračním souboru, co by to poctivě spravilo. Možnosti jsou menší svět nebo méně pluginů, nižší nastavení haldy nebo cache, nebo větší tarif - a každá z nich je rozhodnutí o tvém serveru, ne překlep. Jak to poznat, popisují proč se tvůj herní server pořád restartuje a limity paměti Node vysvětleně.
Parametry spuštění a přihlašovací údaje
Přepínače haldy Javy, příkaz ke spuštění, image Dockeru, tokeny Steamu a licenční klíče žijí na kartě Startup nebo v proměnných. Žádné AI propojení nemůže měnit startup ani proměnné, záměrně. Pokud je diagnóza „hodnota -Xmx je větší než paměť tarifu“ nebo „token herního serveru vypršel“, asistent ti to řekne a změníš to ty.
Poškozená uložená data a světy
Pád, který ukazuje na soubor uložené hry, regionu nebo světa, je rozhodnutí o obnovení. Návrat zpět znamená ztrátu postupu a jen ty víš, jestli se vyplatí záloha z minulé noci, nebo z dnešního rána. Asistent ti může říct, který soubor chyba uvádí; obnovení jde přes kartu Backups.
Konflikty verzí modů a pluginů
Chyba loaderu o modu, který vyžaduje jinou verzi hry nebo jiný mod, se řeší změnou toho, které soubory jsou nainstalované, což obvykle znamená mazání nebo výměnu souborů jar a DLL. Odkazy nemohou mazat ani přejmenovávat soubory a stejně nechceš, aby asistent hádal, kterou verzi modu stáhnout. Viz co dělat, když aktualizace modu něco rozbije.
Když je server pozastavený
Pokud smyčka trvala dost dlouho na to, aby server byl pozastaven, každý AI odkaz k němu vrací prosté 404, dokud se server neobnoví. Chat podpory v hlavičce serveru funguje i na pozastaveném serveru - je to jediná věc, na kterou pozastavený server ještě odpovídá - takže tam se obrať.
Pojistky, které jsou zabudované#
Strana bezpečnostního modelu na straně panelu je krátká a stojí za to ji znát, protože říká, co zadání pokrývat nemusí.
- Co není nikdy dostupné: mazání, přejmenování, přeinstalace, změny startupu nebo proměnných, databáze a jejich hesla, zálohy, plánované úlohy, uživatelé, údaje SFTP a API klíče. Ani přes odkaz pro čtení, odkaz pro řízení, ani OAuth.
- Limity zápisu: zápisy souborů jsou text, nejvýše 1 MB, a nikdy nikam pod
.git/. - Limity četnosti na odkaz: 60 požadavků za minutu, 20 akcí a 6 akcí napájení za minutu. Asistent nemůže tvůj server restartovat v těsné smyčce, ani kdyby chtěl.
- Redakce: hesla a tokeny se vynechávají ze všeho, co asistent čte, a hesla databází nejsou ve výstupu nikdy.
- Expirace a rotace: odkaz pro řízení vyprší po 24 hodinách nepoužívání a po 30 dnech celkem; na server existují nejvýše dva odkazy pro řízení. Přístupové tokeny OAuth platí hodinu a obnovovací token vyprší po 30 dnech bez použití.
- Jedno místo pro odříznutí: Account, pak Connected AI, vypíše každé připojení OAuth s tlačítkem Disconnect a každý aktivní sdílený odkaz, který jsi vytvořil, na jakémkoli serveru, s tlačítkem Revoke.
Nic z toho asistentovi nezabrání v nevhodné úpravě souboru, který smí upravovat. To je na zadání a na tobě.
Pojistky, které přidáš do zadání#
Asistenti dobře dodržují výslovná pravidla a špatně ta nevyslovená. Tohle jsou pravidla, která bychom dali na začátek každé relace s opravou pádu, jednoduše řečeno:
1. Read before you write. Quote the error line and the file line you intend to change before changing anything.2. One change at a time. One edit, one start, then read the console.3. Never write back a file that contains [redacted]. Use set_env for .env, or ask me to make the edit.4. Do not change versions, delete files, or touch anything outside the file the error names without asking.5. If the console shows an out-of-memory stop, a corrupted save, a missing credential or a version mismatch, stop and report.6. Finish with: what you changed, in which file, and how you verified it.Pomůžou ještě dva návyky. Drž konverzaci u jednoho problému: asistent, který strávil hodinu nad pádem, si do dalšího úkolu přenáší předpoklady. A až je oprava hotová, zruš odkaz pro řízení nebo odpoj udělení OAuth, pokud ho v nejbližší době nepoužiješ; expirace to časem vyřídí, ale není důvod nechávat funkční přihlašovací údaj ležet v historii chatu. Proměnné prostředí a tajemství je delší argument pro to, proč tajemství držet v .env, a právě to usnadňuje dodržet pravidlo 3.
FAQ#
Vidí AI moje hesla, když opravuje server?
Hesla a tokeny se vynechávají ze všeho, co panel asistentovi předá: podle názvu proměnné, podle tvaru hodnoty a porovnáním se skutečnými tajemstvími serveru v hotovém textu. Hesla databází nejsou zahrnuta nikdy. Redakce je spíš záchranná síť než záruka, takže tajemství do chatu nevkládej sám.
Počítá se restart vyvolaný AI do limitu pádů?
Ne. Restart přes odkaz se zapisuje jako akce provedená záměrně a restarty, které sis vyžádal, hlídač pádů nepočítá. Restarty po pádu se počítají - tři za hodinu vyvolají varování a tiket, šest server pozastaví - a proto se vyplatí zastavit server ve smyčce dřív, než začneš s diagnózou.
Se kterými asistenty to funguje?
Sdílený odkaz je URL, takže ho vložíš do Claude, ChatGPT nebo jakéhokoli asistenta, který umí odkaz přečíst. Endpoint MCP a přihlášení přes OAuth jsme postavili a testovali s Claude Code a vlastními konektory Claude.ai a fungují i s dalšími klienty, kteří podporují vzdálené MCP přes HTTP.
Může AI rozbít můj server ještě víc, než je rozbitý?
Může provést špatnou úpravu souboru, který smí upravovat, a nejpravděpodobnější cesta je zápis souboru, jehož tajemství byla vynechána. Nemůže mazat soubory, přeinstalovat, měnit startup ani sahat na zálohy a databáze. Udělej zálohu před relací a každou její úpravu můžeš vrátit zpět.
Nemám raději rovnou přeinstalovat?
Zřídka. Přeinstalace nahradí soubory, které fungovaly, spolu s tím jedním, který nefungoval, a pád se obvykle vrátí ve chvíli, kdy obnovíš svou konfiguraci. Najdi nejdřív ten řádek; přeinstalace je pro server, jehož nainstalované soubory jsou samy poškozené.


