# Panel

> Jeden příkaz, jeden odkaz a celý Keystone v prohlížeči — servíruje ho tvůj vlastní server.

Source: https://stygion.eu/cs/docs/keystone/panel
Updated: 2026-10-10

Napiš ve hře `/keystone panel`. Keystone hodí do chatu odkaz, klikneš na něj a
otevře se ti editor už přihlášený. To je celé — žádný účet, žádný portál, žádné
heslo, co si musíš vymyslet.

## Odkud se ta stránka bere

**Z tvého vlastního serveru.** Editor je zabudovaný v jaru a servíruje ho ten
samý proces, co běží hru, na adrese lokálního API. Nic se nestahuje od nás a nic
se k nám neposílá — proto to funguje i s vytaženým síťovým kabelem a proto to
nemůže přestat fungovat kvůli tomu, že je něco našeho dole.

## Odkaz a proč vyprší

Řádek v chatu není tajemství. Je v logu, možná na screenshotu, a na serveru s
personálem si ho přečetl každý, kdo stál poblíž. Proto token v tom odkazu:

- **funguje jednou** — druhý, kdo na něj klikne, nedostane nic,
- **platí pět minut**,
- a mění se za obyčejný klíč, ne za sezení, co žije věčně.

Klíč za ním se jmenuje po tobě (`panel: <tvoje jméno>`), platí den a nese ta
oprávnění, která jsi už měl. `keystone key revoke <id>` ho vezme zpátky dřív a
zrušení toho tvého se nikoho jiného nedotkne.

Když se na odkaz klikne pozdě nebo podruhé, stránka to řekne a pošle tě napsat
příkaz znovu. Které z toho dvojího to bylo, schválně neřekne — do toho tomu, kdo
klikl, nic není.

**Co v editoru smíš, závisí na tom, kdo jsi.** Operátor úrovně 4 a konzole
dostanou odkaz na všechno. Kdo se k panelu dostal přes skupinu (třeba moderátor
s `keystone.admin`), dostane odkaz **jen ke čtení a moderaci**: nastavení,
skupiny, perky, vrácení zálohy, ruční spouštění operací, zápisy asistenta a
překlady může měnit jen vlastník. Vlastník je operátor úrovně 4.

## Co v něm je

Obrazovky jsou v postranní liště a **obrazovka se objeví, až když její modul
běží**:

| Obrazovka | K čemu je |
|---|---|
| Přehled | Hráči, TPS, tick a paměť teď i za poslední den, co se chystá, a co potřebuje někoho: otevřené tickety, návrhy asistenta, připravené vrácení zálohy, modul, který nenastartoval. |
| Hráči | Najdi kohokoliv: co drží a odkud, skupina na čas, perk, „smí tohle?“, postup, hlasy a klíče do beden, žebříčky a žebříček hodností. |
| Skupiny | Skupiny oprávnění, co po čem dědí, a všechna pravidla, která z nich vyjdou, i s tím, odkud jsou. |
| Bany a účty | Bany s koncem a důvodem, účty a kdo byl odmítnut. |
| Provoz | Co je naplánované — restarty, zálohy, úklidy, oznámení — a co už proběhlo, včetně toho, co se přeskočilo a proč. Cokoliv jde spustit hned, za 1, 5 nebo 15 minut, odvolat, nebo pustit údržbu s důvodem; ukáže i to, co by úklid sebral. Jede se stejnou cestou: stejná varování, stejné odpočítávání, stejný záznam. |
| Zálohy | Zálohy a jejich vrácení (naplánuje se na další start a jde odvolat). |
| Výkon | Živě, týden historie a zátěžové testy, co tenhle server pustil, a co povolilo první. |
| Konzole a chat | Konzole serveru živě, úrovně, hledání a kopírování, vedle chat. |
| Hlasy, Tickety, Bedny | Hlasy a odměny, tickety, a bedny: klíče, šance a co v nich je. |
| Discord | Stav mostu a jeho nastavení. |
| Nastavení | Každé nastavení, co Keystone má, i s tím, co znamená, a historie změn. |
| Jazyky, Warpy | Překlady (viz [Jazyk hráče](/docs/keystone/languages)) a warpy (viz [Essentials](/docs/keystone/essentials)). |
| Asistent | Otázky na tenhle server, zodpovězené z jeho vlastního stavu. Potřebuje nastavenou adresu modelu. |
| Klíče a audit | Klíče, které dosáhnou na lokální API, co každý smí, jak ho vzít zpátky, a kdo co změnil. |

