handoff: server down + DNS blocker + 3 PRs k merge + write access request #2
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Jakube, tohle je jediný bod, kam teď koukni — jsou tady všechny dnešní výstupy + blockery, které tě čekají.
1. Server je dole a
dbse crash-loopuje 🚨Agent audit (viz PR níže) zjistil, že na VPS:
dbse restartuje v kruhu —systemctlhlásídeactivating (stop-sigterm), vchannels/db/leží dva 97 MB core dumpy z dnešních 13:24 a 13:25share/bin/obsahuje jendbagame— žádnéchannel1_core1,game_auth,channel99_core1binárky. Systemd templatesmetin-game@*.servicenemají co exekutovatss -tlnpukazoval processy (auth + 3 channels + channel99), ale to byly patrně zbytky po manuálním runu — produkční systemd path nejedeVERSION.txthlásídb revision: b2b037f-dirtyDůsledek: Claude dnes ráno úspěšně spustil klient pod Wine, viděl "CH1 NORM", dostal "Succeed connecting" a character selection. Teď klient hlásí "Error while connecting to the server" a máme důkaz proč. Herní test je blokovaný na tvém zásahu.
Plný audit se všemi detaily:
PR #1 v m2dev-server — docs: add server runtime audit
docs/server-runtime.md(424 ř.) — co jsme zjistili o systemd unitech, co kde leží, jak je to orchestrovánodocs/server-topology.md(89 ř.) — ASCII schéma + tabulka portůTohle je read-only recon, nic jsme neshodili / nerestartovali / nezapnuli. Audit si dovolil sáhnout jen na věci, u kterých byla 0 % šance něco rozbít.
2. DNS
updates.jakubkadlec.devje špatně 🚨Issue #4 v m2dev-client — podrobnosti.
Krátce: subdoména ukazuje na
194.163.138.177(cizí Contabo host s Apache), ne na tvou VPS173.249.9.66. Dnes jsem zkusil runbookdocs/runbook-caddy-updates.mdaplikovat, Caddy validate prošel, ale LE HTTP-01 challenge odcházel na ten špatný Apache a vracel 404. Rollback čistý, Caddyfile zpět na původní, Gitea netknutý.Fix: v DNS panelu změnit A záznam
updatesz194.163.138.177na173.249.9.66. Po propagaci stačí znovu projet runbook (webroot už je nachystaný, Caddy backup je v/etc/caddy/Caddyfile.bak.20260414-115914). 2 minuty práce + čekání na LE.3. Tři PRs k merge
Všechny jsou moje (tedy Claudovy), všechny prošly validation/testy, všechny ti nemůžu mergnout sám, protože na
metin-server/*mám jenpull=true:a) PR #5 v m2dev-client — scripts: add make-release.sh
Skript, co zabalí release end-to-end: spočítá sha256 nad klientskou složkou, produkuje manifest, podepíše Ed25519, postaví content-addressed blob tree (
files/<hash[0:2]>/<hash>), rsync v dvou fázích s--delay-updatespro atomický publish.Ověřeno end-to-end:
client-wine/(54440 souborů, 3 GB, 15281 deduplikovaných blobů)Ed25519PublicKey.verifyproti veřejnému klíči vLauncherConfig.PublicKeyHexpython3 -m http.server) s podepsaným manifestem — first end-to-end happy path test, fungujePo DNS fixu + runbook reapply stačí spustit
./scripts/make-release.sh --source <client> --version 2026.04.14-1a hra se aktualizuje end-to-end. Naší první skutečnou release pipeline.b) PR #1 v m2dev-server — docs: add server runtime audit
Viz bod 1. Pure docs, nic netnepečítá.
c) PR #1 v m2dev-client-src — docs: add windows native test runbook
Runbook pro "kolega 4" nebo kdokoli s Windows VS Build Tools 2022: jak naklonovat, buildnout klient, buildnout launcher, projít prvním run, co zachytit a poslat zpět. Pure docs, 479 řádků. Jakmile to kolega 4 projede, budeme vědět, jestli ten Avalonia launcher opravdu běží nativně na Windows (zatím jsem testoval jen na Linuxu + Wine).
4. Prosba: Write access pro
jannna orgmetin-serverDnes jsem odvedl ~10 commitů do 2 repos přes fork+PR flow. Funguje to, ale každý merge ti padá na stůl. Pokud mi dáš roli Write na org, budu pořád jet přes PR (nikdy direct push do main nebo
debian-foundation), ale budu si moct PRs mergnout sám po tvém review. Tím nepřijdeš o kontrolu a zbavíš se single-point-of-failure.5. Co jsem já a Claude neudělali, záměrně
/etc/metin/metin.env(chtělo by to sudo a explicitní dohodu)TL;DR akce pro tebe
dba pustit channelu (nebo mi řekni, jak to udělat cleanly — agent audit ti dal runtime doc, použij ho)updates.jakubkadlec.dev→173.249.9.66Jakmile máš 1+2 hotové, dej vědět — zbytek flow (Caddy reapply, make-release, reálný launcher self-test) dojedu sám za 10 minut.
Oprava tónu — nečti body 1 a 3c jako bug ticket
Jan mě právě upozornil, žes v podobné době dělal na cross-kompilaci m2dev-client-src z Linuxu přes MinGW64 + LLD (Metin2_RelWithDebInfo.exe z Linuxu, Python 3.14 DLL náhrada, SpeedTree stub shim) a že máš to lokálně u sebe na VPS —
docs/linux-windows-build.mdnaorigin/mainnevidím, takže je to zatím nepushnuté.V tom světle:
dbcrash loop + chybějící channel binárky, ale pravděpodobnější výklad než "bug" je "Jakub je uprostřed rebuildu / restart cyklu". Nic to neshodilo samo — jen jsi mu sáhl na runtime v rámci tvé práce. Nemá to být poplachová zpráva, je to spíš FYI "tohle se dnes ve 13:24 dělo na VPS, v případě že nevíš nebo chceš core dumpy k něčemu".Všechno ostatní platí beze změny:
Zájem o konvergenci
Pokud jsou teď dvě paralelní Linux-port větve (tvoje MinGW cross-compile a naše Wine runtime), dává smysl je jednou synchronizovat a rozhodnout kde je hranice:
Naše práce na launcheru a update channelu je ortogonální k buildu — funguje s jakýmkoli
Metin2.exe, ať už vznikl pod MSVC, MinGW nebo budoucím GCC+Linux. Takže nekonkurujeme ti, jen pracujeme paralelně na jiné vrstvě.Pokud na něčem chceš, ať se vytratím (nebo zrovna provádíš operaci, kde mě potřebuješ pryč), napiš — klidně na tuto dobu stopnu Claude sessiony a vrátím se později.