Uruchamianie serwera DayZ

Poniższa instrukcja została napisana na podstawie wersji DayZ 1.04.
Dla kolejnych wersji DayZ zawartość plików konfiguracyjnych może się trochę różnić.

Instalacja

W bibliotece Steam wybierz kategorię Narzędzia.

Następnie wyszukaj “DayZ Server” i kliknij prawym “Zainstaluj grę…

DayZ Server instalacja

Po zakończonej instalacji powinieneś widzieć mniej więcej taką zawartość katalogu docelowego:

DayZServer Folder

Konfiguracja

serverDZ.cfg

Pierwszym krokiem będzie edycja pliku serverDZ.cfg.
Mamy tutaj możliwość edycji nazwy serwera, ustawienia hasła serwera, czy hasła administratora.

UWAGA!
Parametr passwordAdmin należy koniecznie ustawić, inaczej każdy gracz będzie mógł się zalogować jako administrator i wykopać z serwera innych graczy.

hostname = "EXAMPLE NAME";  // Server name
password = "";              // Password to connect to the server
passwordAdmin = "";         // Password to become a server admin
 
maxPlayers = 60;            // Maximum amount of players
 
verifySignatures = 2;       // Verifies .pbos against .bisign files. (only 2 is supported)
forceSameBuild = 1;         // When enabled, the server will allow the connection only to clients with same the .exe revision as the server (value 0-1)
 
disableVoN = 0;             // Enable/disable voice over network (value 0-1)
vonCodecQuality = 20;        // Voice over network codec quality, the higher the better (values 0-30)
 
disable3rdPerson=0;         // Toggles the 3rd person view for players (value 0-1)
disableCrosshair=0;         // Toggles the cross-hair (value 0-1)
 
serverTime="SystemTime";    // Initial in-game time of the server. "SystemTime" means the local time of the machine. Another possibility is to set the time to some value in "YYYY/MM/DD/HH/MM" format, f.e. "2015/4/8/17/23" .
serverTimeAcceleration=12;  // Accelerated Time (value 0-24)// This is a time multiplier for in-game time. In this case, the time would move 24 times faster than normal, so an entire day would pass in one hour.
serverNightTimeAcceleration=1;  // Accelerated Nigh Time - The numerical value being a multiplier (0.1-64) and also multiplied by serverTimeAcceleration value. Thus, in case it is set to 4 and serverTimeAcceleration is set to 2, night time would move 8 times faster than normal. An entire night would pass in 3 hours.
serverTimePersistent=0;     // Persistent Time (value 0-1)// The actual server time is saved to storage, so when active, the next server start will use the saved time value.
 
guaranteedUpdates=1;        // Communication protocol used with game server (use only number 1)
 
loginQueueConcurrentPlayers=5;  // The number of players concurrently processed during the login process. Should prevent massive performance drop during connection when a lot of people are connecting at the same time.
loginQueueMaxPlayers=500;       // The maximum number of players that can wait in login queue
 
instanceId = 1;             // DayZ server instance id, to identify the number of instances per box and their storage folders with persistence files

storeHouseStateDisabled = false;// Disable houses/doors persistence (value true/false), usable in case of problems with persistence
storageAutoFix = 1;         // Checks if the persistence files are corrupted and replaces corrupted ones with empty ones (value 0-1)

 
class Missions
{
    class DayZ
    {
        template="dayzOffline.chernarusplus"; // Mission to load on server startup. <MissionName>.<TerrainName>
    };
};

Oprócz tych głównych ustawień, czasami przydają się niektóre z poniższych opcji (nie są one zawarte w pliku konfiguracyjnym, a jeżeli są potrzebne, to trzeba je dokleić):

respawnTime = 5;            // Sets the respawn delay (in seconds) before the player is able to get a new character on the server, when the previous one is dead
 
motd[] = {"line1","line2"}; // Message of the day displayed in the in-game chat
motdInterval = 1;           // Time interval (in seconds) between each message
 
maxPing= 200;               // Max ping value until server kick the user (value in milliseconds)
 
timeStampFormat = "Short";  // Format for timestamps in the .rpt file (value Full/Short)
logAverageFps = 1;          // Logs the average server FPS (value in seconds), needs to have ''-dologs'' launch parameter active
logMemory = 1;              // Logs the server memory usage (value in seconds), needs to have the ''-dologs'' launch parameter active
logPlayers = 1;             // Logs the count of currently connected players (value in seconds), needs to have the ''-dologs'' launch parameter active
logFile = "server_console.log";// Saves the server console log to a file in the folder with the other server logs
 
enableDebugMonitor = 1;     //shows info about the character using a debug window in a corner of the screen (value 0-1)