`Ctrl K` (nebo `/`) najde jakoukoliv obrazovku, nastavení, hráče nebo skupinu a
spustí běžné akce. Editor je světlý nebo tmavý podle systému, nebo podle přepínače.

**Nastavení jsou koncepty, dokud je nepoužiješ.** Měň, kolik chceš; server každé
zkontroluje, jak píšeš, a slovy odmítne, co se nehodí. `Ctrl S` ukáže všechny změny
vedle toho, co platí teď, a použije ty, které server vzal — každou jako verzi,
kterou historie umí vrátit, s Zpět hned vedle. Koncepty přežijí zavřenou záložku
(tajemství z prohlížeče neodcházejí). Přepínače jsou přepínače, seznamy čipy, časy
hodiny, id se vybírají z toho, co server načetl, a chatový text je nakreslený tak,
jak ho kreslí vanilla klient.

Obrazovka se nikdy neobjeví dřív, než na něco odpovídá. Není tam záložka, co
hodí chybu, ani záložka s nápisem „už brzy".

## Když se stránka neotevře

- **„No editor in this build"** — jar se postavil bez editoru. Použij vydaný
  build, ne build ze zdrojů bez frontendu.
- **Prohlížeč na tu adresu nedosáhne.** Lokální API poslouchá ve výchozím stavu
  na `127.0.0.1`, takže odkaz funguje ze stroje, na kterém server běží. Odjinud
  buď [tunel](/docs/keystone/troubleshooting), nebo `api.reachable-at` (viz níž)
  — a přečti si [Lokální API](/docs/keystone/api), co tím vystavuješ, dřív než to
  změníš.
- **Odkaz vypršel.** Napiš `/keystone panel` znovu, jsou zadarmo.

## Když má být editor dosažitelný odjinud *(od 0.1.1)*

Adresa, na které API **poslouchá**, a adresa, kterou si má někdo **napsat do
prohlížeče**, nejsou totéž. `0.0.0.0` je dobrá odpověď na to první a nepoužitelná
odpověď na to druhé — odkaz `http://0.0.0.0:25586/…` se neotevře nikde. Proto:

```
/keystone set keystone.api.address 0.0.0.0
/keystone set keystone.api.reachable-at 192.168.1.100
```

`api.reachable-at` prázdné a API na skutečné adrese → použije se ta. Prázdné a
API na `0.0.0.0` → mod se zeptá stroje na jeho vlastní adresu v síti, a loopback
až jako poslední. Vyplněné vyhrává, což je to, co potřebuješ za routerem, v
tunelu nebo pod jménem, které jsi tomu stroji dal.

**Za reverzní proxy s https** *(od 0.2.3)* napiš celou adresu se schématem:

```
/keystone set keystone.api.reachable-at https://keystone.example.com
```

Taková adresa se použije tak, jak je, bez portu API. Proxy stačí pustit ven
`/panel` (včetně `/panel/claim`) a ty cesty `/v1`, které editor volá, i s živým
proudem `/v1/events` bez bufferování. Editor posílá klíč hlavičkou
`Authorization`, žádné cookies, takže proxy nemusí nic přepisovat. Stránky
editoru samy zakazují vložení do cizího rámu a předávání odkazu dál (referrer).

Odkaz se skládá až ve chvíli, kdy si o něj řekneš, ne při startu — takže tohle
nastavení platí okamžitě, což je důležité, protože se po něm sahá *poté*, co se
odkaz neotevřel.

## Jak to vypnout

`/keystone set keystone.api.enabled false` zastaví lokální API a s ním i panel. Všechno
ostatní jede dál — panel je cesta dovnitř, ne závislost.
