Vorbereitungen

Ich nutze hierzu Virtualbox 6.1 und eine neue Version von Ubuntu Server 18.04.05.

Nachdem ich den Server installiert habe(Wenn nötig kann ich diese Schritte auch noch dokumentieren) habe ich mich eingeloggt und werde erst mal das System updaten. Dies tue ich noch im VirtualBox Fenster, danach logge ich mich mit putty ein.

(Wärend ein paar make problemen habe ich update und upgrade erst mal weggelassen.)
Hierzu nutze ich:

sudo apt update
sudo apt upgrade

Alles weitere werde ich mit Putty und OpenSSH(OpenSSH sollte man bei der Installation bereits ausgewählt haben) angehen. Link zu putty folgt.

Mit dem Befehl

ifconfig

hole ich mir die IP Adresse, das geht nur wenn man in den VirtualBox Config auch die Netzwerkbrücke eingestellt hat. Diese IP Adresse(192.168.xxx.xxx) nutzen wir um uns mit Putty auf den Server zu Verbinden. (Wenn er dies nicht finden sollte, einfach mit sudo apt install net-tools das benötigte Paket installieren)

Nun wird es Zeit die nötige Software zu installieren:

sudo apt-get install build-essential gcc g++ automake git-core autoconf make patch libmysql++-dev libtool libssl-dev grep binutils zlibc libc6 libbz2-dev cmake subversion libboost-all-dev
sudo useradd -m -d /home/mangos -c "MaNGOS" -U mangos

Um nun die Repo von Git zu clonen gehen wir in den Ordner home des neu angelegten Nutzers mangos.

cd /home/mangos

Nun ist es soweit, wir holen uns C-Mangos auf unser System. Dies tuen wir mit dem git clone Befehl:

sudo git clone git://github.com/cmangos/mangos-classic.git mangos

Gleich danach holen wir uns die Classic Datenbank mit:

sudo git clone git://github.com/cmangos/classic-db.git
sudo apt install mariadb-server

CMangos Compilieren

Wir haben den Nutzer mangos erstellt und mit dem git Befehl die Software auf unser System runtergeladen. Nun sollten wir ein /home/mangos/mangos in unserem System vorfinden. sonst:

cd /home/mangos/mangos

Wir benötigen nun einen Ordener den wir build nennen. Den erstellen wir mit diesem Befehl:

sudo mkdir build

sudo mkdir run
sudo cd build
sudo cmake ../ -DCMAKE_INSTALL_PREFIX=\../run -DBUILD_EXTRACTORS=ON -DPCH=1 -DDEBUG=0 -DBUILD_PLAYERBOT=ON
sudo make
sudo cp -r /home/mangos/mangos/build/* /home/mangos/mangos/run
sudo make install
cd /home/mangos/mangos/run/etc
cp mangosd.conf.dist mangosd.conf
cp realmd.conf.dist realmd.conf

Datenbank befüllen

Die Datenbank ist in den meisten Fällen schon bereits installiert sonst tut es ein:

sudo mysql

Sollte er den Zugang nicht freigeben, dann kann man einfach den root User freischalten mit:

sudo passwd root

Password eingeben und bestätigen.

Nun mit dem Befehl

su

zum root wechseln und erneut mit mysql versuchen in die Datenbank zu kommen.

Wir erstellen uns auch dann gleich einen neuen Nutzer, der auch von ausserhalb zutritt hat:

CREATE USER 'mangos'@'%' IDENTIFIED BY 'mangos'; 
SET PASSWORD FOR 'mangos'@'%' = PASSWORD('mangos'); 
GRANT ALL PRIVILEGES ON *.* TO 'mangos'@'%' WITH GRANT OPTION; 
FLUSH PRIVILEGES; 
exit;

Dann navigieren wir zu cd /etc/mysql/mariadb.conf.d und öffnen die config datei sudo nano 50-server.cnf

Suche nach:

bind-address = 127.0.0.1
und ersetze es durch
bind-address = 0.0.0.0

Bitte starte danach den MariaDB Service neu:

service mariadeb restart

Um die Datenbank später managen zu können nutze ich Heidi SQL:
Hier findest du HeidiSQL.

Navigiere bitte nun zu dem Hauptverzeichnis:

cd /home/mangos/mangos/sql

Wir erstellen die Datenbank:

mysql -uroot < mangos/sql/create/db_create_mysql.sql

Wir laden die Basis der Datenbank:

mysql -uroot classicmangos < mangos/sql/base/mangos.sql

Dann laden wir die DBCs in die Datenbank. Einfach mit cd in die Folder und dann mit dem bereits benutzten Befehl alle in die Datenbank reinladen.

for sql_file in $(ls mangos/sql/base/dbc/original_data/*.sql); do mysql -uroot --database=classicmangos < $sql_file ; done
for sql_file in $(ls mangos/sql/base/dbc/cmangos_fixes/*.sql); do mysql -uroot  --database=classicmangos < $sql_file ; done

Jetzt kommen die Character dran:

mysql -uroot classiccharacters < mangos/sql/base/characters.sql

Jetzt die Welt:

mysql -uroot classicrealmd < mangos/sql/base/realmd.sql

Navigiere bitte zu:

cd /home/mangos/classic-db

und öffne die Datei InstallFullDB.config

nano InstallFullDB.config

Sucht nach dem Abschnitt CORE_PATH=”” und ändert diesen zu:

CORE_PATH"/home/mangos/mangos"

Danach installieren wir die Datenbank fertig mit:

./InstallFullDB.sh

Mit einer Software wie HeidiSQL kannst du dann die IP deines Servers in der Datenbank ändern.

Deinem Server fehlen nun noch die dbc, maps, vmaps und mmaps. Du kannst diese aus dem Client extrahieren und dann auf den Server laden, oder du suchst nach einem Repack und nimmst diese Dateien. Mit WinSCP kannst du die Dateien nach: mangos/run/bin kopieren.

Starten kannst du nun deinen Server mit:

./mangosd
./realmd

Barti

Barti ist ein Veteran der Gaming-Industrie mit einer beeindruckenden Karriere, die sich über zwei Jahrzehnte erstreckt. Seine Leidenschaft für Spiele begann in jungen Jahren und führte ihn zu einer der renommiertesten Positionen in der Branche: Als Gamemaster bei Blizzard hatte er die Gelegenheit, tief in die Welt der Online-Spiele einzutauchen und direkt mit der Community zu interagieren. Nach seiner Zeit bei Blizzard nutzte Barti seine umfangreichen Kenntnisse und Erfahrungen, um MMORPG-Entwicklern als Berater zur Seite zu stehen. Mit einem scharfen Auge für Details und einem tiefen Verständnis für Spielerbedürfnisse half er vielen Entwicklerteams, ihre Spiele zu optimieren und ein besseres Spielerlebnis zu bieten. Doch Barti's Ambitionen reichen weit über das Beraten hinaus. Er betreibt eigene Entwicklerstudios, in denen er und sein Team leidenschaftlich an innovativen Projekten arbeiten. Aktuell ist eines seiner spannendsten Vorhaben die Entwicklung eines deutschen MMORPGs, das verspricht, die Gaming-Welt im Sturm zu erobern. Mit einer Kombination aus technischem Know-how, kreativer Vision und einer tiefen Liebe zum Gaming ist Barti nicht nur ein Pionier in der Branche, sondern auch eine Inspirationsquelle für alle, die den Traum haben, in der Welt der Videospiele Fuß zu fassen.