DayZ - uruchomienie moda Epoch

DayZ - uruchomienie moda Epoch

Epoch to mod do moda DayZ. Czyli modyfikacja moda DayZ.
Epoch działa w trybie private. A więc nie komunikuje już się z bazą danych developera (tzw. oficjalnym Hive - oficjalny Hive już nie działa, i pewnie nigdy już nie będzie działać),
a z własną bazą danych, skonfigurowaną na hostingu gdzie uruchomiony jest serwer gry.
Zaletą takiego rozwiązanie jest pełna kontrola nad serwerem i nieskończone opcje konfiguracyjne, uzależnione od wyobraźni i umiejętności właściciela serwera. Wadą zaś jest to, że dochodzi Ci kolejny zasób który musisz pilnować (baza danych).
Opis dotyczy moda w wersji 1.0.5.1 ze stanem na dzień 1 września 2014 roku.

UWAGA: WSZYSTKIE OPERACJE NA PLIKACH WYKONUJ PRZY WYŁĄCZONYM SERWERZE GRY !!!

Warunkiem koniecznym uruchomienia moda jest instalacja Visual C++ x86 Redistributable Packages for Visual Studio 2013 w wersji dla systemu 32 bitowego (nawet jeśli Twój system operacyjny jest w wersji 64 bitowej).
Bez tej paczki, mod z pewnością nie zadziała!. Wcześniej wspomniałem że musisz mieć bazę danych mysql z dostępem przez np. phpmyadmina (lub inne narzędziem obsługującym bazę danych).

UWAGA: twoja baza danych musi być tak skonfigurowana aby przyjmowała połączenia z adresu IP na którym działa serwer gry!

Rozumiem że masz przygotowaną działający serwer Arma 2 Combined Operations? (Arma 2 CO to połączenie steamowej Army 2 oraz Arma 2 OA w wersji beta). Powyższe pliki będą nam potrzebne by utworzyć serwer DayZ Epoch.
Serwer Arma 2 CO przygotowujemy w przykładowym katalogu

C:\server\

Ze strony producenta ściągamy klienta (plik torrent, około 2.7 GB) oraz pliki serwera Epoch Moda w wersji 1.0.5.1.
Oba pliki rozpakowujemy do katalogu roboczego
C:\Temp\

@DayZ_Epoch
@DayZ_Epoch_Server
- @DayZ_Epoch_Server
- Battleye
- Config-Examples
- Keys
- MPMissions
- SQL
- Tools
-- DatabaseMySql.dll
-- DatabasePostgre.dll
-- tbb.dll
-- tbbmalloc

Sam katalog @DayZ_Epoch_Server składa się z kilki bardzo ważnych podkatalogów i 4 plików wyszczególnionych powyżej.

Katalog: @DayZ_Epoch i podkatalogi @DayZ_Epoch_Server wraz z plikami DatabaseMySql.dll, DatabasePostgre.dll, tbb.dll, tbbmalloc.dll (z katalogu @DayZ_Epoch_Server), kopiujemy beznamiętnie do katalogu
C:\server
przez co dostajemy następującą strukturę katalogów:

C:\server\
\@DayZ_Epoch
\@DayZ_Epoch_Server
\AddOns
\BEsetup
\Common
\config
\dll
\Expansion
Keys
logs
Missions
MPMissions

Następnie kopiujemy pliki:

C:\Temp\Keys\dayz_epoch1051.bikey do C:\server\Keys\

Zabieramy się za katalog C:\Temp\SQL:

- epoch.sql
- add_recommended_mysql_events.sql
- 1.0.5_Updates.sql

Plik 1.0.5_Updates.sql pomijamy, jako że odpowiada on za upgrade starszej wersji Epocha do nowszej. (my moda stawiamy od razu na nowej wersji).

W bazie danych mamy utworzoną przez admina bazę danych epoch do której prawa ma użytkownik epoch który autoryzuje się hasłem: epoch_haslo. Baza danych znajduje się na innej maszynie niż serwer gry, zatem posiada inny adres IP - u nas przykładowo niech to będzie adres 192.110.100.1.
Wszystkie te parametry znajdziecie na hostingu G4G.pl w danych serwera. Na hostingu G4G.pl adres bazy danych dla DayZ pokrywa się z adresem do PhpMyAdmina.

Zatem logujemy się na phpmyadmina

https://192.110.100.1 (na g4g.pl adres ten jest podany w panelu)
login: epoch
hasło: epoch_haslo

Jeśli wszystko poszło poprawnie powinniście wlogować się do pustej bazy, bez tabel.
Klikając w zakładkę IMPORT i ładujemy pliki:

C:\TEMP\SQL\epoch.sql
A następnie:
C:\TEMP\SQL\add_recommended_mysql_events.sql

Efekt: epoch_phpmyadminepoch_phpmyadmin

Teraz przygotowujemy instancję gry, czyli pliki misji i pliki konfiguracyjne.

Skorzystajmy z gotowców jakie znajdują się w katalogach
C:\TEMP\@DayZ_Epoch_Server\Config-Examples - przykładowe konfiguracje w zależności od misji oraz:
C:\TEMP\@DayZ_Epoch_Server\MPMissions - pliki misji.

Od razu kopiujemy wszystkie misje na serwer

