GameHosting.pl

Notatki operatora

ViaVersion: jeden serwer Minecraft dla wielu wersji klienta

Praktyczny przewodnik po ViaVersion: jak jeden serwer wpuszcza graczy z różnych wersji klienta, czym różni się od ViaBackwards i ViaRewind, gdzie go instalować na Paperze, a gdzie na proxy, i dlaczego czasem ktoś dalej nie może wejść. Z perspektywy kogoś, kto już raz tłumaczył graczom, że plugin nie doda im nowych bloków.

Opublikowano · ~7 min czytania

W skrócie: ViaVersion tłumaczy pakiety sieciowe, dzięki czemu gracz z nowszą wersją klienta wejdzie na starszy serwer (np. klient 1.21 na serwerze 1.20). Aby wpuścić też starsze klienty, dokładasz ViaBackwards, a dla bardzo starych wersji ViaRewind. Na pojedynczym serwerze plugin idzie do folderu plugins; na sieci z proxy instalujesz go na Velocity lub BungeeCord, nie na backendach. Pamiętaj: tłumaczy połączenie, a nie zawartość, nowych bloków i mechanik nie będzie.

Jaki problem rozwiązuje ViaVersion

Klasyczna sytuacja: prowadzisz serwer na wersji 1.20, bo na niej działają wszystkie Twoje pluginy, a połowa graczy zdążyła już zaktualizować Minecrafta do najnowszego wydania. Bez żadnego rozwiązania ci gracze dostają komunikat o niezgodności wersji i nie mogą się połączyć. Albo trzymasz serwer na starej wersji i tracisz osoby z nowym klientem, albo aktualizujesz serwer i ryzykujesz, że część dodatków przestanie działać.

ViaVersion przecina ten węzeł. Pozwala utrzymać serwer na stabilnej, sprawdzonej wersji i jednocześnie wpuścić graczy, którzy grają na nowszym kliencie. Dla operatora oznacza to spokój: aktualizujesz serwer wtedy, kiedy Ty jesteś gotowy (sprawdzone pluginy, przetestowane mapy), a nie wtedy, gdy Mojang wypuści kolejne wydanie i połowa społeczności kliknie aktualizację.

To jeden z najczęściej instalowanych pluginów na serwerach społecznościowych właśnie dlatego, że rozwiązuje codzienny ból, a nie jakiś egzotyczny przypadek. Im większa społeczność, tym pewniejsze, że gracze mają różne wersje klienta, i tym bardziej taki most między wersjami się przydaje.

Jak działa: tłumaczenie pakietów

Minecraft komunikuje się między klientem a serwerem za pomocą tak zwanego protokołu, czyli ustalonego formatu pakietów: „gracz się poruszył”, „blok się zmienił”, „otwórz ekwipunek”. Każda wersja gry ma swój numer protokołu i swój zestaw pakietów. Gdy numery się nie zgadzają, klient i serwer po prostu się nie dogadują i połączenie zostaje odrzucone.

ViaVersion wstawia się w środek tej rozmowy jako tłumacz. Kiedy gracz z nowszym klientem wysyła pakiety w swoim formacie, plugin przepisuje je na format, który rozumie starszy serwer, i odwrotnie, odpowiedzi serwera przekłada na to, czego oczekuje nowszy klient. Z punktu widzenia gracza wszystko jest przezroczyste: po prostu się łączy i gra.

Kluczowa rzecz do zapamiętania: sam ViaVersion obsługuje kierunek „nowszy klient na starszym serwerze”. To najczęstszy scenariusz, bo gracze aktualizują grę szybciej, niż operatorzy aktualizują serwery. Odwrotny kierunek, czyli starszy klient na nowszym serwerze, wymaga osobnego pluginu, o czym za chwilę.

ViaVersion vs ViaBackwards vs ViaRewind

To trio pochodzi od tego samego zespołu i działa razem, ale każdy element odpowiada za inny zakres wersji. Najprościej zapamiętać tak: ViaVersion patrzy w przyszłość, ViaBackwards w przeszłość, a ViaRewind sięga w naprawdę odległą przeszłość.

PluginCo umożliwiaKiedy go potrzebujesz
ViaVersionNowsze klienty łączą się ze starszym serweremZawsze, to podstawa. Gracz na 1.21 chce wejść na serwer 1.20.
ViaBackwardsStarsze klienty łączą się z nowszym serweremGdy serwer jest na świeżej wersji, a chcesz wpuścić graczy z poprzednich wydań. Wymaga ViaVersion.
ViaRewindBardzo stare klienty (okolice 1.8/1.7) na nowszym serwerzeGdy zależy Ci na graczach z dawnych wersji PvP. Wymaga ViaVersion i ViaBackwards.