steamQueryPort = 2305;      // defines Steam query port, should fix the issue with server not being visible in client server browser

allowFilePatching = 1;      // if set to 1 it will enable connection of clients with "-filepatching" launch parameter enabled

simulatedPlayersBatch = 20;    // Set limit of how much players can be simulated per frame (for server performance gain)

multithreadedReplication = 1; // enables multithreaded processing of server's replication system - number of worker threads is derived by settings of jobsystem in dayzsettings.xml by "maxcores" and "reservedcores" parameters (value 0-1)

Dokumentacja

Aktualną listę parametrów dla pliku konfiguracyjnego serwera można znaleźć pod tym adresem:
https://community.bistudio.com/wiki/DayZ:Server_Configuration

Dodatkowe informacje: https://forums.dayz.com/topic/239635-dayz-server-files-documentation

Uruchamianie

Serwer uruchamia się za pomocą pliku DayZServer_x64.exe z dodatkowymi parametrami.
Jeden z parametrów jest wymagany, inaczej serwer nie wstanie:

Uruchamianie bez podania parametrów

W celu wygodniejszego uruchamiania można stworzyć skrót lub plik wsadowy i dopisać w nim dodatkowe parametry.

start_server.bat

Ten plik wsadowy umieszczamy w głównym katalogu serwera (...\SteamLibrary\steamapps\common\DayZServer\start_server.bat). Nazwa pliku może być dowolna. Najprostsza zawartość tego pliku może wyglądać następująco:

DayZServer_x64.exe -config=serverDZ.cfg

Uruchamiając ten plik odpalamy serwer.

DayZServer_x64.exe — skrót.lnk

Alternatywnie można stworzyć windowsowy link (skrót) do pliku wykonywalnego serwera i w jego właściwościach dopisać wymagany parametr -config=serverDZ.cfg w polu Element docelowy.
Plik skrótu można stworzyć w dowolnym miejscu, nawet na pulpicie.

Po uruchomieniu takiego pliku można cieszyć się działającym serwerem na własnej maszynie, chociaż jest jeszcze pewien haczyk, o czym za chwilę.

Prawidłowe uruchomienie serwera

Połączenie z serwerem

Połączenie lokalne

Odpalamy DayZ i wchodzimy w opcję Zmień serwer. Następnie przechodzimy do zakładki LAN i po chwili powinien ukazać się taki oto widok:

DayZ serwer po LANie

Każdy w domowej sieci LAN powinien widzieć ten serwer.

Połączenie globalne i przekierowanie portów

Aby serwer mógł być dostępny dla wszystkich graczy konieczne jest spełnienie poniższych warunków (wspomniany haczyk):

  • Zewnętrzny adres IP (zdaje się że Neostrada, czy jak to się to teraz zwie, przydziela zewnętrzne adresy IP).
  • Przekierowane 3 porty UDP w routerze:
    • 2302
    • 2304
    • 27016 (lub 2305 jeżeli w konfiguracji dopisane jest steamQueryPort = 2305;)

Jeżeli powyższe warunki są spełnione, to serwer powinien być widoczny również w zakładce SPOŁECZNOŚĆ:

DayZ serwer na liście serwerów Community

Jeśli jest tu widoczny, to każdy gracz DayZ może się cieszyć tym świeżo postawionym serwerem. 😀


THE END

5 1 vote
Article Rating
Subscribe
Powiadom o
guest
37 komentarzy
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Maciek

Da sie jakos zrobic tak zeby LAN dzialal przez hamachi? Chce ze znajomym wspolnie pograc na swoim serwerze. Udalo mi sie zrobic serwer i jest w zakladce LAN. Ja moge wejsc na serwer i wszystko dziala, ale nie wiem jak zrobic zeby znajomy mogl dolaczyc do tego serwera

Maciek

Dzięki za odpowiedź 🙂 Właśnie zrobiłem przekierowanie portów i nic. Serwer widnieje tylko w zakładce LAN. Dzisiaj zadzwonię do dostawcy i dowiem się czy mam publiczne IP. Co do samego Hamachi to powinno działać nawet jak nie ma tego publicznego IP? Kiedyś za czasów gimnazjum 😀 robiło się tak że ten kto dołączał do sesji, wpisywał IP osoby która stawiała serwer , ale to IP z Hamachi i działało 🙂

Maciek

Dowiedzialem sie ze mam IP zewnetrzne dynamiczne. Dziwne ponieważ w CMD pokazuje mi IPv4 poczatek 192…. wiec niby zalicza sie do grupy IP wew. Swoja droga ma znaczenie czy jest IPv4 czy IPv6? Mam w UPC które tez nie blokuje portów, ale pomimo tego odblokowałem porty na routerze.

Maciek

