Co na czym bazuje?

Kolejność ma znaczenie: MetaMod:Source ładuje natywne rozszerzenia, CounterStrikeSharp udostępnia framework pluginów C#, a MatchZy działa jako plugin CounterStrikeSharp. Po aktualizacji CS2 wersje frameworków muszą pasować do aktualnego buildu serwera.

Ta struktura wyjaśnia też, dlaczego błędy prawie zawsze przebijają się od dołu do góry: jeśli MetaMod się nie ładuje, CounterStrikeSharp w ogóle nie wystartuje, a MatchZy nie pojawi się wtedy na żadnej liście pluginów. Jeśli w takiej sytuacji najpierw przeinstalujesz MatchZy, naprawiasz niewłaściwą warstwę. Dlatego zawsze przechodź od najniższego poziomu w górę.

Wymagania

Zanim zaczniesz, sprawdź trzy rzeczy:

  • Dostęp do serwera: Potrzebujesz dostępu do menedżera pluginów w panelu albo do zarządzania plikami. Do wariantu ręcznego wymagany jest dostęp SFTP do plików serwera gry.
  • Aktualna kopia zapasowa: Instalacje pluginów ingerują w game/csgo/addons/. Kopia zapasowa przed pierwszym zapisem oszczędza pełnej reinstalacji w razie błędu.
  • Zatrzymany serwer: Nigdy nie zapisuj niczego w addons/, gdy serwer działa. Częściowo zapisane pliki powodują błędy ładowania, które trudno odróżnić od prawdziwych konfliktów wersji.

Instalacja w panelu

  1. Utwórz kopię zapasową i zatrzymaj serwer.
  2. Otwórz menedżer pluginów i najpierw zainstaluj MetaMod:Source.
  3. Następnie zainstaluj CounterStrikeSharp.
  4. Uruchom serwer jeden raz. W logu MetaMod i CounterStrikeSharp muszą pojawić się bez błędów ładowania.
  5. Ponownie zatrzymaj serwer, zainstaluj MatchZy i go uruchom.
  6. Sprawdź w konsoli serwera za pomocą css_plugins list, czy MatchZy został załadowany.

Przy instalacji ręcznej MetaMod i CounterStrikeSharp powinny trafić do game/csgo/addons/; MatchZy znajduje się w game/csgo/addons/counterstrikesharp/plugins/MatchZy/. Jeśli to możliwe, użyj menedżera pluginów, aby ścieżki i kompatybilne wersje zostały dobrane automatycznie.

Pośrednie uruchomienie po kroku 3 nie jest opcjonalnym dodatkiem. Czysto rozdziela dwa źródła błędów: jeśli serwer zacina się już tutaj, problem leży we frameworku, a nie w MatchZy. Jeśli zainstalujesz wszystko naraz i serwer przestanie startować, później musisz zgadywać, który z trzech komponentów jest winny.

Podstawowe komendy do meczu

Gracze używają komend czatu:

.ready       zgłoś gotowość
.unready     cofnij gotowość
.pause       wstrzymaj mecz
.unpause     wznów mecz

W zależności od konfiguracji MatchZy te same komendy mogą też zaczynać się od !. Admini wczytują konfigurację meczu komendą ładowania udostępnioną przez MatchZy; wcześniej sprawdź konkretną nazwę pliku w swojej konfiguracji MatchZy.

Przydatne komendy serwera:

status
mp_warmup_end
mp_restartgame 1
changelevel de_mirage
bot_kick

Jeśli chcesz regularnie uruchamiać mecze bez pracy w konsoli, wygodniejszą opcją jest CS2 Match Center z MatchZy: drużyny, mapę, format i GOTV ustawiasz tam w formularzu, zamiast wpisywać każde ustawienie komendą.

Zawężanie błędów

Trzy najczęstsze objawy mają wyraźnie różne przyczyny:

  • css_plugins list nie rozpoznaje komendy. Wtedy CounterStrikeSharp nie jest załadowany. Sprawdź w logu startowym, czy MetaMod w ogóle został zainicjalizowany — bez MetaMod nie ma CounterStrikeSharp.
  • css_plugins list działa, ale MatchZy brakuje w wyniku. Framework i warstwa pluginów są w porządku, ale MatchZy leży w złym katalogu albo nie pasuje do zainstalowanej wersji CounterStrikeSharp.
  • Serwer nie startuje po instalacji. Najczęściej to konflikt wersji po aktualizacji CS2. Testowo usuń MatchZy, uruchom serwer i ponownie przechodź w górę warstw.

Zawsze czytaj log startowy od góry do dołu. Pierwszy blok Failed, Error albo Exception wskazuje dotkniętą warstwę; wszystko po nim to zwykle błędy następcze, które znikną same, gdy przyczyna zostanie usunięta.

Po aktualizacji CS2

Jeśli pluginy nagle zniknęły, nie instaluj od nowa całego serwera gry. Najpierw sprawdź, czy MetaMod i CounterStrikeSharp nadal się ładują, zaktualizuj oba frameworki, a potem MatchZy. Pierwszy blok Failed, Error albo Exception w logu startowym zwykle pokazuje dotkniętą warstwę.

Valve publikuje aktualizacje CS2 bez oglądania się na frameworki firm trzecich. Między aktualizacją a pasującą wersją MetaMod lub CounterStrikeSharp mogą więc minąć godziny albo dni. Przy meczach ligowych z ustalonym terminem warto celowo kontrolować automatyczne aktualizacje, aby serwer tuż przed meczem nie przeszedł na build, dla którego nie ma jeszcze kompatybilnych pluginów.

FAQ

Czy muszę dodatkowo zainstalować SourceMod? Do MatchZy nie. MatchZy opiera się na CounterStrikeSharp. SourceMod to samodzielny, równoległy ekosystem pluginów i nie jest potrzebny w tym stosie.

W jakiej kolejności muszę aktualizować? Zawsze od dołu do góry: najpierw MetaMod:Source, potem CounterStrikeSharp, na końcu MatchZy. W odwrotnej kolejności wyższy plugin ładuje się względem frameworka, który jeszcze nie pasuje do buildu serwera.

Dlaczego komendy czatu nie reagują? Albo MatchZy nie jest załadowany — pokazuje to css_plugins list — albo twoja konfiguracja używa innego prefiksu komend. Powszechne są zarówno .ready, jak i !ready.

Czy mogę instalować pluginy podczas działania serwera? Nie. Najpierw zatrzymaj serwer. Zapisy do addons/ przy działającym procesie tworzą niekompletne pliki i błędy ładowania, które wyglądają jak konflikty wersji.

Gdzie znajdę oficjalną dokumentację? Kroki instalacji i opcje konfiguracji MatchZy są w dokumentacji MatchZy. W sprawach wersji związanych z rodziną Metamod/SourceMod punktem odniesienia jest przegląd wymaganych wersji na AlliedModders.

Serwer działa, ale wydajność załamuje się w meczu. To nie jest problem pluginu w ścisłym sensie. Sprawdź tickrate i obciążenie serwera oddzielnie od stosu pluginów — jest do tego osobny poradnik o tickrate i wydajności na serwerach CS2.