STYGION Dokumentace Hledat v dokumentaci

Aktualizace a pády: guard

Poslední dobrý start uložený, co se od něj změnilo, doktor pádů, návrat jedním příkazem, ochrana proti smyčce pádů a – když je zapneš – pack, který se sám aktualizuje z CurseForge, a zašifrované zálohy mimo stroj. Novinka v 0.3.

Keystone 0.2.8 Aktualizováno 2 min čtení
Na téhle stránce 5 částí
  1. Poslední dobrý start
  2. Návrat a smyčka pádů
  3. Pack, který se aktualizuje sám (update.*, ve výchozím stavu vypnuto)
  4. Zálohy mimo stroj (offsite.*, ve výchozím stavu vypnuto)
  5. API

Aktualizace a pády: guard

Novinka v 0.3, modul guard, ve výchozím stavu zapnutý: jen hlídá a drží poslední dobrý start. Co server mění samo – aktualizace packu (update.*) a zálohy mimo stroj (offsite.*) – je vypnuté, dokud to nezapneš. Aktualizovat bez strachu.

Poslední dobrý start

#

Každý start, který vydrží good-after (10 minut), se uloží jako poslední dobrý: jary modů jako pevné odkazy, konfigurační soubory jako kopie. Další start, který se liší, řekne, co se změnilo: aktualizované, přidané a odebrané mody, co odebraný mod vezme ze světa (jeho bloky, itemy a entity), konfigurační soubory, které se liší, a – to stojí za přečtení dvakrát – jar, jehož bajty se změnily a verze ne, nebo jar, který nevydává CurseForge ani Modrinth (check-portals; stroj opouští jen hashe jarů; klíč CurseForge v curseforge-key). Označený jar se nikdy neodstraní.

Doktor pádů čte crash reporty hry a řekne příčinu a mody, na které ukazuje, v editoru (Updates & crashes) i na Discordu.

Návrat a smyčka pádů

#
  • /keystone guard rollback confirm (nebo jedno tlačítko v editoru) vrátí poslední dobrý start, až se server příště zastaví; co nahradí, se odloží stranou, nikdy nesmaže. /keystone guard cancel čekající návrat nebo aktualizaci zruší (keystone.guard.rollback).
  • Po crash-limit (3) startech po sobě, které spadnou, rozhodne rollback: updates-only (výchozí; vrátí jen aktualizaci, kterou nasadil Keystone, dřív než další start otevře svět), always (jakoukoli změnu od posledního dobrého startu) nebo never. Když se nic nevrací, server naběhne zavřený kvůli údržbě, ať se stejný pád neopakuje; /keystone guard release ho otevře.

Pack, který se aktualizuje sám (update.*, ve výchozím stavu vypnuto)

#

update.enabled s update.project (id projektu na CurseForge): každých update.check-every (1 h) se zeptá CurseForge; nový server pack stáhne mimo vlákno serveru z vlastních serverů CurseForge (do update.max-mib), ověří jeho SHA-1, připraví ho se zachováním tvých modů navíc a tvých změn v configu (update.overwrite jmenuje soubory packu, které ty tvoje přepíšou, výchozí config/ftbquests/quests/**), zazálohuje a vymění při restartu – update.apply: empty (poprvé, když nikdo není online update.empty-for, 3 min), daily (s příštím plánovaným restartem) nebo manual (/keystone guard update apply). /keystone guard update check se zeptá hned.

Zálohy mimo stroj (offsite.*, ve výchozím stavu vypnuto)

#

offsite.after-backup pošle každou novou zálohu zašifrovanou heslem offsite.passphrase (AES-256-GCM, klíč přes PBKDF2, aspoň 12 znaků – drž ho jinde než na tomhle serveru) do S3 kompatibilního bucketu (offsite.s3.*: AWS, Cloudflare R2, Backblaze B2, Wasabi, MinIO, Hetzner) a/nebo přes SFTP (offsite.sftp.*, s otiskem klíče stroje). offsite.keep (7) na každém místě. Cvičná obnova (offsite.drill = verify, každých offsite.drill-every, 7 dní) stáhne nejnovější zálohu mimo stroj, otevře ji a přečte level.dat a každý region soubor; /keystone guard offsite drill ji spustí hned.

API

#

GET /v1/guard (status.read); GET /v1/guard/detail, POST /v1/guard/rollback, /update a /drill (backup.restore, jen majitel).

Pomohla vám tahle stránka?

Otevře panel zpětné vazby s touhle stránkou v příloze. Přistane do jedné fronty se vším ostatním.