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

10 Komentarzy

Skip to comment form

  1. 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

    1. Z hamachi po LAN powinno zadziałać.

      Twój znajomy może nie widzieć serwera, ponieważ najprawdopodobniej masz współdzielony adres IP lub nieskonfigurowany poprawnie router.

      Jeżeli posiadasz internet z od jakiegoś większego dostawcy (kablówka, światłowód) czy z jakiegoś dostawcy osiedlowego, to musiałbyś wykupić dodatkową usługę “publiczny adres IP” lub “zewnętrzny adres IP”. Różnie jest to nazywane, ale chodzi o to, że dostajesz wtedy adres IP (twojego routera), który jest tylko twój i jest widoczny dla wszystkich w internecie. Wtedy możesz ustawić przekierowanie portów na routerze dla serwera DayZ. Jeżeli nie posiadasz publicznego IP to przekierowanie portów nic nie da.

      1. 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 🙂

        1. Hamachi powinno działać bez publicznego IP. Jak podłączycie się do Hamachi i postawisz serwer DayZ, to znajomy powinien zobaczyć go w zakładce LAN.

          PS: Na czas testów serwera wyłącz jeszcze zaporę windows. Zapora może blokować porty.

            • Maciek on 2020-03-02 at 16:49

            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.

            • LiPeK on 2020-03-02 at 17:16
              Author

            Jak masz zewnętrzne to OK.
            Dynamiczne oznacza, że będzie się zmieniać od czasu do czasu. To raczej nie przeszkadza jeżeli serwer będziesz uruchamiał tylko czas pojedynczych sesji.

            Interesuje Cię tylko IPv4. IPv6 nie jest jeszcze wszędzie wspierane.

            IP zaczynające się na 192.168.X.X to jest IP komputera w twojej sieci LAN.
            IP zewnętrzne jest przydzielone dla routera (na złączu WAN).

            Przekierowane mają być porty 2302, 2304 i 27016 dla protokołu UDP, nie dla TCP.
            WAN: 2302 UDP —> LAN: 192.168.X.X:2302 UDP
            WAN: 2304 UDP —> LAN: 192.168.X.X:2304 UDP
            WAN: 27016 UDP —> LAN: 192.168.X.X:27016 UDP
            gdzie 192.168.X.X to adres twojego komputera w sieci LAN.

            Podczas testowania wyłącz zaporę, bo może blokować te porty.

            Jeżeli przekierowanie będzie skonfigurowane poprawnie, to powinieneś zobaczyć swój serwer w zakładce SPOŁECZNOŚĆ.

            • Maciek on 2020-03-02 at 18:36

            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ę 😉

            • LiPeK on 2020-03-02 at 18:54
              Author

            Cieszę się, że się udało 🙂

            W ramach uzupełnienia, port 27016 to domyślny port dla SteamQuery.
            Można go zmienić na inny (np. 2305) w konfiguracji serwera (steamQueryPort = 2305;). Ale skoro 27016 działa, to nie polecam tego zmieniać.

            Powodzenia z testami! 🙂

  2. a jak wgrać mody?

    1. Najprościej pisząc to skopiować katalog z modem do głównego katalogu serwera oraz skopiować klucz moda (plik .bikey) z katalogu moda do katalogu “keys” znajdującego się w głównym katalogu serwera. Na koniec dopisać ścieżkę do moda do parametru “-mod” w skrócie do uruchamiania serwera.
      Przykładowo uruchomienie serwera z czterema modami:
      DayZServer_x64.exe -config=serverDZ.cfg "-mod=@CF;@Community-Online-Tools;@[CrSk] BMW 525i E34;@NoVehicleDamage"

      Katalogi z modami:

      @CF
      @Community-Online-Tools
      @[CrSk] BMW 525i E34
      @NoVehicleDamage

      powinny znajdować się w w katalogu “…\steamapps\common\DayZServer\”

      a pliki:

      CrushingSkirmish.bikey
      dayz.bikey
      Jacob_Mango_V3.bikey
      NoVehicleDamage.bikey

      w katalogu “…\steamapps\common\DayZServer\keys\”

      Przy czym niektore mody używają tego samego klucza, np. @CF i @Community-Online-Tools uzywają tego samego pliku Jacob_Mango_V3.bikey.

Dodaj komentarz

Twój adres email nie będzie publikowany.