[Tutorial] TrintiyCore unter Debian

Hallo,

hier seht ihr mein Tutorial wie man die TrinityCore unter Debian installiert.

Es ist nur die Codereihenfolge. Es gibt viele die vielleicht nochmal einen zweiten

Realm aufmachen wollen oder die ihren Server neu aufsetzen mussten aber kein bock haben

Seitenlange Tutorials zu Lesen und genau für die ist diese Codereihenfolge gedacht.

Ich habe diese Codereihenfolge selber auf einem Linux Debian 4.0 Plesk 8.4 64 Bit System getestet.

Maps und DBCs sowie anpassen der Configs ist hier nicht genannt da Leute die sich schonmal

damit auseinander gesetzt haben für die auch dieses Tutorial gedacht ist wissen ja wie es geht.

!!!WICHTIG!!!

Passt drauf auf wo Sternchen sind !!!

  • Wenn ihr ein Dualcore System habt = Das “make” fällt weg und wird durch den Code der mit * gekennzeichnet ist ersetzt.

*** Wenn ihr ein Quadcore System habt = Das “make” fällt weg und wird durch den Code der mit *** gekennzeichnet ist ersetzt.

Da ihr sicherlich copy&paste macht kopiert auf keinen fall das * bzw. das *** mit !!!

cd /home/
mkdir trinitycore
cd /trinitycore && mkdir build
apt-get install g++ gcc make cmake libmysql++-dev subversion mercurial openssl libssl-dev zlib1g-dev libtool libmysqlclient15-dev patch build-essential mysql-client libreadline5-dev unrar git-core p7zip p7zip-full
cd ~/
cd /home/trinitycore
git clone git://github.com/TrinityCore/TrinityCore.git

(Hier müsst ihr den Ordner “TrinityCore” einmal in “trinitycore” umbennen also das “T” und das “C” klein machen.)

cd ~/
wget http://download.dre.vanderbilt.edu/previous_versions/ACE-5.7.8.tar.gz
tar xvzf ACE-5.7.8.tar.gz
cd ~/ACE_wrappers/
mkdir build
cd build
../configure
make && make install
make -j 4 && make install

make -j 8 && make install]
cd~/
wget http://www.openssl.org/source/openssl-0.9.8q.tar.gz
tar xvzf openssl-0.9.8q.tar.gz
cd openssl-0.9.8q
./config shared
make
make -j 4

make -j 8
make install
cd ~/
wget http://www.cmake.org/files/v2.8/cmake-2.8.3.tar.gz
tar xvzf cmake-2.8.3.tar.gz
cd cmake-2.8.3
./configure

[CODE]make && make install

