Konfiguracja pluginu

Plugin: StillShop-1.0.0.jar · Paper / Purpur / Spigot 1.20+ · Java 21. Instalacja krok po kroku: Podłącz serwer.

config.yml

Do działania wystarczą dwie linie z panelu (Serwery → Dodaj serwer). Plik plugins/StillShop/config.yml:

# Klucz API serwera (zaczyna się od ssk_)
# Wskazuje Twój sklep i serwer — nie musisz podawać ID sklepu ani serwera.
api-key: "ssk_…"

# Sekret serwera (zaczyna się od sss_)
# Podpisuje każde połączenie z panelem. Panel pokazuje go tylko raz.
server-secret: "sss_…"

# Czy włączyć logi debug? Logi nie zawierają klucza API ani sekretu.
debug: false

# ── Zaawansowane ── zwykle nie trzeba tu nic zmieniać ──
endpoint: "https://stillshop.pl"
long-poll-seconds: 25
poll-interval-seconds: 10
batch-size: 50
heartbeat-seconds: 60
join-delay-ticks: 40
allow-insecure-http: false
Klucz Domyślnie Zakres Opis
api-key — ssk_… Klucz serwera z panelu (Serwery).
server-secret — sss_… Sekret serwera z panelu. Pokazywany tylko raz.
endpoint https://stillshop.pl — Adres panelu. Musi być https://. Można pominąć.
long-poll-seconds 25 0–25 Ile sekund każde zapytanie czeka na nowe zakupy — dzięki temu dostawa przychodzi w sekundę. 0 = klasyczne odpytywanie co poll-interval-seconds.
poll-interval-seconds 10 2–300 Odstęp między zapytaniami, gdy long-poll jest wyłączony.
batch-size 50 1–100 Ile komend pobierać naraz.
heartbeat-seconds 60 15–600 Jak często plugin wysyła liczbę graczy i swój status.
join-delay-ticks 40 0–600 Opóźnienie (w tickach, 20 = 1 s) przed wykonaniem komend dla gracza, który właśnie wszedł — żeby LuckPerms zdążył go wczytać.
allow-insecure-http false — Tylko do testów lokalnych: pozwala na http://.
debug false — Więcej logów w konsoli.

Po każdej zmianie wpisz stillshop reload.

Komendy

Komenda Opis
/stillshop status Stan połączenia, ostatni kontakt z panelem, nazwa sklepu i serwera, liczba komend czekających na graczy (Waiting for players) i niewysłanych raportów.
/stillshop reload Wczytuje ponownie config.yml i łączy się z panelem.

Uprawnienie: stillshop.admin (domyślnie OP). W konsoli serwera możesz pominąć ukośnik.

Stany połączenia

Stan Znaczenie
CONNECTED Wszystko działa.
STARTING Plugin się łączy.
OFFLINE Brak połączenia z panelem — plugin ponawia próby (co najwyżej co 60 s).
UNAUTHORIZED Zły api-key / server-secret, serwer odłączony w panelu albo źle ustawiony zegar serwera.
BAD_SIGNATURE Odpowiedź nie przeszła weryfikacji podpisu (np. coś po drodze zmienia ruch).
STOPPED Plugin wyłączony.

PlaceholderAPI

Gdy na serwerze jest PlaceholderAPI:

Placeholder Wartość
%stillshop_pending% Liczba zakupów czekających na tego gracza (np. do wyświetlenia na scoreboardzie: „Masz 2 zakupy do odebrania”).
%stillshop_connected% true / false — czy plugin jest połączony z panelem.

Gracze offline i restarty

Komendy wymagające gracza online plugin zapisuje w lokalnej bazie SQLite w folderze plugins/StillShop/. Wykonuje je, gdy gracz wejdzie na serwer — także po restarcie. Plugin pamięta też, które komendy już wykonał, więc ta sama komenda nigdy nie wykona się dwa razy, nawet gdy panel dostarczy ją ponownie.

Jeśli serwer straci połączenie, wyniki wykonanych komend czekają w kolejce i zostaną wysłane do panelu po odzyskaniu połączenia.

Bezpieczeństwo

  • Plugin łączy się tylko wychodząco po HTTPS — nie otwierasz żadnych portów i nie potrzebujesz RCON.
  • Każde zapytanie jest podpisane sekretem serwera (HMAC-SHA256) i chronione przed powtórzeniem.
  • Plugin sprawdza też podpis każdej odpowiedzi z panelu, zanim wykona jakąkolwiek komendę — nikt po drodze nie podsunie Twojemu serwerowi własnych komend.