Ich möchte euch zeigen, wie ihr mit eurer eigens compilierten Core und eurer eigens erstellten Datenbank einen Privat Server für WoW macht.
Teil 1, die Core:
Zuerst einmal liste ich hier alles auf, was ihr für die Core benötigt:
- Tortoise SVN
- GIT
- Visual Studio 2010 Testversion
Alternativ können auch frühere Versionen (z.B. Visual Studio 2008) verwendet werden) was eigentlich nur von Vorteil ist, da ihr sonst nur eine Testversion von 30 Tagen habt
- WICHTIG: Es ist von Vorteil C++ Grundkenntnisse zu haben, oder bereit zu sein, diese zu erlangen, damit ihr später eure Core weiterentwickeln und fixxen könnt.
- GIT
- Visual Studio 2010 Testversion
Alternativ können auch frühere Versionen (z.B. Visual Studio 2008) verwendet werden) was eigentlich nur von Vorteil ist, da ihr sonst nur eine Testversion von 30 Tagen habt
- WICHTIG: Es ist von Vorteil C++ Grundkenntnisse zu haben, oder bereit zu sein, diese zu erlangen, damit ihr später eure Core weiterentwickeln und fixxen könnt.
Schritt 1: Programme installieren
Bei „Tortoise SVN“ und „Visual Studio“ gibt es eigentlich nichts besonderes zu sagen.
Bei Git:
Ihr müsst beachten das ALLE Häkchen gleich sind wie auf diesem Bild.
Den Rest (bei den folgenden Schritten der Installation) einfach lassen.
WICHTIG: Wichtig ist auch, das ihr einen Ordner im Startmenü erstellt, da sonst der nächste Schritt nicht funktioniert.
Bei Git:
Ihr müsst beachten das ALLE Häkchen gleich sind wie auf diesem Bild.
Den Rest (bei den folgenden Schritten der Installation) einfach lassen.
WICHTIG: Wichtig ist auch, das ihr einen Ordner im Startmenü erstellt, da sonst der nächste Schritt nicht funktioniert.
Schritt 2: Core- Quelldateien downloaden
2.1: Mangos Quelldateien
Nachdem alle Programme erfolgreich installiert wurden, erstellt ihr nun einen neuen Ordner. Ich nenne ihn Core. Wie ihr ihn nennt ist euch überlassen.
Ihr macht einen Rechtsklick auf den Ordner, und klickt auf „GIT Bash here“.
Es öffnet sich die Windows Konsole.
Dort gebt ihr einfach folgendes ein (hinter diesem Dollar Zeichen):
git clone git://github.com/mangos/server.git
Nun werden die Mangos Quelldateien gedownloadet.
Wenn alle Dateien fertig gedownloadet sind, kommen wir zum Nächsten Schritt.
Ihr macht einen Rechtsklick auf den Ordner, und klickt auf „GIT Bash here“.
Es öffnet sich die Windows Konsole.
Dort gebt ihr einfach folgendes ein (hinter diesem Dollar Zeichen):
git clone git://github.com/mangos/server.git
Nun werden die Mangos Quelldateien gedownloadet.
Wenn alle Dateien fertig gedownloadet sind, kommen wir zum Nächsten Schritt.
Ihr geht in den Ordner, den ihr erstellt habt, und in dem nun die gedownloadeten Quelldateien der Mangos Core liegen.
Ihr öffnet: mangos --> src --> bindings
Dort erstellt ihr den Ordner Namens „ScriptDev2“ (diesmal bitte diesen Namen verwenden)
Ihr macht wieder einen Rechtsklick auf den Ordner, und klickt auf „SvnCheckout“.
Unter “URL of repository” gebt ihr folgendes ein:
https://scriptdev2.svn.sourceforge.net/svnroot/scriptdev2/
Anschließend klickt ihr auf OK.
Nun werden die Quelldateien von Scriptdev2 gedownloadet.
Aber, was ist Scriptdev2 überhaupt?
Scriptdev2 ist ein Projekt für die Entwicklung von Scripten für die Mangos Core. In diesen Scripten werden zum Beispiel Bosse programmiert.
Zurück zum Thema:
Sind die Dateien fertig gedownloadet, fahren wir mit dem nächsten Schritt fort.
Ihr öffnet: mangos --> src --> bindings
Dort erstellt ihr den Ordner Namens „ScriptDev2“ (diesmal bitte diesen Namen verwenden)
Ihr macht wieder einen Rechtsklick auf den Ordner, und klickt auf „SvnCheckout“.
Unter “URL of repository” gebt ihr folgendes ein:
https://scriptdev2.svn.sourceforge.net/svnroot/scriptdev2/
Anschließend klickt ihr auf OK.
Nun werden die Quelldateien von Scriptdev2 gedownloadet.
Aber, was ist Scriptdev2 überhaupt?
Scriptdev2 ist ein Projekt für die Entwicklung von Scripten für die Mangos Core. In diesen Scripten werden zum Beispiel Bosse programmiert.
Zurück zum Thema:
Sind die Dateien fertig gedownloadet, fahren wir mit dem nächsten Schritt fort.
Schritt 3:
3.1: Mangos Core compilieren
Ihr öffnet den Ordner mangos --> win
In diesem Ordner befindet sich eine Datei Namens "mangosdVC100".
Diese öffnet Ihr mit dem Visual Studio 2010.
Besitzt ihr eine frühere Version vom Visual Studio, z.b. Visual Studio 2008, so müsstet ihr bei Visual Studio 2008 die Datei „mangosdVC90“ öffnen.
Sobald Visual Studio die Projektmappe geöffnet hat, klickt ihr auf „Erstellen“ --> „Konfigurations-Manager“.
Unter „Konfiguration der aktuellen Projektmappe“ wählt ihr „Release“ aus.
Unter „Aktive Projektmappenplattform“ sollte normalerweise „Win32“ stehen.
Nun auf „Schließen drücken“.
Als nächstes klickt ihr auf den Reiter „Erstellen“ --> Projektmappe bereinigen.
Danach auf „Erstellen“ --> Projektmappe erstellen
Herzlichen Glückwunsch, denn normalerweise wird jetzt eure Mangos Core compiliert.
Das dauert eine Weile.
Am Ende sollte unten im Fenster „Ausgabe“ so etwas ähnliches stehen:
==========Erstellen: 10 erfolgreich, Fehler bei 0, 0 aktuell , 0 übersprungen =========
Wichtig ist nur, das keine es keine Fehler gibt.
Ansonsten am besten einfach noch mal Schritt 3 von vorne.
In diesem Ordner befindet sich eine Datei Namens "mangosdVC100".
Diese öffnet Ihr mit dem Visual Studio 2010.
Besitzt ihr eine frühere Version vom Visual Studio, z.b. Visual Studio 2008, so müsstet ihr bei Visual Studio 2008 die Datei „mangosdVC90“ öffnen.
Sobald Visual Studio die Projektmappe geöffnet hat, klickt ihr auf „Erstellen“ --> „Konfigurations-Manager“.
Unter „Konfiguration der aktuellen Projektmappe“ wählt ihr „Release“ aus.
Unter „Aktive Projektmappenplattform“ sollte normalerweise „Win32“ stehen.
Nun auf „Schließen drücken“.
Als nächstes klickt ihr auf den Reiter „Erstellen“ --> Projektmappe bereinigen.
Danach auf „Erstellen“ --> Projektmappe erstellen
Herzlichen Glückwunsch, denn normalerweise wird jetzt eure Mangos Core compiliert.
Das dauert eine Weile.
Am Ende sollte unten im Fenster „Ausgabe“ so etwas ähnliches stehen:
==========Erstellen: 10 erfolgreich, Fehler bei 0, 0 aktuell , 0 übersprungen =========
Wichtig ist nur, das keine es keine Fehler gibt.
Ansonsten am besten einfach noch mal Schritt 3 von vorne.
Ihr öffnet unter „Mangos --> src --> bindings --> Scriptdev2“ die Datei „scriptVC100.sln“ (je nachdem welches Visual Studio ihr habt).
Sobald Visual Studio die Projektmappe geöffnet hat, klickt ihr auf „Erstellen“ --> „Konfigurations-Manager“.
Unter „Konfiguration der aktuellen Projektmappe“ wählt ihr „Release“ aus.
Unter „Aktive Projektmappenplattform“ sollte normalerweise „Win32“ stehen.
Nun auf „Schließen drücken“.
Als nächstes klickt ihr auf den Reiter „Erstellen“ --> Projektmappe bereinigen.
Danach auf „Erstellen“ --> Projektmappe erstellen
Herzlichen Glückwunsch, denn normalerweise wird jetzt Scriptdev2 compiliert.
Das dauert eine Weile.
Am Ende sollte unten im Fenster „Ausgabe“ so etwas ähnliches stehen:
==========Erstellen: 9 erfolgreich, Fehler bei 0, 0 aktuell , 0 übersprungen =========
Und wieder ist wichtig das es NUR erfolgreiche gibt, und KEINE Fehler.
Sobald Visual Studio die Projektmappe geöffnet hat, klickt ihr auf „Erstellen“ --> „Konfigurations-Manager“.
Unter „Konfiguration der aktuellen Projektmappe“ wählt ihr „Release“ aus.
Unter „Aktive Projektmappenplattform“ sollte normalerweise „Win32“ stehen.
Nun auf „Schließen drücken“.
Als nächstes klickt ihr auf den Reiter „Erstellen“ --> Projektmappe bereinigen.
Danach auf „Erstellen“ --> Projektmappe erstellen
Herzlichen Glückwunsch, denn normalerweise wird jetzt Scriptdev2 compiliert.
Das dauert eine Weile.
Am Ende sollte unten im Fenster „Ausgabe“ so etwas ähnliches stehen:
==========Erstellen: 9 erfolgreich, Fehler bei 0, 0 aktuell , 0 übersprungen =========
Und wieder ist wichtig das es NUR erfolgreiche gibt, und KEINE Fehler.
Ihr öffnet Magos --> bin
Diese Dateien kopiert ihr am besten in einen separaten Ordner.
Die anderen aber NICHT löschen.
Zuletzt kopiert ihr die Dateien "mangosd.conf.dist.in" (mangos --> src --> mangosd), "realmd.conf.dist.in" (mangos --> src --> realmd), und "scriptdev2.conf.dist.in" (mangos --> src --> bindings --> ScriptDev2) in den gleichen Ordner wie die Dateien oben und macht überall die Dateiendung .dist.in weg, das die Dateien nur noch XXXXX.conf heißen
Werden die Dateiendungen bei euch nicht angezeigt, klickt ihr in einem beliebigen Ordner auf Extras --> Ordneroptionen, wählt den Reiter "Ansicht" aus, und macht dort den Haken bei "Erweiterungen bei bekannten Dateietypen ausblenden" weg.
Nun habt ihr eure eigene Core auf dem Patch 3.3.5a.
Aber was ist der Vorteil einer eigenen Core:
- Ihr seid flexibler wenn neue Patches erscheinen
- Wenn ihr Spaß am entwickeln und tüfteln habt ist eine eigene Core genau das richtige, um eigene C++ kenntnisse zu erlangen
- Ihr könnt euren Server individueller gestalten
Nachteil:
- Es ist logischerweise mehr Arbeit als einen Repack zu downloaden, macht dennoch mehr Spaß
- Wenn ihr Buggs fixxen wollt, müsst ihr euch mit eurer Core auseinandersetzen, Scripte verstehen lernen, wobei C++ Kentnisse Vorteile mit sich bringen, aber wie schon gesagt NICHT ZWINGEND NÖTIG SIND
Fazit: Die Arbeit lohnt sich
Diese Dateien kopiert ihr am besten in einen separaten Ordner.
Die anderen aber NICHT löschen.
Zuletzt kopiert ihr die Dateien "mangosd.conf.dist.in" (mangos --> src --> mangosd), "realmd.conf.dist.in" (mangos --> src --> realmd), und "scriptdev2.conf.dist.in" (mangos --> src --> bindings --> ScriptDev2) in den gleichen Ordner wie die Dateien oben und macht überall die Dateiendung .dist.in weg, das die Dateien nur noch XXXXX.conf heißen
Werden die Dateiendungen bei euch nicht angezeigt, klickt ihr in einem beliebigen Ordner auf Extras --> Ordneroptionen, wählt den Reiter "Ansicht" aus, und macht dort den Haken bei "Erweiterungen bei bekannten Dateietypen ausblenden" weg.
Nun habt ihr eure eigene Core auf dem Patch 3.3.5a.
Aber was ist der Vorteil einer eigenen Core:
- Ihr seid flexibler wenn neue Patches erscheinen
- Wenn ihr Spaß am entwickeln und tüfteln habt ist eine eigene Core genau das richtige, um eigene C++ kenntnisse zu erlangen
- Ihr könnt euren Server individueller gestalten
Nachteil:
- Es ist logischerweise mehr Arbeit als einen Repack zu downloaden, macht dennoch mehr Spaß
- Wenn ihr Buggs fixxen wollt, müsst ihr euch mit eurer Core auseinandersetzen, Scripte verstehen lernen, wobei C++ Kentnisse Vorteile mit sich bringen, aber wie schon gesagt NICHT ZWINGEND NÖTIG SIND
Fazit: Die Arbeit lohnt sich
Nun zum 2. Teil meines HOW TO´s: Die Datenbank
Was ihr benötigt:
- Navicat
- MySQL
Ihr installiert diese beiden Programme.
- MySQL
Ihr installiert diese beiden Programme.
1.1: MySQL installieren
Ihr startet die Installation von MySQL, und lasst alle Einstellungne so wie sie sind. Irgendwann müsst ihr dann ein Passwort für eure Verbindung festlegen. Nehmt da am besten mal 1234.
1.2: DB runterladen
Ihr erstellt einen neuen Ordner und nennt ihn „DB“. Ihr macht einen Rechtsklick und wählt „SVN Checkout“ aus. Das SVN Fenster (welches wir schon von der Core kennen) öffnet sich. Bei „URL of repository“ gebt ihr dieses mal http://svn2.assembla.com/svn/ytdbase/
ein.
Ihr klickt auf OK und nun werden die ganzen SQL Files gedownloadet.
ein.
Ihr klickt auf OK und nun werden die ganzen SQL Files gedownloadet.
Schritt 2: Datenbank batchen
Dann geht ihr auf Start --> Alle Programme --> MySQL --> MySQL Server 5.1 --> MySQL Command Line Client
Dort werdet ihr dann aufgefordert, das von euch bei der Installation festgelegte Passwort einzugeben.
Gebt den Dateipfad der Datei „mysql_create.sql“ ein.
Dann drückt ihr Enter.
Dann gebt ihr ein: „use characters“ und gebt anschließend den Pfad der Datei „characters.sql“ in dem selben Ordner wie die „mysql_create.sql“ aus. Dasselbe macht ihr danach mit der „realmd.sql“ (nur gebt ihr davor „use realmd“ ein, denn sonst hagelt es ne Menge Errors, was wir ja vermeiden wollen).
Nun geht ihr in euren Ordner DB --> R56 und entpackt die Datei „YTDB_.........7z“.
Dann gebt ihr „use mangos“ in das MySQL Fenster ein, und gebt wieder den Pfad der Datei „mangos.sql“ im selben Ordner wie die „characters.sql“ und die „realmd.sql“ aus, und batcht diese, und anschließend die eben entpackte Datei namens: „YTDB_......sql“, dann noch die "mangos_spell_check.sql"
Das dauert nun ein bisschen.
Bild:
Ist der Vorgang abgeschlossen, öffnet ihr wieder mein Tool, geht in den Ordner DB --> R56 --> Updates.
Dort „batcht“ (so nennt sich der Vorgang den wir hier die ganze Zeit mit den SQL Dateien machen) ihr folgende Dateien in der Reihenfolge wie ich es hier schreibe:
561_corepatch_mangos_10344_to_10372.sql
561_mangos_FIX_(10372).sql
562_corepatch_mangos_10372_to_10408.sql
562_mangos_FIX_(10408).sql
563_corepatch_mangos_10408_to_10434.sql
563_mangos_FIX_(10434).sql
Dann habt ihr eine vollständige DB mit Items usw. Allerdings auf ENGLISCH.
Um eine deutsche Datenbank zu bekommen macht ihr folgendes:
Ihr öffnet wieder „MySQL Command Line Client“, gebt wieder das Passwort ein, und anschließend direkt „use mangos“.
Dann wählt ihr mit meinem Tool die Datei GMDB_ver_0.9 locales_.sql im Ordner GMDB_ver_0.9 aus und lasst das Tool wieder den Dateipfad in das MySQL Fenster einfügen. Und drückt wieder Enter.
Dann wählt ihr noch die Datei GMDB_ver_0.9 extras.sql im selben Ordner aus und lasst diese wieder batchen.
Nun habt ihr eine deutsche Datenbank.
Ihr fragt euch nun bestimmt warum wir Navicat installiert haben, wo wir es doch eigentlich gar nicht brauchen.
Wir haben es darum installiert, weil wir dadurch die Datenbank einfacher verwalten können. Sprich: Accounts erstellen usw.
Nun habt ihr eine Core, und eine dazupassende Datenbank.
Methode 1: Einfach einen neuen Ordner namens mangos2 (oder so irgendwie wie ihr halt wollt) erstellen, und dann das ganze Zeug von vorne machen, bis zum 2. Teil. Die Datenbank müsst ihr nicht ganz neu machen. Startet einfach mal die mangosd.exe und wenn sie sich sofort schließt, dann müsst ihr die DB updaten. Dazu batcht ihr einfach alle .sql Dateien im Ordner mangos --> sql --> Updates von 10448 (oder was ihr auch für eine alte Coreversion gehabt habt, also vor dem updaten der Core nachschauen was ihr für ne Version habt, das seht ihr in der Server.log da steht oben Revision XXXXX) bis Ende. Dann müsste die DB auf dem aktuellsten Stand sein.
Methode 2: (hat bei mir vorhin nicht geklappt, weiß aber nicht warum): Macht einen Rechtsklick auf euren mangos Ordner, klickt auf GIT Bash und gebt dann einfach ein: git pull
Dann wird der Quellcode aktualisiert, und ihr könnt die Core nochmal kompilieren (Sprich ab Schritt 3 anfangen).
Dasselbse macht ihr beim Scriptdev2 Ordner nur klickt ihr da auf "SVN Update".
Methode 2: (hat bei mir vorhin nicht geklappt, weiß aber nicht warum): Macht einen Rechtsklick auf euren mangos Ordner, klickt auf GIT Bash und gebt dann einfach ein: git pull
Dann wird der Quellcode aktualisiert, und ihr könnt die Core nochmal kompilieren (Sprich ab Schritt 3 anfangen).
Dasselbse macht ihr beim Scriptdev2 Ordner nur klickt ihr da auf "SVN Update".
- evtl. veraltet, biete keinen Support, PN's werden kommentarlos gelöscht -
(C) Fresh^^