[color=“#FF0000”]*make -j 4 && make install

[color=“#FF0000”]***make -j 8 && make install[/CODE]

cd~/
cd /home/trinitycore/build
~/cmake-2.8.3/bin/cmake ../trinitycore/ -DPREFIX=/home/trinitycore/build
make && make install
make -j 4 && make install

make -j 8 && make install]

Wenn ihr dieses Tutorial kopieren wollt schreibt es hier unten einmal rein, eine Quelle wo es

gepostet ist und ich will ein Backlink zu diesem Thema angegeben haben.

Mit freundlichen Grüßen

BabylonHD

Wenn ihr noch die Datenbank batchen wollt öffnet putty einmal neu damit ihr eine bessere Übersicht habt damit die ganzen Befehle etc. nicht darin

rumwuseln und macht folgende Codereihenfolge:

cd TrinityCore/sql/base
mysql -u EUER-DATENBANK-ADMIN-NICHT-ROOT-ADMIN -p <EURE LOGON/AUTH DATENBANK> < ./auth.sql
mysql -u EUER-DATENBANK-ADMIN-NICHT-ROOT-ADMIN -p <EURE CHARACTERS DATENBANK> < ./characters.sql
mysql -u EUER-DATENBANK-ADMIN-NICHT-ROOT-ADMIN -p <EURE WORLD DATENBANK> < ./world.sql
cd
wget https://trinitydb.googlecode.com/hg/full_db/TDB_335.11.36_10818.zip
unzip TDB_335.11.36_10818.zip
mysql -u EUER-DATENBANK-ADMIN-NICHT-ROOT-ADMIN -p <EURE WORLD DATENBANK> < ./TDB_335.11.36_10818.sql

Auch die Core will mal ein Update haben dann macht ihr einfach diese Codereihenfolge. Ich gehe davon aus das putty an dieser Stelle neugestartet wurde bzw. ihr im root Verzechnis seit. Nachdem ihr die Core einem Update unterzogen habt müsst ihr Sie nochmal compilieren und den Realm neu aufsetzen /emoticons/default_wink.png Am besten vor dem Update die configs sichern und später ersetzen.

cd /home/trinitycore/trinitycore
gitpull-u

Hi,

erst mal nice aber brauchen wir wirklich zwei Tutorials für Debian?

Und man braucht nicht unbedingt den ordner umbennenen da es ja ein Copy & Past ist

Hallo Benny,

dieses Tutorial soll an die Leute sein, die diese ganze Prozedur zum sonst wievielten mal machen und keine Texturen dazwischen rumfliegen haben wollen sondern lediglich eben schnell die Codereihenfolge. Natürlich ist es nicht für die Gedacht, die es zum ersten mal machen… Das habe ich aber auch ganz klar erwähnt.

Zwischen den 2 Codeschnipseln sehe ich keinerlei Unterschied außer das dort beim Oberen die BBCodes mit dabei stehen wie es aber hier im Topic nicht so ist.

Den Ordner muss mal sehr wohl umbennen da der cMake Befehl sonst sagt das es kein Ordner gibt der “trinitycore” heißt da der heruntergeladene Ordner ja noch TrinityCore heißt. An den Kopf fass Du weißt schon das Linux ein Unterschied zwischen groß und Kleinschreibung sieht ?

Hi,

naja kappier es trotzdem nicht das du es klein schreiben willst aber ist mir grad egal

und das make -j 4 && make install nur für sehr leistungsstarke root server geeignet ist sonst läuft nähmlich innerhalb von ein paar sec. der Ram voll und so wird der vorgang abgebrochen. schreib es bitte mit dazu

So besser?

Ja

/emoticons/default_wink.png

Wieso bei Dualcore ne 4?

Dualcore heist doch er hat 2 Kerne nicht 4 außer es ist ein Intel mit Hyper-Threading-Technologie!

Und das selbe bei Quadcore!

OpenSSL und Cmake wird zb. unter Debian auch einfach mit

aptitude install openssl cmake

Installiert.

Du erstellst ein Home-Verzeichnis ohne User? Unter welchem User startest du den ganzen Kram denn? Ich hoffe einfach mal, dass du nicht root benutzt.

adduser benutzername

Erstellt den User benutzername und gleichzeitig ein Home-Verzeichnis.


Warum TrinityCore in trinitycore umbenennen? Wer’s umbedingt in Kleinschreibung haben will kann hinter den git clone Befehl den Ordnernamen schreiben und hats dann direkt so wie ers will.

Die Begründung mit CMake finde ich etwas komisch… Warum änderst du den Ordnernamen im CMake-Befehl nicht einfach?

Mal davon ab: Warum soll der fertig kompilierte Server im Build-Verzeichnis installiert werden? Das sollte man trennen


Der Einfachheit halber würde ich OpenSSL und CMake sitewide installieren.

apt-get install openssl cmake

So wie du ACE behandelt hast, wird das auch sitewide installiert (kein Pfad angegeben), weshalb man den entsprechenden Ordner wo man den Kram entpackt und kompiliert hat, später löschen kann.


make und make install würde ich seperat ausführen, falls es Fehler gibt.

-j gibt die zu benutzende Anzahl an Threads an. Daher würde es ausreichen, wenn du darauf Bezug nimmst.

Dann brauch man dies nicht mehrmals hinschreiben.

Btw. nimmt man bei DualCores keine 4 und bei QuadCores keine 8 Threads. Dies ist davon abhängig ob man HyperThreading von Intel nutzt.

Ansonsten verlangsamt sich der Build-Prozess…

Ich würde einfach generell für DualCores 2 und für QuadCores 4 nehmen. Da braucht man den Usern HyperThreading nicht erklären.

Für den normalen User ist die eingesparte Zeit eh nicht wirklich relevant.


Config’s brauchen bei Updates und Builds nicht gesichert zu werden. Die .config.dist wird überschrieben, nicht die .config .

Sofern sich die .config.dist geändert hat, sollte man seine eigene Config sowieso anpassen. Also ambesten nen diff drüberlaufen lassen, um die Änderungen zu sehen


Könnte noch mehr schreiben, aber das sind so die wesentlichen Punkte die mir beim durchlesen des Tutorials aufgefallen sind.

Da sollte auf jeden Fall nachgebessert werden

Nabend,

ich hab mal eine Frage ich hab alles so nach der Anleitung gemacht, aber wenn ich den Server starten möchte, kommmt folgende Nachricht:

User thread created.Reference thread created.

1 reference-thread added.

pollPendingThreads()

1 user-thread added.

Thread starting…

MySQL client library: 5.0.51a

MySQL server ver: 5.0.51a-24+lenny4

Added realm “HD-Arena Tournament”.

Trinity realm can not bind to 127.0.0.1:3724

Thread joining…

Thread exiting…

insertPendingThread()

1 pending-thread added.

ThreadQueue waiting on remaining threads…

pollUserThreads()

pollPendingThreads()

Thread destroyed.

1 pending-thread reclaimed.

pollReferenceThreads()

Thread destroyed.

1 reference-thread reclaimed.

ThreadQueue destroyed

Kann mir da jemand helfen?

P.S. Das ist ein 2.4.3 Server.

Trinity realm can not bind to 127.0.0.1:3724

mit anderen worten der port ist mit iwas anderem belegt

wie kann ich überhaupt den server per ssh ausführen?

gestartet wir der Server an besten über “screen”


apt-get install screen



screen -A -m -d -S worldserver ./worldserver

ok der server sollte jetz on sein aber keiner kann drauf!

du musst den Port in der Firewall freigeben so das er von außen erreicht werden kann

Mahlzeit zusammen,

ich habe ein kleines Problem. Auch wenn ich gleich erschlagen werde so kann ich sagen, ich habe die Suche benutzt, steige aber trotzdem nicht ganz durch.

also, ich wollte die branch wintergrasp_cleanup mit einspielen. Aber genau das bekomm ich nicht gebacken. Mit Git hab ich leider 0 erfahrung.

Ich habe den Trinity nach dem Tut ausm wiki aufgesetzt. Soweit funktioniert auch alles ohne Probleme. Kann mir mal bitte bitte einer die richtigen Commands geben um WG mit reinzubasteln? /emoticons/default_sad.png

Gruss,

style

sehr einfach


git checkout wintergrasp_cleanup

Hallo Robox und Danke für die Antwort.

Genau dies hab ich gemacht und das Result ist das:

$ git checkout wintergrasp_cleanup

M sql/base/world_database.sql

Already on ‘wintergrasp_cleanup’

allerdings sehe ich nirgendwo ein resultat, download oder sonst was.

Ich sag ja, ich steig durch git noch nicht so ganz durch /emoticons/default_smile.png

//Edit sagte:

Ok ich habs kaputt gespielt xD

mein drang es einfach auszuprobieren, fehlinterpretationen vom man und ein wenig unkonzentriertheit hat dafür gesorgt das ich immer wieder einen fehler bekommen habe.

Irgendwas von local Changes on /sql/base/world_database.sql. Habs auch nicht mehr weg bekommen. Also hab ich mir die git nochmal neu gezogen, dein command benutzt und sehe da, wintergrasp_temp ist da :slight_smile:

Danke

dabei wird nur der Branches gewechselt alle nötigen Infos liegen schon Lokal vor nach den clonen.

es erscheint dabei ein neuer Ordner mit den Namen Wintergrasp_temp wo die SQL Dateien für den Branches liegen

außerdem wir der Sourcecode den Branches angepasst…

mehr basiert da nicht.

Umbenennung von Ordner : mv z.B mv ACE-5.7.8 ACE und mv TrinityCore trinitycore

mir wahr noch nicht bekannt das man cmake erst kompilieren muss naja man lernt nicht aus

bei screen mach ich aber auch nur screen -A m d S worldserver ./worldserver

MFG beliat