Serwer dedykowany 7 Days to Die (dedicated server) — co to jest
Serwer dedykowany to nie tryb w grze, tylko osobny program. W Steamie figuruje jako narzędzie „7 Days to Die Dedicated Server” o numerze aplikacji 294420, przypisane do gry 251570, dostępne na Windowsa i Linuksa i oznaczone jako darmowe do pobrania. Valve wymienia je na swojej liście serwerów dedykowanych i zaznacza, że da się je pobrać zarówno klientem Steama, jak i SteamCMD, przy logowaniu anonimowym.
Praktyczna różnica wobec gry hostowanej z klienta jest jedna, za to zasadnicza: świat nie zależy od tego, czy gospodarz siedzi przy komputerze. To także jedyna droga do gry mieszanej ekipy — producent opisuje crossplay wyłącznie w kontekście serwera dedykowanego.
| Pozycja | Minimum | Zalecane |
|---|---|---|
| Procesor | 2,8 GHz, cztery rdzenie | 3,2 GHz, cztery rdzenie lub szybszy |
| Pamięć | 8 GB RAM | 12 GB RAM |
| System | Windows 10 64-bit albo Ubuntu 16.04 64-bit | Windows 10 64-bit albo Ubuntu 18.04 64-bit |
| Dysk — sama instalacja serwera | około 16,5 GB (13,5 GB do pobrania) | zapas na świat, logi i kopie zapasowe |
| Łącze | stałe łącze szerokopasmowe | stały adres IP albo wykupiony hosting |
Instalacja przez SteamCMD
SteamCMD to konsolowa wersja klienta Steama — instaluje i aktualizuje serwery
bez interfejsu graficznego, więc nadaje się na maszynę, która ma tylko chodzić.
Na Windowsie pobierasz steamcmd.zip ze strony Valve i rozpakowujesz go do
własnego folderu, na Linuksie instalujesz pakiet steamcmd z repozytorium
dystrybucji albo rozpakowujesz steamcmd_linux.tar.gz w katalogu domowym
osobnego użytkownika steam.
Od pustego katalogu do zainstalowanego serwera
Uruchom SteamCMD. Przy pierwszym starcie sam się zaktualizuje i wpuści cię do znaku zachęty
Steam>.Wskaż katalog instalacji —
force_install_dir C:\7dtd-serwer(na Linuksie ze zwykłymi ukośnikami). Valve zaleca zrobić to przed logowaniem, nie po.Zaloguj się anonimowo —
login anonymous. Do tej aplikacji to wystarczy; konto Steam z kupioną grą nie jest potrzebne.Pobierz serwer —
app_update 294420 validate. Dopisekvalidatesprawdza pobrane pliki, więc pierwsza instalacja i każda aktualizacja kończą się na komplecie, a nie na połówce.Wyjdź —
quit. W katalogu z kroku drugiego leży teraz komplet serwera: plik startowystartdedicated.bat(na Linuksiestartserver.sh),serverconfig.xmli folderMods.Wystartuj serwer plikiem startowym i zostaw okno otwarte. Serwer sam dopisuje log — od wersji 2.0 producent przeniósł go z podfolderu danych do katalogu głównego, więc masz go pod ręką.
serverconfig.xml — gdzie leży i co ustawić
Plik serverconfig.xml leży w katalogu serwera, obok pliku startowego. Przy
instalacji ze Steama trafia do folderu 7 Days to Die Dedicated Server
w steamapps\common, przy SteamCMD — tam, gdzie wskazał force_install_dir.
Otwierasz go zwykłym edytorem tekstu i zmieniasz wyłącznie zawartość
value=; nazwy właściwości zostają nietknięte.
| Ustawienie | Za co odpowiada |
|---|---|
| ServerName | Nazwa widoczna na liście serwerów |
| ServerDescription | Opis pokazywany w przeglądarce serwerów |
| ServerWebsiteURL | Adres strony serwera — w przeglądarce staje się klikalnym odnośnikiem |
| ServerPassword | Hasło wejścia; puste pole zostawia serwer otwarty |
| ServerVisibility | 2 = publiczny, 1 = tylko dla znajomych, 0 = niewidoczny na liście |
| ServerMaxPlayerCount | Liczba miejsc; przy serwerze zgodnym z konsolami najwyżej 8 |
| ServerPort | Port, na którym serwer nasłuchuje — domyślnie 26900 |
| Region | Region serwera; dla Polski Europe — konsola widzi tylko serwery ze swojego regionu |
| Language | Główny język graczy, angielską nazwą — dla serwera polskiego Polish |
| GameWorld | Navezgane, gotowy świat PREGEN albo RWG dla mapy losowej |
| GameName | Nazwa rozgrywki; z niej bierze się nazwa folderu zapisu |
| EACEnabled | Easy Anti-Cheat; wyłączenie odcina serwer od graczy konsolowych |
Przy GameWorld ustawionym na RWG decydują jeszcze WorldGenSeed
i WorldGenSize — ziarno i bok świata, które serwer wygeneruje przy pierwszym
starcie. Co robi każdy suwak generatora i gdzie ląduje gotowy świat, opisuje
generator map (RWG).
Sandbox Options — połowa ustawień wyprowadziła się z serverconfig.xml
To najczęstsza pułapka przy stawianiu serwera na wersji 3.x. Wydanie 3.0
dołożyło ponad 150 opcji Sandbox i przeniosło do nich trzydzieści dawnych
właściwości serverconfig.xml. Zniknęły z pliku między innymi
GameDifficulty, XPMultiplier, BlockDamagePlayer, BlockDamageAI,
BlockDamageAIBM, DayNightLength, DayLightLength, DropOnDeath,
ZombieMove, ZombieMoveNight, EnemyDifficulty, BloodMoonFrequency,
BloodMoonRange, BloodMoonWarning, BloodMoonEnemyCount, LootAbundance,
LootRespawnDays, AirDropFrequency i AirDropMarker.
W ich miejsce weszła jedna właściwość — SandboxCode — a jej wartość to
zakodowany komplet ustawień rozgrywki. Domyślna wartość podana przez
producenta, AAAJABJACJADJARFBNC, odpowiada dawnemu poziomowi trudności
„Adventurer”.
Przeniesienie ustawień z serwera na 2.6
Ustaw rozgrywkę w menu Sandbox Options w grze — odtwórz tam to, co miałeś w starym
serverconfig.xml.Skopiuj kod presetu wygenerowany przez to menu.
Wklej go jako wartość właściwości
SandboxCodew nowymserverconfig.xml. Producent uprzedza, że u dostawcy hostingu może to wymagać kontaktu z obsługą.
Jest tu jeszcze jedna rzecz, o którą łatwo się potknąć. Oficjalne wymagania
serwera crossplayowego podają dopuszczalne zakresy dla XPMultiplier,
DayNightLength, BloodMoonEnemyCount, AirDropFrequency, LootAbundance
i kilku innych — a to są dokładnie te właściwości, które 3.0 usunęła z pliku
konfiguracyjnego. Producent podaje te widełki dalej jako warunek zgodności
z konsolami — zmieniło się miejsce, w którym się je ustawia, a nie sama
granica. Komplet wartości znajdziesz na stronie
o crossplayu.
Porty, widoczność i zdalna administracja
Serwer nasłuchuje na porcie z ustawienia ServerPort, domyślnie 26900,
i korzysta jeszcze z dwóch kolejnych. Przykładowa reguła zapory z instrukcji
uruchomienia serwera na maszynie w chmurze otwiera UDP 26900–26902 —
port gry plus dwa następne. Jeśli chcesz przy okazji, żeby pecety w tej samej
sieci lokalnej widziały serwer jako LAN-owy, trzymaj ServerPort w zakresie
26900–26905 albo 27015–27020.
| Port | Ustawienie | Po co |
|---|---|---|
| 26900 i dwa kolejne (UDP) | ServerPort | Ruch gry — bez tego nikt się nie połączy |
| 8080 | ControlPanelPort | Webowy panel sterowania; domyślnie wyłączony (ControlPanelEnabled) |
| 8081 | TelnetPort | Konsola telnet do zdalnego wydawania komend |
Jeśli serwer ma być publiczny, ServerVisibility zostaje na 2. Wartość 1
w praktyce nie zadziała tak, jak sugeruje nazwa — nikt nie jest „znajomym”
serwera dedykowanego, więc pierwszy gracz i tak musi wejść ręcznie po adresie
IP. Gracze z tej samej sieci łączą się adresem lokalnym, a z tej samej maszyny
— przez localhost albo 127.0.0.1.
Konsole i mody — dwie decyzje przed startem
Te dwie rzeczy wykluczają się nawzajem i lepiej rozstrzygnąć to przed
zaproszeniem kogokolwiek. Serwer, na który mają wejść gracze z PS5 i Xbox
Series, musi mieć ServerAllowCrossplay i EACEnabled na True,
IgnoreEOSSanctions na False, najwyżej osiem miejsc i zero modów —
w informacjach o wydaniu 2.0 stoi wprost, że klienci konsolowi nie dołączą do
serwera dedykowanego z modami. Serwer niezgodny z tymi warunkami nie pokaże
się konsoli na liście; nie dostaniesz żadnego komunikatu o błędzie.
Zanim wpuścisz pierwszych graczy
Jeśli wybierasz mody, obowiązuje reguła zgodności: klient i serwer muszą mieć
ten sam zestaw w tej samej wersji. Pliki modów wrzuca się do folderu Mods
w katalogu serwera — to inna instalacja niż gra i ma własny folder. Całą
procedurę razem z listą przyczyn, przez które mod się nie wczytuje, opisuje
instalacja modów.
Kopia zapasowa świata
Serwerem zarządzają dwa ustawienia od miejsca zapisu: UserDataFolder
przenosi wszystkie dane generowane przez serwer, łącznie ze światami
z generatora, a SaveGameFolder — sam zapis rozgrywki. Oba są w pliku
konfiguracyjnym domyślnie zakomentowane. Warto je odkomentować i wskazać
własny katalog: wtedy wiesz, co kopiować, a aktualizacja serwera nigdy nie
stanie w drodze twoim zapisom.
Kopia zapasowa w trzech ruchach
Zatrzymaj serwer. Kopiowanie plików świata w trakcie zapisu potrafi dać kopię, której nie da się wczytać.
Skopiuj katalog zapisu i katalog światów — całe foldery, nie pojedyncze pliki. Zapis mapy losowej odwołuje się do świata po nazwie, więc jedno bez drugiego jest bezużyteczne.
Zrób kopię
serverconfig.xmlprzy tej samej okazji. Odtworzenie konfiguracji z pamięci po awarii to osobny wieczór, a przySandboxCode— zgadywanka.
Kopię rób przed każdą aktualizacją gry, nie po. Wersja 3.0 dołożyła ostrzeżenie przy próbie wczytania zapisu ze starszej wersji głównej i to ostrzeżenie warto traktować poważnie. Dokładne ścieżki na Windowsie, macOS-ie i Linuksie oraz przenoszenie świata między maszynami rozpisujemy w poradniku o zapisach gry i kopiach zapasowych.