Grzybcio Wiki

Konfiguracja

config.yml w wersji 1.0.3 — limity, prowizje, wygasanie, zabezpieczenia i opcje, które nic nie robią.

Plik leży w plugins/GrzybcioRynek/config.yml. Sekcja messages: jest w tym samym pliku — tu opisane są ustawienia, nie komunikaty.

Po zmianie: /market reload.

Szkielet pliku

plugins/GrzybcioRynek/config.yml
settings:
  max-listings-per-player: 10
  listing-expiry-days: 7
  gui-rows: 6          # NIEUŻYWANE
  min-price: 1.0
  max-price: 1000000.0

market-fee:
  enabled: true
  listing-fee-percent: 0.0
  sale-fee-percent: 5.0
  minimum-fee: 0.0
  maximum-fee: 0.0     # 0 = brak limitu górnego
  sink-account: ""

history:
  enabled: true        # bramkuje tylko komendę /market history
  retention-days: 30

favorites:
  enabled: true

price-alerts:
  enabled: true
  max-per-player: 10

anti-abuse:
  enabled: true
  max-purchases-from-same-player: 20
  purchase-window-seconds: 86400
  max-transaction-value: 10000000
  listing-cooldown-seconds: 5

transactions:
  logging: true

mailbox:
  enabled: true

ratings:
  enabled: true

stats:
  enabled: true        # NIEUŻYWANE

settings

OpcjaTypDomyślnieCo robi
max-listings-per-playerint10Maksimum aktywnych ofert jednego gracza
listing-expiry-daysint7Po ilu dniach oferta wygasa
gui-rowsint6Nic nie robi
min-pricedouble1.0Dolny limit ceny
max-pricedouble1000000.0Górny limit ceny

Zalecane: max-listings-per-player 5–20 na zwykły survival, listing-expiry-days 3–14.

Podniesienie limitu ofert nie rusza już wiszących ofert — działa dopiero przy próbie wystawienia nowej. Przy listing-expiry-days: 0 oferty wygasają praktycznie natychmiast.

gui-rows nic nie robi

settings.gui-rows jest wczytywane, ale żadne GUI go nie czyta. Ustawienie 4 nie zrobi mniejszego okna.

Rozmiar okna przeglądania ustawia się w gui.yml → browse.size. Szczegóły w GUI.

market-fee

OpcjaTypDomyślnieCo robi
enabledbooltrueGłówny wyłącznik obu prowizji
listing-fee-percentdouble0.0Prowizja od wystawienia, w procentach ceny
sale-fee-percentdouble5.0Prowizja od sprzedaży, w procentach
minimum-feedouble0.0Podłoga kwoty prowizji
maximum-feedouble0.0Sufit prowizji. 0 = bez limitu
sink-accountstring""Konto Vault dla prowizji od sprzedaży

Jak to liczy

  1. Prowizja = cena * procent / 100.
  2. Jeśli wynik jest mniejszy niż minimum-fee, brane jest minimum.
  3. Jeśli maximum-fee > 0 i wynik go przekracza, brany jest sufit.

Kupujący zawsze płaci pełną cenę. Prowizja od sprzedaży jest potrącana sprzedawcy. Prowizja od wystawienia jest pobierana z góry, przy tworzeniu oferty — brak pieniędzy oznacza, że oferta nie powstanie.

Zalecane: sale-fee-percent 3–10, listing-fee-percent 0, chyba że świadomie chcesz opłatę wejściową.

sink-account

WartośćEfekt
""Prowizja znika z ekonomii
"serwer"Trafia na konto Vault o tej nazwie

Błąd wpłaty na konto skarbca nie przerywa zakupu — transakcja kończy się sukcesem, a w logu pojawia się ostrzeżenie. Sprawdź log po pierwszej transakcji, jeśli ustawiasz sink-account.

Prowizja od wystawienia nigdy nie idzie na sink — jest ściągana od wystawiającego.

history

OpcjaDomyślnieCo robi
enabledtrueBramkuje tylko komendę /market history
retention-days30Po ilu dniach czyszczone są zakończone transakcje

history.enabled nie ukrywa historii

Przycisk Historii w GUI przeglądania nie sprawdza tej flagi i otwiera historię zawsze. Wyłączenie blokuje wyłącznie komendę, a komunikat o wyłączeniu jest zaszyty w kodzie, nie w messages.

