- Strona główna
- Poradniki
- Windrose
- Windrose: jak postawić dedykowany serwer — instalacja Steam, SteamCMD, Docker i ustawienia poziomu trudności
Windrose: jak postawić dedykowany serwer — instalacja Steam, SteamCMD, Docker i ustawienia poziomu trudności
W skrócie
Windrose oferuje darmowy i dobrze wyposażony dedykowany serwer, dzięki któremu wasza załoga pozostanie zgrana w okresie posuchy przed Ashlands. Między instalacją SteamCMD, Dockerem pod Linuksem a ustawieniami trudności, oto jak zamienić wasz świat w działającą 24/7 trwałą instancję.
Windrose przechodzi przez swój pierwszy prawdziwy okres posuchy. Ostatnia poprawka, wersja 0.10.0.8, sięga 8 lipca 2026 roku i mieściła się w trzech linijkach: pociski przenikające przez kadłuby na dużym dystansie, ulepszona lokalizacja japońska oraz znany błąd dotyczący żagli przednich. Co do Ashlands, pierwszej dużej aktualizacji zawartości, Kraken Express uprzedziło już 28 kwietnia, że zajmie ona „co najmniej sześć miesięcy” pracy, a dziennik dewelopera z 1 lipca wciąż nie podał żadnego okna wydania.
Innymi słowy: aż do jesieni to, co utrzyma waszą rozgrywkę przy życiu, to wasza załoga. A najbardziej niezawodnym sposobem na utrzymanie zgranej grupy w survivalu, który przekroczył dwa miliony sprzedanych egzemplarzy, jest serwer dedykowany: świat działający nieprzerwanie, do którego każdy łączy się, kiedy chce, bez uzależnienia od dostępności hosta. Narzędzie jest darmowe, jest już dołączone do gry, a od patcha 0.10.0.7 z 25 czerwca działa też pod Linuksem dzięki oficjalnemu obrazowi Docker.
Ostrzeżenie dotyczące słownictwa, zanim zaczniemy: klient Windrose jest przetłumaczony na francuski (interfejs i napisy), ale cała część serwerowa pozostaje w języku angielskim. Klucze plików konfiguracyjnych, podręcznik DedicatedServer.md dołączony do narzędzia oraz dokumentacja online nie mają żadnej wersji francuskiej: nazwy pól cytowane poniżej należy zapisywać dokładnie tak, jak są podane.
Pobranie serwera: trzy drogi i jeden klasyczny błąd
Serwer dedykowany Windrose to samodzielny, darmowy plik wykonywalny, który nie wymaga posiadania gry na maszynie hosta. Trzy sposoby jego zdobycia, wszystkie równoważne:
- Z plików gry: otwórzcie folder instalacyjny, następnie R5\Builds. Podfolder WindroseServer (lub WindowsServer na Epic Games Store i Stove) to serwer.
- Z narzędzia Steam: w bibliotece przełączcie filtr kategorii na „Narzędzia”, wyszukajcie Windrose Dedicated Server i zainstalujcie go jak grę. To najprostszy sposób na utrzymanie go w aktualnej wersji.
- Przez SteamCMD: metoda zalecana dla maszyny bez interfejsu graficznego, zdalnego serwera lub automatyzacji.
Błąd, który każdy popełnia za pierwszym razem: uruchomienie serwera z folderu gry. To nie zadziała. Folder obecny w instalacji pełni wewnętrzną rolę po stronie klienta, a klient przerwie proces, gdy tylko zobaczy, że działa. Skopiujcie go najpierw w inne miejsce na dysku, poza strukturą folderów gry, i pracujcie na tej kopii.
Dla SteamCMD identyfikator aplikacji serwera to 4129620 (sama gra nosi numer 3041230). Sekwencja mieści się w czterech poleceniach:
- force_install_dir "C:\Game_Servers\Windrose_Server"
- login anonymous
- app_update 4129620 validate
- quit
Anonimowe logowanie wystarczy: żadna licencja nie jest wymagana do zainstalowania serwera. Aby zaktualizować go później, wystarczy ponownie uruchomić app_update 4129620 validate, które pobierze tylko zmodyfikowane pliki.
Pierwsze uruchomienie i kod zaproszenia
W folderze współistnieją dwa pliki wykonywalne. StartServerForeground.bat otwiera konsolę, w której przewijają się dzienniki: to preferowany sposób uruchamiania, choćby po to, by zdiagnozować awarię, a zamknięcie okna zatrzymuje serwer. WindroseServer.exe uruchamia proces w tle, bez widocznej informacji zwrotnej, i trzeba będzie skorzystać z menedżera zadań, aby go zakończyć.
Przy pierwszym uruchomieniu serwer sam generuje swoje pliki konfiguracyjne i wyświetla w konsoli ośmioznakowy kod zaproszenia, w rodzaju f1014dc1. Jeśli linijka przewinęła się zbyt szybko, można go odnaleźć w pliku R5\ServerDescription.json. Wystarczy wkleić go w ekran łączenia z serwerem po stronie klienta, a następnie przekazać swojej załodze.

