Hej, dziś – po świętach postanowiłem napisać poradnik jak postawić swój serwer WoW’a na przykładzie dodatku Wrath of The Lich King.
Serwer prywatny uruchamiamy na przykładzie Patch’a 3.3.5a (12340) i emulatora TrinityCore.
Kompilacje przeprowadzam na systemie Ubuntu 14.04 LTS – jako baza danych pracuje MariaDB 5.5 – bezpośrednio z repozytoriów Ubuntu, całość uruchamiam na instancji z OVH.pl
Domyślna ścieżka do plików serwera i konfiguracji serwera: (określona w skryptach i konfiguracj)
- /home/wow/server/bin/ (binarki serwera oraz mapy)
- /home/wow/server/etc/ (pliki konfiguracyjne)
1. Wymagane Pakiety:
a) Systemy Debian/Ubuntu
sudo apt-get update sudo apt-get install build-essential autoconf libtool gcc g++ make cmake git-core wget p7zip-full libncurses5-dev zlib1g-dev libbz2-dev -y sudo apt-get install openssl libssl-dev mariadb-client mariadb-server libmysqlclient-dev libmysql++-dev libreadline6-dev -y sudo apt-get install libboost-dev libboost-thread-dev libboost-system-dev libboost-filesystem-dev libboost-program-options-dev libboost-iostreams-dev -y
b) Rodzina RedHat’a (CentOS)
yum groupinstall "Development Tools" yum groupinstall "Additional Development" yum install gcc-g++ git-core wget links zip unzip unrar cmake yum install mariadb-server mariadb-client mysql-devel yum install openssl
– OPCJA:
Do kompilacji Emulatora TrinityCore z nowszymi wersjami Gry (4.3.4 i 6.x) zalecane jest doinstalowanie poniższych paczek, ja ten krok pomijam:
wget http://download.zeromq.org/zeromq-4.0.5.tar.gz tar xzvf zeromq-4.0.5.tar.gz cd zeromq-4.0.5 ./configure make make install
oraz
sudo apt-get install libzmq-dev
2. Kompilacja Core (bazy serwera):
sudo adduser wow ## Ustaw własną, ja mam usera systemowego wow 2.1 Najnowsze źródła z repozytoriów Git'a [code lang="shell"]su wow cd $home
Wybierz wersję jaką chcesz uruchomić (poradnik bazuje na 3.3.5a)
a) Wersja 3.3.5a:
git clone -b 3.3.5 git://github.com/TrinityCore/TrinityCore.git
b) Wersja 6.x
git clone -b 6.x git://github.com/TrinityCore/TrinityCore.git
2.2 Budowa:
cd TrinityCore mkdir build cd build cmake ../ -DCMAKE_INSTALL_PREFIX=/home/wow/server -DCONF_DIR=/home/wow/server/etc -DTOOLS=1 -DWITH_WARNINGS=1 make -j$(nproc) make install
cp /home/wow/server/etc/authserver.conf.dist /home/wow/server/etc/authserver.conf cp /home/wow/server/etc/worldserver.conf.dist /home/wow/server/etc/worldserver.conf
3. Baza danych:
cd $home mysql -u root -p
3.1 Po zalogowaniu się do bazy danych wydaj poniższe polecenia celem utworzenia trzech baz oraz użytkownika mającego prawa do tych baz:
CREATE DATABASE auth; CREATE DATABASE characters; CREATE DATABASE world; CREATE USER 'wow'@'localhost' IDENTIFIED BY 'G3u!vJQ4__v6L_5U'; ### PAMIETAJ ZMENIC HASLO DLLA UŻYTKONIKA BAZY GRANT ALL PRIVILEGES ON auth.* TO wow@localhost IDENTIFIED BY 'G3u!vJQ4__v6L_5U'; GRANT ALL PRIVILEGES ON world.* TO wow@localhost IDENTIFIED BY 'G3u!vJQ4__v6L_5U'; GRANT ALL PRIVILEGES ON characters.* TO wow@localhost IDENTIFIED BY 'G3u!vJQ4__v6L_5U'; quit
3.4 Najnowszy zrzut bazy danych jest zawsze tutaj:
https://github.com/TrinityCore/TrinityCore/releases
Na chwilę pisania poradnika pobieram bazę: TDB_full_335.60_2015_11_07.7z
cd $home
cd server/bin wget https://github.com/TrinityCore/TrinityCore/releases/download/TDB335.60/TDB_full_335.60_2015_11_07.7z 7za e TDB_full_335.60_2015_11_07.7z
Import bazy (zamień hasło na własne oczywiście)
mysql -u wow -p'G3u!vJQ4__v6L_5U' world < TDB_full_world_335.60_2015_11_07.sql
Reszta plików .sql musi znajdować się w głównym katalogu binarek serwera.
4. Przyszedł czas na pliki: dbc, maps, mmaps oraz vmaps
cd /home/wow/server/bin/ git clone https://github.com/zdzichu6969/TrinityCore-3.3.5-data.git mv TrinityCore-3.3.5-data/dbc . mv TrinityCore-3.3.5-data/maps/ . mv TrinityCore-3.3.5-data/mmaps/ . mv TrinityCore-3.3.5-data/vmaps/ .
5. Konfiguracja serwera:
cd $home cd server/etc/
5.1 Edycja konfiguracji i podanie danych do bazy MySQL/MariaDB
nano auuthserver.conf
(linia 149)
LoginDatabaseInfo = "127.0.0.1;3306;wow;G3u!vJQ4__v6L_5U;auth"
nano worldserver.conf
(linie 97 – 99)
LoginDatabaseInfo = "127.0.0.1;3306;wow;G3u!vJQ4__v6L_5U;auth" WorldDatabaseInfo = "127.0.0.1;3306;wow;G3u!vJQ4__v6L_5U;world" CharacterDatabaseInfo = "127.0.0.1;3306;wow;G3u!vJQ4__v6L_5U;characters"
6. Uruchamianie serwera w screenie (w tle) + skrypt restartu w razie crashu
cd $home wget http://pliki.linuxiarz.pl/12-2015/auth.sh -O auth.sh wget http://pliki.linuxiarz.pl/12-2015/worldserver.sh -O worldserver.sh chmod +x *.sh screen -AmdS worldserver ./worldserver.sh screen -AmdS authserver ./auth.sh
Gotowe, masz swój serwer WoWa 🙂