Komendy i uprawnienia
Komendy
Komenda to /corestatus, skrót to /cstatus. Działa tak samo na Paperze, Purpurze, Folii, Spigocie, Velocity i
BungeeCord. Podpowiedzi pod Tab pokazują trzy podkomendy.
| Komenda | Co robi |
|---|---|
/corestatus reload |
Wczytuje ponownie config.yml i pliki messages i stosuje je. Webhooki wyłączone po błędzie są próbowane od nowa. |
/corestatus test |
Wysyła próbną wiadomość na każdy ustawiony webhook i mówi dla każdego z osobna, czy Discord ją przyjął. |
/corestatus status |
Pokazuje wersję oraz dla każdego webhooka: kiedy ostatnia wiadomość przeszła i czy webhook działa. |
Komenda bez podkomendy albo z nieznaną odpowiada Użycie: /corestatus <reload|test|status>.
reload
Wpisz po każdej zmianie config.yml. Stosuje język, interwały, kolory i adresy webhooków. Odpowiada
Konfiguracja wczytana ponownie., a wcześniej podaje po jednej linii o każdym problemie znalezionym w plikach, np.
config.yml: status.interval-seconds must be at least 30 seconds; using 30. Te zdania są po angielsku.
test
Wysyłam próbną wiadomość na każdy webhook...
https://discord.com/api/webhooks/123/****: próbna wiadomość wysłana.
Próbna wiadomość brzmi „Wiadomość testowa CoreStatus: ten webhook działa” i trafia na kanał. Idzie na każdy adres ustawiony w configu, także na adresy wyłączonych funkcji, każdy adres raz. Token w odpowiedzi jest ukryty. Gdy coś jest nie tak, linia mówi co:
https://discord.com/api/webhooks/123/****: nie udało się wysłać (HTTP 404).
HTTP 401 i HTTP 404 oznaczają, że adres jest zły albo webhook usunięto. no answer oznacza, że z Discordem nie
udało się połączyć albo nie odpowiedział w ciągu 15 sekund. Gdy nie ustawiono żadnego webhooka, odpowiedź brzmi
W config.yml nie ustawiono żadnego adresu webhooka.
status
CoreStatus 1.0.0
https://discord.com/api/webhooks/123/****: ostatnia wiadomość 2026-10-24 12:00:00, webhook działa
Cały serwer w panelu WWW: AdminControl — corestone.dev
Czas jest w strefie czasowej serwera. Do pierwszej wysyłki jest tam nigdy. Przy webhooku wyłączonym po błędzie widać
wyłączony do /corestatus reload. Ostatnia linia to zwykły tekst, nie odnośnik: krótka wzmianka o AdminControl, panelu WWW Corestone dla serwerów. To tekst
command.admincontrol z pliku messages, więc można go zmienić we
własnym pliku z tekstami. Pusta wartość daje pustą ostatnią linię, a nie brak linii. Nic z tego
nie trafia do konsoli przy starcie ani nigdzie indziej.
Uprawnienie
| Uprawnienie | Domyślnie | Co pozwala |
|---|---|---|
corestatus.admin |
operatorzy | Używać /corestatus (reload, test, status). |
Bez uprawnienia komenda odpowiada Nie masz uprawnień do tej komendy. Konsola serwera może jej używać zawsze.
Na Velocity i BungeeCord nie ma operatorów: corestatus.admin trzeba nadać administratorom przez system uprawnień
proxy, np. plugin do uprawnień, taki jak LuckPerms.
Gdy wysyłka się nie uda
CoreStatus nigdy nie blokuje serwera: wysyłka odbywa się poza wątkiem serwera, z osobną kolejką dla każdego webhooka, więc wiadomości jednego webhooka dochodzą po kolei. Co się dzieje, zależy od odpowiedzi Discorda.
| Odpowiedź | Co robi CoreStatus |
|---|---|
| 401 przy dowolnym wywołaniu lub 404 przy nowej wiadomości | Adres jest zły albo webhook usunięto. Ten webhook zostaje wyłączony do /corestatus reload, a konsola mówi który (token ukryty). Trzeba poprawić adres i wpisać reload. |
| 404 przy edycji statusu | Wiadomość usunięto na Discordzie. CoreStatus wysyła nową i dalej edytuje właśnie ją. |
| 429 (limit zapytań) | Czeka tyle, ile podaje Discord, i próbuje ponownie. |
| 5xx lub brak połączenia | Ponawia po 5 sekundach, potem po 10, 20, 40 i tak dalej, do 10 minut przerwy między próbami, aż się uda. Konsola dostaje jedną linię na początku serii błędów, nie jedną na próbę. |
| inne 4xx | Wiadomość jest porzucana, a konsola raz o tym informuje. |
W czasie awarii status nie jest odkładany w kolejce: gdy Discord wróci, idzie jedna edycja z najnowszym statusem, a nie zaległości.
Przy zatrzymaniu serwera CoreStatus czeka na przyjęcie ostatnich wiadomości najwyżej 5 sekund. Potem kończy pracę, niezależnie od odpowiedzi Discorda.