ServerDescription.json: pola, które naprawdę się liczą
Ten pojedynczy plik, znajdujący się w katalogu głównym aplikacji, steruje samym serwerem. Zasada bezwzględna: modyfikujcie go wyłącznie przy wyłączonym serwerze, w przeciwnym razie wasze wartości zostaną nadpisane.
| Pole | Rola |
|---|---|
| InviteCode | Minimum sześć znaków, wyłącznie cyfry i litery, z uwzględnieniem wielkości liter. |
| IsPasswordProtected / Password | Muszą pozostać spójne: true z ustawionym hasłem, false z pustym polem. W przeciwnym razie pojawiają się nieprzewidywalne zachowania. |
| WorldIslandId | Identyfikator świata wczytywanego przy starcie. Pole do zmiany przy przełączaniu się między kilkoma światami. |
| MaxPlayerCount | Dozwolona liczba jednoczesnych graczy. Wartość domyślna: 4. |
| UserSelectedRegion | SEA, CIS lub EU (obejmujący Europę i Amerykę Północną). Puste pole oznacza, że serwer wybiera region na podstawie opóźnień. |
| UseDirectConnection | false: protokół ICE oraz usługi łączności wydawcy. true: serwer otwiera własne gniazda (sockety). |
| DirectConnectionServerPort | Port połączenia bezpośredniego, domyślnie 7777, do otwarcia zarówno w TCP, jak i w UDP. |
| AutoLoadLatestBackupIfHasBroken | Pozostawić na true: automatyczne przywracanie z nienaruszonej kopii, jeśli plik jest uszkodzony. |
| CanLaunchMultipleServerInstances | Pozostawić na false. Dwie instancje na tej samej bazie danych to pewna korupcja danych. |
Dwóch pól nigdy nie należy ruszać: PersistentServerId, unikalnego identyfikatora instancji, oraz DirectConnectionServerAddress, zarezerwowanego do przyszłego użytku.
Bezpośrednie IP: kiedy i jak
Domyślnie Windrose opiera się na własnych serwerach łączności i przydziela porty dynamicznie, poprzez przechodzenie przez NAT, co zakłada router z aktywnym UPnP. Ta droga zawodzi w dwóch przypadkach: gdy dostawca internetu filtruje usługi gry, lub przy samodzielnie zarządzanym hostingu za opornym routerem. Połączenie przez bezpośrednie IP, dodane w połowie kwietnia, służy jako rozwiązanie zapasowe. W sieci lokalnej nie wymaga ani publicznego IP, ani przekierowania portów: host przekazuje swój lokalny adres i port, na przykład 192.168.1.100:7777.
W internecie potrzebne jest publiczne IP — niektórzy dostawcy fakturują je jako opcję — oraz przekierowanie zarówno w TCP, jak i w UDP z routera na maszynę hosta, na przykład z 203.0.113.25:17777 na 192.168.1.100:7777. Uwaga, przy bezpośrednim IP kody zaproszeń przestają działać, a błąd hasła lub rozbieżność wersji odsyła do menu głównego bez najmniejszego komunikatu. Jeśli nic nie działa: sprawdźcie adres maszyny za pomocą ipconfig, zrezygnujcie z portu 7777 na rzecz wyższego i mniej obleganego portu (17777, 27890, dowolny wolny port poniżej 65000), tymczasowo wyłączcie zaporę sieciową i antywirus, i odczekajcie, aż serwer zakończy uruchamianie, zanim podejmiecie pierwszą próbę.
Linux i Docker: oficjalna droga od 25 czerwca
To punkt, którego dokumentacja online jeszcze nie uwzględniła: zaktualizowane 18 maja FAQ nadal odpowiada „tylko Windows” w kwestii wsparcia dla Linuksa. Patch 0.10.0.7, wydany 25 czerwca 2026, dodał jednak obrazy Dockera z obsługą serwera Linux, a instrukcje zostały dostarczone w pliku DedicatedServer.md dołączonym do katalogu głównego serwera. Publiczny obraz windroseserver/windroseserver został zresztą odświeżony 8 lipca, w zgodzie z wersją 0.10.0.8.
Zasada działania: pobrać obraz poleceniem docker pull windroseserver/windroseserver:latest, utworzyć na hoście folder przeznaczony na zapisy, umieścić w nim wcześniej przygotowany plik ServerDescription.json, a następnie uruchomić kontener na koncie użytkownika ue_user z portem 7777 wystawionym w TCP i UDP, przy czym folder Saved oraz plik konfiguracyjny są montowane jako wolumeny. Dwie wartości w pliku są obowiązkowe: UseDirectConnection ustawione na true oraz DirectConnectionServerPort ustawione na 7777. Do kontenera nie dołącza się więc za pomocą kodu zaproszenia, lecz bezpośrednio po adresie IP, na adresie przypisanym kontenerowi (127.0.0.1:7777 w przypadku testu lokalnego). Jeśli ścieżka do folderu zapisów zawiera spacje, ujmij ją w cudzysłów w poleceniu.
Jeśli chodzi o wymagania sprzętowe, wydawca podaje skromne zalecenia: 8 GB pamięci RAM i 35 GB przestrzeni SSD dla dwóch graczy, 12 GB dla czterech, 16 GB dla dziesięciu, na dwóch rdzeniach taktowanych 3,2 GHz. Jeśli hostujesz i grasz na tej samej maszynie, licz w sumie 24 GB, czyli 16 GB dla klienta i dodatkowe 8 GB dla serwera.
Regulacja poziomu trudności: rzeczywiste liczby trzech predefiniowanych ustawień
To najbardziej niedoceniana zaleta serwera dedykowanego. Każdy świat posiada własny plik WorldDescription.json, umieszczony w R5/Saved/SaveProfiles/Default/RocksDB_v2/<wersja>/Worlds/<identyfikator świata>/, a plik ten ujawnia wprost, co kryje się za predefiniowanymi ustawieniami proponowanymi przy tworzeniu rozgrywki.
| Parametr | Easy | Medium | Hard |
|---|---|---|---|
| MobHealthMultiplier | 0,7 | 1,0 | 1,5 |
| MobDamageMultiplier | 0,6 | 1,0 | 1,25 |
| ShipsHealthMultiplier | 0,7 | 1,0 | 1,5 |
| ShipsDamageMultiplier | 0,6 | 1,0 | 1,25 |
| BoardingDifficultyMultiplier | 0,7 | 1,0 | 1,5 |
| CombatDifficulty | Easy | Normal | Hard |
Dwa wnioski. Po pierwsze, różnica między Medium a Hard jest asymetryczna: przeciwnicy wytrzymują o 50% więcej, ale zadają obrażenia tylko o 25% większe. Przejście na poziom trudny wydłuża więc przede wszystkim czas trwania walk, zamiast czynić je bardziej dotkliwymi. Jeśli szukasz napięcia zamiast znużenia, podnieś MobDamageMultiplier do 1,5 lub 1,75, pozostawiając zdrowie na poziomie 1,0 — dopuszczalny zakres dla obu tych mnożników wynosi od 0,2 do 5,0. Po drugie, BoardingDifficultyMultiplier nie wpływa ani na obrażenia, ani na punkty zdrowia: określa liczbę wrogich marynarzy, których trzeba pokonać, aby wygrać abordaż. To dźwignia, którą warto obniżyć, jeśli abordaże wydają się długie, choć niekoniecznie trudne.
Dwa najciekawsze parametry dotyczą skalowania trudności w trybie kooperacji. Coop.StatsCorrectionModifier, domyślnie ustawiony na 1,0, dostosowuje punkty życia przeciwników oraz tempo, w jakim tracą oni postawę, w zależności od liczby podłączonych graczy. Jednak Coop.ShipStatsCorrectionModifier wynosi domyślnie 0,0: wrogie statki w ogóle nie wzmacniają się wraz ze wzrostem liczebności waszej załogi. To mechaniczne wytłumaczenie wrażenia, że walki morskie tracą sens przy trzech lub czterech graczach, podczas gdy starcia na lądzie pozostają do ogarnięcia. Podniesienie tej wartości do przedziału między 0,5 a 1,0 równoważy morze, nie wpływając przy tym na ląd.
Ostatnie ustawienie, które warto znać: EasyExplore. Jego nazwa jest myląca, to pozostałość po starszych wersjach. Ustawiony na true, wyłącza znaczniki na mapie sygnalizujące miejsca warte odwiedzenia, przez co eksploracja staje się bardziej wymagająca. W samej grze opcja ta widnieje pod nazwą eksploracja immersyjna.

