Grzybcio Wiki
GrzybcioRynekWeb

Instalacja

Wgranie mostu, sprawdzenie zależności i pierwszy test endpointu.

Zanim zaczniesz

GrzybcioRynek musi już działać

Ten plugin jest dodatkiem, nie samodzielnym rynkiem. Jeśli GrzybcioRynek nie jest zainstalowany i skonfigurowany (z działającą ekonomią przez Vault), most się nie uruchomi.

Zacznij od instalacji GrzybcioRynku.

WymaganieJak sprawdzić
Paper 1.26.2+version w konsoli
Java 25java -version
GrzybcioRynek 1.0.3+/plugins — musi być na zielono
Vault + ekonomia/plugins — Vault na zielono, np. EssentialsX

Krok po kroku

Sprawdź, że rynek działa

Wejdź na serwer i otwórz rynek (/rynek). Jeśli GUI się otwiera i da się wystawić przedmiot — podstawa jest gotowa.

Wgraj plugin

Wrzuć plik JAR do plugins/:

GrzybcioRynek-1.0.3.jar
GrzybcioRynekWeb-1.0.0.jar
Vault.jar

Zrestartuj serwer

Przy starcie plugin sprawdzi zgodność z GrzybcioRynkiem (wersję i kontrakt API) i utworzy plugins/GrzybcioRynekWeb/config.yml.

Jeśli w konsoli pojawi się komunikat o niezgodności wersji, patrz Problemy.

Zmień domyślny klucz API

Nie pomijaj tego kroku

Domyślny klucz to dosłownie CHANGE_ME. Zostawienie go oznacza otwarty dostęp do danych twojego rynku dla każdego, kto trafi na twój port.

Otwórz plugins/GrzybcioRynekWeb/config.yml i wygeneruj własny klucz — im dłuższy i bardziej losowy, tym lepiej:

plugins/GrzybcioRynekWeb/config.yml
api:
  authentication:
    enabled: true
    header: "X-API-Key"
    keys:
      - name: "website"
        key: "wklej-tu-dlugi-losowy-ciag-znakow"
        permissions:
          - "listings.read"
          - "categories.read"
          - "stats.read"
          - "history.read"
          - "players.read"

Ustaw dozwolone domeny

Domyślnie na liście CORS jest https://example.com. Wpisz swoją domenę:

api:
  cors:
    enabled: true
    allowed-origins:
      - "https://rynek.twojadomena.pl"
      - "http://localhost:3000"

http://localhost:3000 przydaje się przy testowaniu strony lokalnie — na produkcji możesz go usunąć.

Przeładuj i sprawdź status

/grzybciorynekweb reload
/grzybciorynekweb status

Przetestuj endpoint

Health check nie wymaga klucza:

curl http://127.0.0.1:8765/api/v1/health

Endpoint z danymi już tak:

curl -H "X-API-Key: twoj-klucz" http://127.0.0.1:8765/api/v1/listings?limit=5

Jeśli obie komendy zwracają JSON — most działa.

Port i dostęp z sieci

Domyślnie plugin nasłuchuje na 0.0.0.0:8765, czyli na wszystkich interfejsach.

Przemyśl, czy port ma być publiczny

Jeśli strona WWW działa na tej samej maszynie co serwer Minecraft, najbezpieczniej jest zamknąć port 8765 na firewallu i pozwolić stronie łączyć się przez 127.0.0.1. Wtedy API w ogóle nie jest widoczne z internetu.

Port musi być otwarty na świat tylko wtedy, gdy strona stoi na innej maszynie.

Zmiana portu:

api:
  host: "0.0.0.0"
  port: 8765

Po zmianie: /grzybciorynekweb reload.

Budowanie ze źródeł

git clone https://github.com/Grzybcio-plugins/GrzybcioRynekWeb.git
cd GrzybcioRynekWeb
./gradlew build

Gotowy JAR pojawi się w build/libs/.

Dalej

Strona WWW, która z tego API korzysta, opisana jest w dziale Rynek — strona WWW.

On this page