Wrath of the Lichking Server AzerothCore unter Ubuntu 20.04 LTS installieren

4. Configs und Datenbanken erstellen

4.1 Configs erstellen

Eine „unbehandelte“ Version der beiden Config-Dateien authserver.conf und worldserver.conf finden wir standardmäßig unter ~/azeroth-server/etc/ (mit der zusätzlichen Endung .dist)

cd ~/azeroth-server/etc/
cp authserver.conf.dist authserver.conf
cp worldserver.conf.dist worldserver.conf

Wir bearbeiten jetzt die worldserver.conf und geben dort an, wo sich die Maps befinden. Ihr könnt einen Editor eurer Wahl verwenden, ich nutze nano (sudo apt install nano). Wir scrollen etwas nach unten bis zu:

DataDir = "."

Den Punkt ersetzen wir mit dem Pfad, an dem die Map-Daten etc. liegen (azeroth-server/Data/). Der Wert in der config lautet also nun:

DataDir = "~/azeroth-server/Data"

Bitte achtet auch hier wieder auf Groß- und Kleinschreibung.

4.2 Datenbanken anlegen

An dieser Stelle wird die Anleitung nämlich etwas löchrig. So müssen wir erstmal einmal mysql installieren, bevor wir überhaupt etwas mit Datenbanken tun können. Das erledigen wir mit:

sudo mysql_secure_installation

Auf Einzelheiten dazu verzichte ich aber in dieser Anleitung. Wir führen nun eine grundlegende SQL-Datei aus, die uns einen Datenbank-User und die nötigen Datenbanken anlegt. Folgender Befehl führt uns zum Ziel:

sudo mysql < ~/azerothcore/data/sql/create/create_mysql.sql

Optional: Wir prüfen, ob die Datenbanken auch erstellt wurden:

wotlk@wowbuntu:~$ sudo mysql -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 59
Server version: 10.3.34-MariaDB-0ubuntu0.20.04.1 Ubuntu 20.04

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| acore_auth         |
| acore_characters   |
| acore_world        |
| information_schema |
| mysql              |
| performance_schema |
+--------------------+
6 rows in set (0.002 sec)

4.3 Datenbanken befüllen

In der englischen Anleitung steht dazu nicht sehr viel. Jedenfalls müssen wir jetzt den Server einmal starten (dadurch werden automatisch die Datenbanken befüllt und alle Updates eingespielt). Ich nutze dazu zwei screens (sudo apt install screen). Man könnte natürlich auch nur einen screen nutzen und darin mehrere Sessions anzeigen.

screen -S authserver
cd azeroth-server/bin
./authserver

screen -S worldserver
cd azeroth-server/bin
./worldserver

Die Server können nun erst einmal wieder mit Strg + C gestoppt werden.

4.4 Realmlist anpassen

Falls Euer Server einen Desktop hat, könnt ihr dazu auch gern ein Programm zum bearbeiten von Datenbanken nutzen. Ich nutze das CLI:

sudo mysql -p

MariaDB [(none)]> use acore_auth;

MariaDB [acore_auth]> show tables;
+----------------------+
| Tables_in_acore_auth |
+----------------------+
| account              |
| account_access       |
| account_banned       |
| account_muted        |
| autobroadcast        |
| build_info           |
| ip_banned            |
| logs                 |
| logs_ip_actions      |
| realmcharacters      |
| realmlist            |
| secret_digest        |
| updates              |
| updates_include      |
| uptime               |
| version_db_auth      |
+----------------------+

In der Tabelle „realmlist“ gibt es ein paar Dinge, die angepasst werden sollten. Zum Beispiel name, address und timezone (Wert 9 für Deutschland). Bei address wird die IP-Adresse des Servers eingetragen (sonst kommt ihr dann im WoW bei der Realmauswahl nicht weiter). Die Einträge der Tabelle passen wir mit folgenden Befehlen an (es handelt sich hierbei um Beispielwerte):

MariaDB [acore_auth]> UPDATE realmlist SET name = "Mondlichtung";

MariaDB [acore_auth]> UPDATE realmlist SET address = "123.234.123.234";

MariaDB [acore_auth]> UPDATE realmlist SET timezone = 9;

MariaDB [acore_auth]> quit

Der Server kann nun wieder gestartet werden. Im Screen vom Worldserver könnt ihr dann gleich einen Spiel-Account anlegen und ihn zum Game-Master machen.

AC> account create mehr4u Pa$$w0rd
AC> Account erstellt: mehr4u

AC> account set gmlevel mehr4u 3 -1

Abschließend kann man noch prüfen, ob der Server auch die Maps und Sprachdateien nutzt. Dazu gibt man entweder in der Konsole oder im Spiel Folgendes ein:

Konsole: server debug
Im Spiel: .server debug

Eine Beispielausgabe wäre:

AC> AzerothCore rev. a35e411fdd86 2022-04-07 18:56:56 +0000 (master branch) (Unix, RelWithDebInfo, Static)
Using SSL version: OpenSSL 1.1.1f  31 Mar 2020 (library: OpenSSL 1.1.1f  31 Mar 2020)
Using Boost version: 1.71.0
Using MySQL version: 100334
Using CMake version: 3.16.3
Compiled on: Linux 5.4.0-107-generic
Worldserver listening connections on port 8085
Realmlist (Realm Id: 1) configured in port 8085
VMAPs status: Enabled. LineOfSight: 1, getHeight: 1, indoorCheck: 1
MMAPs status: Enabled
maps directory located in /home/wotlk/azeroth-server/Data/maps. Total size: 252191207 bytes
vmaps directory located in /home/wotlk/azeroth-server/Data/vmaps. Total size: 658130721 bytes
mmaps directory located in /home/wotlk/azeroth-server/Data/mmaps. Total size: 2208150040 bytes
Using deDE DBC Locale as default. All available DBC locales: deDE
Using World DB: ACDB 335.6-dev
Using World DB Revision: 2022_04_07_10
Using Character DB Revision: 2022_03_01_00
Using Auth DB Revision: 2021_11_06_00
LoginDatabase queue size: 0
CharacterDatabase queue size: 0
WorldDatabase queue size: 0
No modules enabled