Sama modyfikacja tego pliku nie wystarczy: trzeba jeszcze zatwierdzić zmiany. Przy wyłączonym serwerze otwieramy wiersz poleceń w katalogu głównym serwera i uruchamiamy R5WorldDescriptionUpdater.exe, podając mu pełną ścieżkę do odpowiedniego pliku WorldDescription.json. Bez tego kroku wasze wartości nie zostaną uwzględnione przy ponownym uruchomieniu.
Przeniesienie gry z trybu solo na serwer
Nic nie zmusza was do zaczynania od zera. Zakładając, że wszystko jest wcześniej wyłączone i zapisane, transfer sprowadza się do czterech kroków.
- Odnajdźcie swój świat w folderze %localappdata%\R5\Saved\SaveProfiles\<wasz profil>\. W zależności od tego, czy migracja formatu miała miejsce, czy nie, znajduje się on w folderze RocksDB (stary format, sprzed wersji 0.10.0.5.120) lub w RocksDB_v2_Backups. Folder RocksDB_v2 służy natomiast do działania w czasie rzeczywistym: nie należy go ruszać.
- Skopiujcie cały folder noszący identyfikator świata.
- Wklejcie go do folderu Worlds serwera, znajdującego się w R5\Saved\SaveProfiles\Default\, w podfolderze odpowiadającym wersji gry.
- Wpiszcie WorldIslandId w pliku ServerDescription.json, podając dokładną nazwę skopiowanego folderu.
Nigdy nie zmieniajcie nazwy folderu świata: baza danych opiera się na tych identyfikatorach. A jeśli Steam zaproponuje wam wybór między zapisem lokalnym a zapisem w chmurze, zawsze wybierajcie ten lokalny — chmura Steam spowodowała już kilka fal uszkodzonych zapisów od momentu premiery, do tego stopnia, że studio musiało dodać system automatycznych kopii zapasowych.
Pułapka numer jeden: rozbieżność wersji
Kraken Express kładzie na ten punkt większy nacisk niż na jakikolwiek inny, i słusznie: wersja serwera musi dokładnie odpowiadać wersji klienta. Rozbieżność nie zawsze objawia się wyraźną odmową połączenia; wywołuje też rozproszone błędy, trudne do powiązania z ich przyczyną. Odruch, który warto wyrobić sobie po każdej aktualizacji, nawet najdrobniejszej, to ponowne uruchomienie app_update 4129620 validate lub pobranie folderu serwera z nowej instalacji, a następnie umieszczenie zawartości starego folderu R5\Saved w nowym.
Przy tempie poprawek, które stało się powolne — zaledwie trzy między 18 maja a 8 lipca — utrzymanie serwera pozostaje lekkie. To zresztą decydujący argument na rzecz serwera dedykowanego w tym momencie: skonfigurowany porządnie raz, wytrzyma bez interwencji aż do Ashlands, a wspólny świat, który żyje nieprzerwanie, pozostaje najlepszym powodem, by ponownie otworzyć Windrose w miesiące oczekiwania. Skorzystajcie z okazji, by podnieść poziom trudności i naprawić morską nierównowagę trybu kooperacji: to nowa zawartość bez konieczności czekania na choćby jedną linijkę notatek patcha.
Udostępnij ten artykuł
Jak hostujecie swój serwer Windrose?
Najczęstsze pytania
Czy naprawdę trzeba posiadać Windrose, żeby uruchomić dedykowany serwer?
Dlaczego mój serwer się crashuje, gdy uruchamiam go z folderu gry?
Jakiego identyfikatora aplikacji użyć w SteamCMD?
Jak to działa konkretnie pod Linuksem?
Czy bezpośrednie połączenie po IP jest naprawdę lepsze niż kody zaproszeń?
Najważniejsze informacje
- Dedykowany serwer jest darmowy, samodzielny i nie wymaga posiadania Windrose na maszynie hosta.
- Nigdy nie uruchamiaj serwera z folderu gry: skopiuj go najpierw gdzie indziej, bo inaczej klient natychmiast go wyłączy.
- ServerDescription.json to wasze absolutne centrum kontroli: zawsze modyfikujcie go przy wyłączonym serwerze, w przeciwnym razie wasze zmiany zostaną nadpisane.
- Bezpośrednie połączenie po IP ratuje sytuację, gdy NAT/UPnP sprawia problemy, ale usuwa kody zaproszeń.
- Docker działa oficjalnie od patcha 0.10.0.7, z obrazem odświeżanym przy każdej większej aktualizacji.
Komentarze
Brak komentarzy. Bądź pierwszy i zabierz głos!
Dodaj komentarz
Podobne poradniki
Najnowsze artykuły
Oceń Windrose
Kliknij gwiazdkę, aby ocenić
Android
iOS
Mac
Meta Quest 3
Nintendo Switch
Nintendo Switch 2
PC
PlayStation 4
PlayStation 5
PS VR2
Steam Deck
SteamVR
Xbox One
Xbox Series