Transakcje są zapisywane niezależnie od tej opcji.

Czyszczenie usuwa tylko transakcje zakończone sukcesem. Nieudane i zawieszone zostają — celowo, bo to one są potrzebne przy diagnozowaniu problemów.

favorites, price-alerts, ratings, mailbox

SekcjaOpcjaDomyślnieCo wyłącza
favoritesenabledtrueKomendę i przycisk ulubionych
price-alertsenabledtrueKomendę, przycisk i powiadamianie o nowych ofertach
price-alertsmax-per-player10Limit alertów na gracza
ratingsenabledtrueProśbę o ocenę po zakupie
mailboxenabledtrueTylko dostarczanie do skrzynki, nie samo GUI

mailbox.enabled działa inaczej, niż się wydaje

Ta flaga nie decyduje o tym, czy skrzynka się otworzy — GUI działa zawsze. Decyduje o tym, gdzie ląduje przedmiot przy zwrocie.

Przy false: gracz online dostaje przedmiot do ekwipunku albo pod nogi, a offline — do listy zwrotów oczekujących.

anti-abuse

OpcjaDomyślnieCo robi
enabledtrueGłówny wyłącznik wszystkich zabezpieczeń
max-purchases-from-same-player20Limit zakupów od jednego sprzedawcy w oknie czasu
purchase-window-seconds86400Długość okna (domyślnie doba)
max-transaction-value10000000Sufit ceny przy zakupie
listing-cooldown-seconds5Odstęp między wystawieniami

Liczniki żyją tylko w pamięci

Licznik zakupów i cooldown wystawiania są trzymane w pamięci i resetują się przy restarcie serwera. Przy serwerze restartowanym co kilka godzin limit dobowy jest w praktyce dużo luźniejszy, niż wygląda.

max-transaction-value a max-price to dwie różne rzeczy

settings.max-price ogranicza wystawianie. anti-abuse.max-transaction-value ogranicza kupowanie.

Jeśli ustawisz max-price: 5000000, a max-transaction-value: 100000, gracze będą mogli wystawiać oferty, których nikt nie kupi. Trzymaj max-transaction-value co najmniej na poziomie max-price — albo obniż oba świadomie.

Zalecane: max-purchases-from-same-player 10–30 (zależnie od tego, jak bardzo chcesz ograniczyć farmienie między znajomymi), listing-cooldown-seconds 3–15.

transactions

OpcjaDomyślnieCo robi
loggingtrueLoguje kolejne kroki transakcji na konsolę

Zostaw true. Gdy pojawi się problem z refundacją albo zgubionym przedmiotem, te logi są jedynym sensownym punktem wyjścia. Wyłączenie nie wpływa na zapisywanie transakcji, tylko na ich wypisywanie.

Opcje, które nic nie robią

Dwie opcje są martwe w 1.0.3

OpcjaCo się dzieje
settings.gui-rowsWczytywana, ale żadne GUI jej nie czyta
stats.enabledWczytywana, ale statystyki działają niezależnie od niej

Zmiana którejkolwiek nie da żadnego efektu. Nie trać czasu na diagnozowanie, dlaczego „nie działa".

Przykładowe zestawy

Serwer survival dla znajomych

settings:
  max-listings-per-player: 20
  listing-expiry-days: 14
  min-price: 1.0
  max-price: 500000.0

market-fee:
  enabled: false

anti-abuse:
  enabled: true
  listing-cooldown-seconds: 3
  max-purchases-from-same-player: 100

Bez prowizji i z luźnymi limitami — na małym serwerze nadużycia nie są problemem.

Publiczny serwer z ekonomią

settings:
  max-listings-per-player: 8
  listing-expiry-days: 5
  min-price: 10.0
  max-price: 250000.0

market-fee:
  enabled: true
  listing-fee-percent: 1.0
  sale-fee-percent: 7.0
  minimum-fee: 5.0
  maximum-fee: 2500.0
  sink-account: ""

anti-abuse:
  enabled: true
  max-purchases-from-same-player: 15
  purchase-window-seconds: 86400
  max-transaction-value: 250000
  listing-cooldown-seconds: 10

Prowizje spalane jako money sink, limity zaciśnięte, sufit transakcji zrównany z max-price.

Na tej stronie