Ok działa ^^ Jest LAN i jest w Spolecznosc. Okazało sie ze musialem zmienic IPv6 na IPv4 i w konfiguracji zamiast port 2305 dalem 27016. Do tego oczywiscie te porty odblokowac. Dziwne tylko ze na porcie 2305 nie widzi ani po LAN ani w Społeczności. Mysle ze w tyg zrobimy ostateczny test czy znajomy bedzie widzial ten serwer. Dzieki wielkie za pomoc i za ten tutorial 🙂 Udanego wieczoru życzę 😉

Rinke

a jak wgrać mody?

Heurystyk

Niestety w launcherze LAN na własnym kompie nie widać utworzonego serwera – jak to zrobić by był widziany ???

Bart

Witam,

Artykuł super , powoli przygotowuje swoj serwerek . Mam kilka pytan.
1. Jak zmienić mapę z Czarnorusi na Livonie?
2. Jak na serwerze uruchomić i aktualizować BE?
3. Jak zmienić długość nocy
4. Jak zmienić ilość lootu na mapie?
🙂

Bart

Dla mnie wymiatasz 🙂 Dzięki wielkie . Jutro przetestuje !

Bart

Staram się rozgryźć jak zwiększyć trochę ilość niektórych broni na mapie i może będziesz w stanie podpiwedzieć co oznaczaja kolejne parametry z pliku types.xml. Ewentulanie może podpwiesz ogolnie jak zmienic czestotliwość pojawiania się lootu oraz ilość danego rodzaju aut/broni/przedmiotow na mapie. Z tego co gdzies czytalem wiele przedmiotow jest ograniczone do Xszt. dla mapy

0
28800
0
0
-1
-1
100

Bart

Super, dzięki , jasno i przejrzyscie. Moze masz jeszcze pomysł , czemu mojego srv nie widac w Społczności? ogolnie mam stałe IP, porty przekierowałem, do serwera da sie podpiac za pomoca opcji “polacz bezposrednio” i pare osob juz sie do niego podlaczalo. Tzn. sa to osoby ktorym podalem IP . Ale juz ktorys raz probuje go znalezc w społecznosci i nie pojawia się .

Bart

Niestety nadal nie działa , adres IP mam stały . Wczesniej pisałem z telefonu itp. Po adresie który mam koledzy spokojnie sie łączą do serwera i gramy , ale na liscie społeczności nadal go nie widać. Tylko na LAN go widać . Jedno co teraz mi się jeszcze rzuciło w oczy to na LAN odpala się ze starą nazwą , tzn. dzisiaj ją zmieniłem rano , ale się nie aktualizuje . Sprawdziłem skrót i odwołuje się do configa więc powinno być ok . Nie wiem co jest grane. Żeby też się nie rozdrabniać to przy okazji od razu zapytam . Jak sie zalogować jako admin i jakie mam “moce” bez modów na podstawowym serwerze i jak z nich korzystac? Wiem ze troche mecze , ale ciezko cos znalezc w necie, a widze ze ogarniasz temat.

Bart

Daj znać kiedy mogę Cię tam złapać. Jedna rzecz mnie jeszcze zastanawia . Jak odpalam SRV to mam coś takiego :
1:03:49 SUCCESS: SteamGameServer_Init(0,8766,2302,27016,3,1.10.153598)

Czyli napewno port 2302, 27016 , ale czy nie musze jeszcze odblokować portu 8766?

Bart

Udalo się ogarnac 🙂 Czeski błąd , jako wchodzacy wpisalem 27016 , a jako wychodzacy 27106 . Dopier jak zmienialem na ALL tak jak pisales to to zauwazylem . Wiesz może jak zmienić ustawienie na serwerze , zeby nie dalo sie niszczyc scian od zewnatrz? Czy wogole da sie to zrobic bez modow?

Bart

Spoko, dzięki , tylko w którym pliku to jest

Krasnal

Cały czas wyskakuje mi błąd że hostName is missing a jest wpisane wszystko, jakieś porady ?

Krasnal

Dalej to samo :/

Krasnal

A gdzie to dokładnie mam wpisać bo nie mogę znaleśc miejsca w którym to ma być a z poradnika na górze nie rozumiem?

Krasnal

Dalej to samo, nie mam pojęcia o co tu chodzi. A jest możliwość jakoś skontaktowac się z tobą przez discorda albo coś w tym stylu ?

Bart

A nazwe serwera wpisujesz w ciapkach ? Tzn. wpisujesz np . nazwa serwera czy “nazwa serwera” Jak robisz bez ciapkow to nie zadziala

Krasnal

w ciapkach: hostName = “Serwer2”; // Server name

37
0
Would love your thoughts, please comment.x
()
x