W praktyce: jeśli chcesz tylko, by nowi gracze trafiali na Twój stabilny serwer, wystarczy sam ViaVersion. Jeśli prowadzisz serwer na najnowszej wersji i nie chcesz odcinać tych, którzy zostali na starszym kliencie, dokładasz ViaBackwards. ViaRewind to dodatek dla społeczności mocno przywiązanych do mechaniki ze starych wersji, np. fanów PvP z 1.8. Pluginy doinstalowujesz w tej kolejności zależności: ViaVersion jest fundamentem, pozostałe dwa go potrzebują.

Instalacja: gdzie i na czym

ViaVersion to zwykły plugin Bukkit/Bungee/Velocity, więc instalacja sprowadza się do wrzucenia pliku .jar w odpowiednie miejsce i restartu. Najważniejsze pytanie brzmi: gdzie dokładnie.

Z doświadczenia: najczęstszy błąd przy sieci serwerów to wrzucenie ViaVersion i na proxy, i na backendy „na wszelki wypadek”. To prowadzi do podwójnego tłumaczenia pakietów i dziwnych rozłączeń, których nikt nie umie potem namierzyć. Reguła jest prosta: jest proxy, to plugin idzie tylko na proxy. Nie ma proxy, to idzie na serwer gry.

Podstawowa konfiguracja i sprawdzenie wersji

Dobra wiadomość jest taka, że ViaVersion działa od razu po instalacji, bez ustawiania czegokolwiek. Domyślna konfiguracja wpuszcza nowsze klienty na Twój serwer i w większości przypadków to wszystko, czego potrzebujesz.

Po starcie warto jednak zweryfikować, co plugin faktycznie obsługuje. Wpisz na konsoli lub na czacie (z uprawnieniami administratora) komendę:

W pliku config.yml pluginu znajdziesz opcje warte uwagi, na przykład limit najstarszej dopuszczalnej wersji klienta czy drobne korekty zachowania przy konkretnych wersjach. Na start nie musisz ich ruszać. Zajrzyj tam dopiero, gdy chcesz świadomie ograniczyć zakres wpuszczanych wersji albo gdy dokumentacja konkretnego problemu odsyła Cię do danej opcji.

Ograniczenia, o których trzeba wiedzieć

ViaVersion robi jedną rzecz bardzo dobrze, ale nie jest magią. Najczęstsze nieporozumienia, które warto rozwiać, zanim gracze zaczną zadawać pytania:

Typowe problemy

Gdzie to się spina z hostingiem

ViaVersion sam w sobie jest darmowy i lekki, ale żeby go zainstalować, musisz mieć serwer, na którym wolno dorzucać pluginy i restartować go po aktualizacjach. Na zamkniętych „pudełkach” bez dostępu do folderu plugins ani konsoli ten manewr odpada. Jeśli zależy Ci na serwerze Paper z możliwością instalowania własnych dodatków i prostego zarządzania wersją, sprawdź zarządzany hosting Minecrafta Java z obsługą pluginów w Supercraft, masz tam dostęp do plików i konsoli, więc wgranie ViaVersion sprowadza się do wrzucenia .jar i restartu.

Najczęstsze pytania

Czy ViaVersion pozwala grać na każdej wersji klienta?

Nie na każdej, ale na bardzo szerokim zakresie. Sam ViaVersion obsługuje klienty nowsze od serwera; ViaBackwards dokłada starsze, a ViaRewind te bardzo stare. Zawsze sprawdź aktualną listę wspieranych wersji w opisie pluginu.

Na czym instalować ViaVersion: na serwerze gry czy na proxy?

Na pojedynczym Paperze lub Spigocie wrzucasz go do folderu plugins tego serwera. Na sieci z Velocity lub BungeeCord instalujesz go wyłącznie na proxy, nigdy na obu warstwach naraz.

Czy ViaVersion da mi nowe bloki i mechaniki na starym serwerze?

Nie. Plugin tłumaczy pakiety sieciowe, a nie zawartość gry. Serwer 1.20 zostaje serwerem 1.20, gracz z nowszym klientem zobaczy ten sam świat, czasem z drobnymi różnicami wizualnymi.

Dlaczego gracz dalej nie może wejść mimo zainstalowanego ViaVersion?

Najczęściej przez nieaktualny plugin po aktualizacji Minecrafta, brak ViaBackwards dla starszego klienta albo plugin wgrany na backend zamiast na proxy. Logi serwera zwykle wskazują, jakiego protokołu zabrakło.

Czy ViaVersion spowalnia serwer?

Tłumaczenie pakietów kosztuje trochę CPU i pamięci, ale przy typowym serwerze społecznościowym narzut jest niewielki. Większy wpływ widać dopiero przy bardzo wielu graczach na starych wersjach klienta.

Powiązane