V sekci Panel
Konzole
Živý výstup serveru, posílání příkazů, barvy — a proč je konzole připojená pořád, ne až od chvíle, kdy se na ni podíváte.
Aktualizováno
Konzole

Konzole je to, co server právě píše, a řádek, kterým se s ním dá mluvit. Je to první záložka serveru, protože je to místo, kde se pozná, co se děje.
Konzole patří serveru, ne vám
Otevřít stránku dřív znamenalo spustit čtení logu, zavřít ji znamenalo ho zabít. Z toho plynuly dvě věci, které vypadaly jako různé chyby, a byly to dvě strany jedné:
- Konzole se otevírala na minulém běhu, protože log kontejneru jeho restarty přežívá. Zeď starého textu, pauza, a teprve pak ten server, který právě startuje.
- Mezi akcemi se nedívalo nic. Zmáčknout Start, přepnout na druhou záložku a vrátit se znamenalo, že první vteřiny bootu proběhly, když je nikdo nečetl.
Běžící server má teď jednoho čtenáře, který žije, dokud běží on, a píše do vyrovnávací paměti panelu. Diváci z ní jen čtou. Otevřít stránku je proto okamžité a deset lidí u jedné konzole stojí totéž co jeden.
Start řekne, co pouští
[stygion] Starting Survival
[stygion] Image: ghcr.io/pelican-eggs/yolks:java_21
[stygion] Command: java -Xms4G -Xmx8G -jar server.jar nogui
[stygion] Port: 25565/tcp
[stygion] ──────────────────────────────────────────
Server, který si stahuje velký modpack, umí mlčet minutu, a prázdná konzole v té minutě vypadá rozbitě. Zároveň je to nejrychlejší způsob, jak si všimnout špatného startovacího příkazu.
Stop a Kill se ohlásí ve chvíli, kdy je zmáčknete — ne až doběhnou. Když akce selže, napíše se to sem taky: banner, po kterém je ticho, vypadá jako „ještě startuje".
Instalace vejce píše do té samé paměti, takže sledovat instalaci a sledovat server, který z ní vznikne, je jedna obrazovka.
Barvy
Panel rozumí ANSI i 256barevným kódům a taky §-kódům Minecraftu, takže
MOTD vypadá jako MOTD, ne jako §6§lMůj server. Řádky, které si server
nenabarvil sám, dostanou odstín podle úrovně; když si barvy vybral sám,
panel do nich nesahá.
Posílání příkazů
Do řádku dole napíšete příkaz a odešlete ho. U Minecraftu jde o totéž, co byste napsali do serverové konzole — bez lomítka.
Příkaz se vypíše všem, kdo se dívají, ne jen tomu, kdo ho napsal. A vypíše se až ve chvíli, kdy ho server opravdu převzal, takže ten řádek něco znamená.
Příkazy cestují mimo stream, po HTTP, takže příkaz odeslaný ve chvíli, kdy se spojení zrovna obnovuje, nezmizí.
Proč příkazy fungují i po aktualizaci panelu
Kontejner má jeden standardní vstup a podman attach ho zavře, ať
skončí jakkoli. Minecraft to čte jako konec vstupu a do konce svého běhu
už žádný příkaz nepřijme. Každý restart panelu — a aktualizace je
restart panelu — proto uměl natrvalo umlčet konzoli každého serveru,
který zrovna běžel.
Server proto čte příkazy z pojmenované roury v .stygion/console.in
uvnitř svého datového adresáře. Roura otevřená pro čtení i zápis má
vždycky zapisovatele, takže nikdy nehlásí konec vstupu.
Servery vyrobené starší verzí se na ni převedou samy při dalším Startu; datový adresář se nikde nemaže. Když rouru smažete, panel ji při dalším startu vyrobí znovu.
Když spojení spadne
Spadne. Panel proto posílá ping po pětadvaceti vteřinách a stránka se sama připojuje zpátky — po vteřině, dvou, čtyřech, až po patnácti. Stav vpravo nahoře říká, kde zrovna je, a po připojení dostane historii znovu, takže se nic nezdvojí. Nemusíte obnovovat stránku.
Co konzole není
Není to shell na stroji ani uvnitř kontejneru. Je to stdin a stdout herního serveru — nic víc.
Další krok: Soubory a SFTP.
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.