C:\TEMP\@DayZ_Epoch_Server\MPMissions kopiujemy do C:\server\

W katalogu serwera gry tworzymy katalog epoch który jednocześnie będzie naszym katalogiem profilu i katalogiem gdzie będziemy wrzucać niezbędne pliki konfiguracyjne.
Zatem struktura katalogu serwera powinna teraz wyglądać tak:

C:\server\
\@DayZ_Epoch
\@DayZ_Epoch_Server
\AddOns
\BEsetup
\Common
\config
\dll
\Expansion
\epoch
\Keys
\logs
\Missions
\MPMissions

Zakładamy że uruchomimy serwer z misją Chernarus (Czarnoruś).
Zaglądamy do wspomnianego wyżej katalogu:
C:\TEMP\@DayZ_Epoch_Server\Config-Examples\
i kopiujemy zawartość podkatalogu \instance_11_Chernarus do katalogu:
C:\server\epoch
Będą to dwa pliki: config.cfg oraz HiveExt.ini
Wyedytujmy je po kolei. Na początek plik config.cfg.
UWAGA: Kolorem czerwonym zaznaczyłem opcję które MUSICIE dopisać do tego pliku korzystając z danych serwera gry, jakie znajdziecie w panelu G4G.pl tego serwera. KONIECZNIE!


hostName = "Nazwa twojego serwera //wpisz to co uznajesz za stosowne";
password = "";
passwordAdmin = "twoje_haslo_admina";
maxPlayers = 10;
logFile = "server_log.txt";
voteThreshold = 2;
voteMissionPlayers = 3;
steamport =2501; //ta wartosc z panelu serwera
steamqueryport =2502; //ta wartosc z panelu
timeStampFormat = "short";
motd[] = {"DayZ Epoch","Have fun!"};
motdInterval = 0;
vonCodecQuality = 11;
disableVoN = 0;
kickduplicate = 1;
verifySignatures = 2;
persistent = 1;
BattlEye = 1;
doubleIdDetected = "";
onUserConnected = "";
onUserDisconnected = "";
onUnsignedData = "kick (_this select 0)";
onHackedData = "kick (_this select 0)";
onDifferentData = "";
regularCheck = "";
requiredBuild = 103718;
requiredSecureId = 2;
class Missions
{
class Mission1
{
template = "DayZ_Epoch_11.Chernarus";
difficulty="veteran";
};
};

Zwróćcie uwagę na linijkę "template = "DayZ_Epoch_11.Chernarus";" Nazwa templatki musi być zgodna z jednym z podkatalogów w w katalogu C:\server\MPMissions\

A teraz edytujemy plik HiveExt.ini - odpowiada on za połączenia z bazą danych i za zarządzanie przedmiotami i bazą graczy. Kolorem czerwonym zaznaczyłem linijki które musicie sami uzupełnić na podstawie danych z panelu. Plik jest długi. Ja zamieszczam tylko te linijki które są niezbędne do uzupełnienia by serwer wystartował w naszym hostingu. Nie będę się zagłębiał w dodatkowe funkcje jakie zawiera ten plik. (np kasowanie obiektów po kilku dniach).

[Database]
Host = 192.110.100.1 //tutaj wpisujecie adres IP serwera bazy danych (tutaj ta wartość jest przykładowa i nie ma odzwierciedlenia w rzeczywistości)
;The default is MySql, which is better supported than Postgre (completely untested)
Type = MySql
;Port to connect to. The default is the default listening port of a server of the selected Type
;Instead of specifying Port, you can specify Socket and set Value to the socket name
Port = 3306
;Database name to connect to (you must supply this if private).
Database = epoch // nazwa bazy danych z panelu G4G.pl
;Username to connect with
Username = epoch //uzytkownik bazy danych z panelu G4G.pl
;Password to authenticate with (default is blank)
Password = epoch_haslo //haslo bazy danych z panelu G4G.pl

Na to wygląda że skonfigurowaliśmy nasz serwer Epocha z misją Chernarus.

Czas wystartować serwer. W tym celu przechodzimy do panelu G4G i klikamy w zakładkę Mod serwera\Linia komend z prawego menu.

Do wyboru będziemy kilka opcji uruchomienia serwera. Dorzuciłem tam też gotowca w Postaci Moda Epoch.
Wlacz epoch modaWlacz epoch moda
Pod tym przełącznikiem kryje się następująca startowa linia komend

arma2oaserver.exe -port={ServerPort} -maxMem=1536 -noCB -config=epoch\config.cfg -cfg=epoch\basic.cfg -profiles=epoch -name=epoch -exThreads=1 -cpuCount=2 -mod=@DayZ_Epoch;@DayZ_Epoch_Server;

Jeśli chcemy odpalić serwer z inną misją, nic nie stoi na przeszkodzie. Edytujemy plik C:\server\epoch\config.cfg i w sekcji misji wpisujemy np misję: DayZ_Epoch_13.Tavi

Nie jest lekko. W nieniejszym poradniku opisalemproces tworzenia serwera EPOCH od podstaw, na hostingu G4G.pl większość plików jest już wrzucona do odpowiednich katalogów. Wystarczy byście edytowali 2 pliki config.cfg oraz HiveExt.ini.


Tagi: