DayZ - ustawienia serwera PRIVATE

DayZ - ustawienia serwera PRIVATE

W tym rozdziale zajmę się omówieniem i przykładowym ustawieniem serwera DayZ PRIVATE na hostingu G4G.pl
Na serwerze PUBLIC - dane gracza zachowywane są w centralnej bazie danych Hive twórców moda. Baza znajduje się gdzieś w USA :)
Na serwerach PRIVATE - dane gracza mogą być zachowane w bazie danych danego serwera.
W G4G.pl udostępniamy każdemu serwerowi DayZ bazę MYSQL.
Ustawienie serwera PRIVATE wymaga niestety nieco świadomości tego co chce się na serwerze osiągnąć. Każdy PRIVATE może być inny. Modów jest zatrzęsienie. Każdy mod może mieć swoją strukturę bazy danych dlatego poniższy przykład może nie działać z twoim modem.
Niestety. Artykuł ma na celu pokazania przykładowego ustawienia serwer PRIV z propozycją naszej struktury bazy danych.
Jeśli chcesz załadować swojego PRIVIATE ze swoją strukturą bazy danych i chcesz mieć swoje skrypty działające co jakiś określony czas automatycznie - zgłoś ten fakt adminowi G4G.pl. Jesteśmy w stanie wczytać do panelu Twoje zapytania do bazy danych MYSQL aby wykonywane były cyklicznie. Jednak w takim przypadku poprawność zapytań zależy tylko od Ciebie. Czyli wiesz co robisz.
UWAGA: na hostingu G4G.pl skrypty DayZ na bazie danych wykonywane mogą być co 1 godzinę.
Zakładamy że nie dogrywamy żadnego dodatkowego moda na serwer DAYZ. Zainteresowani będziemy własną kontrolą kasowania zniszczonych pojazdów, zwłok i kontrolą respawnu.
Konfiguracja serwera PRIV znajdzie się w katalogu:
private1\config.cfg

Obsługa bazy danych - phpmyadmin

Na początek musicie się zapoznać z phpmyadminem.
Link do phpmyadmina oraz do bazy danych znajdziecie w panelu G4G.pl waszego serwera DayZ.
W załączniku do tego poradnika, znajduje się spakowany plik SQL ze schematem bazy danych wykorzystywanej przez DayZmoda. To poprawiony przeze mnie plik który zadziała na 100%.
Aplikujecie do swojej bazy zgodnie z poniższym filmikiem.

Sorki ale ten filmik jest nieosiągalny


Mamy załadowane tabele w bazie danych naszego serwera
Dostępne tabele to:
Character_DATA
character_dead
event_scheduler
object_classes
Object_DATA
object_spawns
Player_DATA
Player_LOGIN
vehicle_groups
vehicle_hitpoints
vehicle_inventory
vehicle_locations
vehicle_spawns
vehicle_spawns_groups

UWAGA: wielkość liter w nazwie tabel w bazie danych ma znaczenie!! Czasem skrypty nie działają bo odwołują się do tabeli np character_data a nie do Character_DATA. Obie te tabele nie są jednoznaczne!!!!
Zwróćcie na to uwagę!
Dostępna na githubie struktura 189.sql jest obarczona tym błędem! Skorzystajcie z mojej, załączonej do tego poradnika.

Czas skonfigurować Hive na serwerze by łączyło się nasza bazą danych.

Konfiguracja połączenia w HiveExt.ini

Przechodzimy do katalogu
private1\HiveExt.ini
Edytujemy ten plik
Interesują nas pozycje w sekcji [Database] z których usuwamy znak komentarza ";"
Host = localhost wpisz adres bazy danych z panelu G4G.pl
Type = MySql
Port = 3306
Database = wpisz tutaj nazwę bazy z panelu G4G.pl
Username = wpisz nazwę usera bazy danych z panelu G4G.pl
Password = haslo z panelu G4G.pl

Nazwa bazy, i hasło to to same dane które umożliwiają wlogowanie się do phpMyAdmina. Host to adres IP gdzie znajduje się phpMyAdmin
Przechodzimy do sekcji [ObjectDB] gdzie wypełniamy danymi takimi samymi jak te powyżej.

Use = true
Type = MySql
Host = jak wyżej
Port = 3306
Database = jak wyżej
Username = jak wyżej
Password = jak wyżej

Cofamy się do sekcji [Characters] po czym ustawiamy:
IDField = PlayerUID
Opcjonalnie mamy jeszcze do wyboru PlayerID. Parametr zależy od tego w jakiej kolumnie tabeli dany mod przechowuje dane gracza. U nas jest to playerUID
WSField = Worldspace - w której kolumnie przechowujemy pozycję gracza. U nas jest to Worldspace

Przechodzimy do sekcji [Objects] i ustawiamy:
Table = Object_DATA - nazwa tabeli w której przechowywane będą pojazdy i loot.
CleanupPlacedAfterDays - tutaj możemy ustawić czas po jakim mają być kasowane opróżnione miejsca na przedmioty

  • CleanupPlacedAfterDays = -4 - wartość ujemna, wyłączenie funkcjonalności
  • CleanupPlacedAfterDays = 0 - usuwaj co restart serwera
  • CleanupPlacedAfterDays = 4 - usuwaj co 4 dni.

ResetOOBVehicles = true - ustawieniena true powoduje kasowanie pojazdów poza zakresem mapki.
Po uzupełnieniu tych parametrów uruchamiamy serwer czy działa i czy można na niego wejść!

Serwer odpalamy z linią startową:
arma2oaserver.exe -port={ServerPort} -maxMem=1536 -noCB -mod=Expansion\beta;Expansion\beta\expansion;ca;@hive;@DayZ -name=private1 -config=private1\server.cfg -cfg=private1\basic.cfg -profiles=private1 -enableHT -cpuCount=2
Aby odpalić taką linię komend w panelu G4G.pl
Klikamy w link zaznaczony na obrazku:
Dayz - panel - modDayz - panel - mod
I następnie zaznaczamy opcję standard:
Dayz linie komend do wyboru
Po czym restartujemy serwer. Wchodzimy na niego i sprawdzamy czy można dołączyć do lobby. Jeśli gra zawiesza się na ekranie ładowania do lobby przyczyn może być wiele:
1) sprawdź logi HiveExt.log w katalogu private1 - czy aby na pewno połączyłeś się poprawnie z bazą danych. W przypadku błędu nie wejdziesz do gry. Wspominałem już że choćby bierna znajomość języka angielskiego jest konieczna by zrozumieć co serwer "mówi" do Ciebie?
2) sprawdź czy do pliku config.cfg nie wkradł się jakaś polska litera albo czy zamknąłeś wszystkie nawiasy i cudzysłowia.


Tagi: