Freelancer Entwickler: Ronan C. P. Lana
Auch Nexon (Duh!), den originalen MapleSolaxia-Mitarbeitern und anderen Mitstreitern sei Dank, denn ich habe lediglich einige Änderungen/Patches am Spiel vorgenommen, die teilweise vom ursprünglichen v83-Patch-Inhalt abwichen.
Bei der Weitergabe und Nutzung des hier vorgestellten Codes gilt: Dieser MapleStory-Server ist, wie schon zuvor, Open-Source. Damit ist gemeint, dass es jedem freisteht, die Inhalte zu installieren, zu verwenden, zu modifizieren und weiterzugeben, solange kein kommerzieller Handel damit betrieben wird und die Danksagungen an die ursprünglichen Schöpfer innerhalb des Codes beibehalten werden.
Dies ist ein NetBeans 8.0.2 Projekt, das unter JDK/JRE 7 gebaut und ausgeführt werden MUSS, um richtig zu laufen. Das bedeutet, dass es einfacher ist, das Projekt durch Öffnen des Server-Projektordners in der NetBeans-IDE zu installieren. Nach der Installation erstellen Sie dieses Projekt auf Ihrem Rechner und starten den Server mit der Anwendung „launch.bat“.
In diesem Projekt wurden viele Probleme, die sich aus den ursprünglichen WZ-Dateien und den Server-Quellen ergeben, teilweise oder vollständig gelöst. Die Verwendung der mitgelieferten bearbeiteten WZ’s und serverseitigen wz.xml-Dateien sollte bei dieser Instanz eines privaten Servers von größter Wichtigkeit sein, um das volle Potential wahrnehmen zu können. Aber meine Meinung! Siehe „README_wzchanges.txt“ für weitere Informationen darüber, was von Nexons v83 WZ-Dateien geändert wurde.
Das Hauptziel dieses Projekts ist es, so gut wie möglich zu versuchen, das wiederherzustellen, was einst das ursprüngliche MapleStory v83 war, und dabei einige Aromen hinzuzufügen, die das Gameplay aufpeppen. Mit anderen Worten, das Ziel ist es, das Beste von MapleStory aus dieser Ära zu erhalten.
Download items
Server files: https://github.com/ronancpl/MapleSolaxiaV2
Client-Dateien & Allgemeine Tools: https://drive.google.com/drive/folders/0BzDsHSr-0V4MYVJ0TWIxd05hYUk
Spende
Wenn Ihnen gefällt, was Sie auf dem Projekt gesehen haben, spenden Sie eine Kleinigkeit als Unterstützung für meine Beiträge zur Maple-Entwicklung.Paypal: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=3K8KVTWRLFBQ4
Vorbereiten des Ambientes
Der folgende Link lehrt, wie man einen MapleStory v83 Private Server installiert, allerdings UNTERSCHIEDET sich das, was hier verwendet wird: http://forum.ragezone.com/f428/maplestory-private-server-v83-741739/
Benutzen Sie diesen Link NUR ALS ORIENTIERUNG, denn hier fangen die Dinge an, unklar zu werden.
Installieren Sie zunächst alle allgemeinen Tools, die zum Betrieb des Servers benötigt werden:
- WampServer2.0i.exe -> Empfänger des Servers.
- hamachi.msi -> dient zur Einrichtung einer Tunnelroute für die Server/Client-Kommunikation.
- mysql-query-browser-1.1.20-win.msi -> MySQL-Serverkomponente, speichert die DB des Servers.
Nun installieren Sie das Java 7 Development Kit:
- jdk-7u79-windows-x64.exe
- netbeans-8.0.2-javase-windows.exe -> Es ist ein NetBeans Projekt, verwenden Sie andere IDE auf eigene Gefahr.
Überschreiben Sie, wenn Sie dazu aufgefordert werden, die JAR-Dateien unter „jce_policy-7/UnlimitedJCEPolicy“ in diesen Java-Ordnern:
- C:\Program Files\Java\jre7\lib
- C:\Program Files\Java\jre7\lib\ext
- C:\Program Files\Java\jre7\lib\security
- C:\Program Files\Java\jdk1.7.0_01\lib
- C:\Program Files\Java\jdk1.7.0_01\jre\lib
- C:\Program Files\Java\jdk1.7.0_01\jre\lib\ext
- C:\Program Files\Java\jdk1.7.0_01\jre\lib\security
Nachdem die Tools installiert wurden, testen Sie, ob sie funktionieren.
Für WampServer: Sobald Sie mit der Installation fertig sind, starten Sie es und Sie sehen das Wamp-Symbol in der unteren rechten Ecke.Klicken Sie mit der linken Maustaste darauf und klicken Sie auf „Online stellen“.Wenn das Symbol ORANGE ist, ändern Sie den Port 80 in der Datei „httpd.conf“ in einen anderen, da er mit einem Windows-Standardport kollidiert.Klicken Sie dann erneut mit der linken Maustaste darauf und klicken Sie auf „Alle Dienste starten“.Das Wamp-Symbol muss komplett grün sein (wenn es orange oder rot ist, haben Sie ein Problem).
Für Hamachi:Versuchen Sie es zu öffnen. So einfach ist es.Hamachi ist allerdings optional. Sie müssen Hamachi nicht installieren, wenn Sie den Server nur auf Ihrem eigenen Rechner nutzen wollen. Wenn Sie jedoch anderen Spielern den Zugang zu Ihrem Server ermöglichen wollen, sollten Sie alternativ Port-Forwarding-Methoden verwenden.
Installation des Servers
Legen Sie den Ordner „MapleSolaxia“ an einem Ort Ihrer Wahl ab. Es wird empfohlen „C:\Nexon\MapleSolaxia“ zu verwenden.
SQL einrichten: öffne den MySQL Query Browser, und definiere diese Parameter beim Start und klicke auf OK:Server Host: localhostPort: 3306Username: root
Nun muss es VORSICHTIG gemacht werden:
- Datei -> Open Script… -> Suchen Sie „C:\Nexon\MapleSolaxia\sql“ -> db_database.sql, und führen Sie es aus.
- Datei -> Script öffnen… -> Suchen Sie „C:\Nexon\MapleSolaxia\sql“ -> db_drops.sql, und führen Sie es aus.
Jetzt ist es OPTIONAL, Sie müssen es nicht ausführen, wenn Sie nicht wollen, da es einfach einige NPC-Läden ändert, um einige neue Waren zu verkaufen, die im ursprünglichen MapleStory nicht vorhanden sind:
- Datei -> Script öffnen… -> Suche nach „C:\Nexon\MapleSolaxia\sql“ -> db_shopupdate.sql, und führe es aus.
Am Ende der Ausführung dieser SQLs solltest du ein Datenbankschema namens „maplesolaxia“ installiert haben. REGISTRIEREN SIE IHREN ERSTEN ACCOUNT, der im Spiel verwendet werden soll, indem Sie manuell einen Eintrag in der Tabelle „accounts“ in dieser Datenbank mit einem Login und einem Passwort erstellen.
Konfigurieren Sie die IP, die Sie für Ihren MapleStory-Server verwenden möchten, in der Datei „configuration.ini“, oder setzen Sie sie auf „localhost“, wenn Sie ihn nur auf Ihrem Rechner laufen lassen möchten. Alternativ können Sie die von Hamachi angegebene IP-Adresse für die Verwendung in einem Hamachi-Netzwerk verwenden, oder Sie können eine nicht-Hamachi-Methode der Port-Weiterleitung verwenden. Beides wird hier nicht behandelt.
Öffnen Sie nun NetBeans, und wählen Sie Projekt öffnen… Wählen Sie dann den Ordner „MapleSolaxia“, der bereits ein von NetBeans erkennbares Projekt sein sollte. Ist das nicht der Fall, haben Sie ein Problem.
Innerhalb des Projekts können Sie auf einige Codefehler stoßen. Dies geschieht, weil Sie die „Kerne“ des Projekts noch nicht festgelegt haben. Klicken Sie in der Projekthierarchie mit der rechten Maustaste auf das Projekt und wählen Sie „Resolve Project Problems“. Suchen Sie den Ordner „cores“ im Stammverzeichnis des Projekts und konfigurieren Sie die fehlenden Dateien manuell mit den dort vorhandenen Dateien.
Schließlich wählen Sie „Clean and Build project“, um die JAR-Datei für den MapleStory-Server zu erstellen. Stellen Sie anschließend sicher, dass sowohl WampServer als auch Hamachi eingeschaltet sind und funktionieren, und führen Sie dann „launch.bat“ im Stammverzeichnis des Projekts aus. Wenn diese Aktion keine Fehler auslöst, ist Ihr MapleStory-Server jetzt online.
Installation des CLIENT
Die Einrichtung des Clients ist recht einfach:
- Aus „ManagerMsv83.exe“, installieren Sie MapleStory in Ihrem bevorzugten Ordner (z.B. „C:\Nexon\MapleStory“) und folgen Sie den Anweisungen.
- Löschen Sie anschließend diese Dateien: „HShield“ (Ordner), „ASPLauncher.exe“, „MapleStory.exe“ und „patcher.exe“.
- Extrahieren Sie in den Client-Ordner die „localhost.exe“ von Localhostv83.
- Überschreiben Sie die ursprünglichen WZ-Dateien mit denen aus dem Ordner „client_wz“ auf dem Google Drive.
Wenn Sie nicht „localhost“ als Ziel-IP in der Konfigurationsdatei des Servers verwenden, müssen Sie „localhost.exe“ HEX-EDITieren, um Ihre IP zu holen. Spüren Sie alle IP-Standorte auf, indem Sie nach dem „Text-String“ „127.0.0.1“ suchen und die Änderungen überall dort vornehmen, wo es passt.
Um den Hex-Editor zu bearbeiten, installieren Sie den Neo Hex Editor von „free-hex-editor-neo.exe“ und folgen Sie den Anweisungen. Danach öffnen Sie „localhost.exe“ zur Bearbeitung und überschreiben Sie die IP-Werte unter den 3 Adressen. Speichern Sie die Änderungen und beenden Sie den Editor.
Öffnen Sie den Client „localhost.exe“. Wenn sich das Programm auf keinen Fall öffnen lässt und der Ping in der Warteschlange des Servers abgehört wurde und Sie Windows 8 oder 10 verwenden, könnte es sich um ein Kompatibilitätsproblem handeln. Entpacken Sie „lolwut.exe“ aus „lolwut-v0.01.rar“ und legen Sie es im MapleStory-Client-Ordner ab („C:\Nexon\MapleStory“). Ihre „localhost.exe“-Eigenschaftseinstellungen müssen wie folgt lauten:
- Ausführen im Kompatibilitätsmodus: Windows 7;
- Kontrollierter reduzierter Farbmodus;
- 640 x 480 Auflösung;
- Kontrollierte Anzeige bei hohen DPI-Einstellungen deaktivieren;
- Ausführen als Administrator;
- Öffnen von „lolwut.exe“, verwenden Sie die Methode von Fraysa.
Wichtig: Sollte dem Client die Verbindung zum Spielserver verweigert werden, kann das an Firewall-Problemen liegen. Fahren Sie mit dem Ende dieser Datei fort, um diese Verbindung mit der Firewall des Computers zu aktivieren. Alternativ kann man die Firewall deaktivieren und versuchen, den Client erneut zu öffnen.
Wichtiger Hinweis zur CLIENT-BEARBEITUNG
VERWENDEN SIE NICHT die XMLs des Servers, um sie in die WZ des Clients zu reimportieren, es wird danach irgendwelche Fehler erzeugen.
- Verwenden Sie stattdessen den HaRepacker 4.2.4, Verschlüsselung „GMS (alt)“.
- Öffnen Sie die gewünschte WZ zur Bearbeitung und nehmen Sie mit Hilfe der Benutzeroberfläche die gewünschten Änderungen vor.
- Speichern Sie die geänderte WZ und überschreiben Sie dabei den ursprünglichen Inhalt im Client-Ordner.
- Schließlich RE-Exportieren Sie („Private Server…“) die geänderten XMLs in die WZ.XML-Dateien des Servers, wobei die alten Inhalte überschrieben werden.
Diese Schritte sind WICHTIG, um die Synchronisation zwischen den Server- und Client-Modulen aufrechtzuerhalten.
Als Beispiel für die Client-WZ-Bearbeitung sei das von mir entwickelte Projekt MobBookUpdate genannt, mit dem alle gemeldeten Abwurfdaten der Mobs im Spiel auf der Grundlage der aktuellen Abwurfdaten in der Datenbank aktualisiert werden:
- Öffnen Sie das Projekt MobBookUpdate auf NetBeans, das sich unter „C:\Nexon\MapleSolaxia\MobBookUpdate“ befindet, und erstellen Sie es.
- In den Unterordner „lib“ kopieren Sie die Datei „MonsterBook.img.xml“. Diese stammt aus dem Original WZ v83.
- Füge sie in den Unterordner „dist“ ein.
- Innerhalb von „dist“ öffne die Eingabeaufforderung durch Alt+Rechtsklick.
- Führe „java -jar MobBookUpdate.jar“ aus. Es wird eine „MonsterBook_updated.img.xml“-Datei erzeugt.
- Überschreiben Sie schließlich die „MonsterBook.img.xml“ auf „C:\Nexon\MapleSolaxia\wz\String.wz“ mit dieser Datei und benennen Sie sie wieder in „MonsterBook.img.xml“ um.
Damit ist das serverseitige Monster Book mit dem aktuellen Stand der Dropdaten der Datenbank aktualisiert worden. Öffnen Sie anschließend HaRepacker 4.2.2 und laden Sie „String.wz“ aus „C:\Nexon\MapleStory“. Löschen Sie den Knoten „MonsterBook.img“, indem Sie ihn aus dem Hierarchiebaum entfernen, und importieren Sie dann (im Gegensatz zu dem, was Sie normalerweise tun sollten!) die „MonsterBook.img.xml“ des Servers.
Beachten Sie, dass dies absolut gefährlich ist, wenn Sie es unbedacht tun. Wenn die „MonsterBook.img“ keine kundenspezifischen Daten in ihrem Knoteninhalt enthält, ist der Import der XML-Datei völlig ungefährlich. Versuchen Sie jedoch nicht, Knoten aus WZ-Dateien zu entfernen/reimportieren, da dies zu Datenverlusten führen kann. Verwenden Sie stattdessen die Benutzeroberfläche des HaRepackers, um die Änderungen vorzunehmen.
Speichern Sie die Änderungen und überschreiben Sie die ältere WZ im MapleStory-Client-Ordner.
Portforwarding the SERVER
Um Portforwarding zu verwenden, müssen Sie die Berechtigung haben, Dinge am LAN-Router zu ändern. Greifen Sie mit dem Internetbrowser auf Ihren Router zu. Die URLs variieren je nach Hersteller. Um ihn zu ermitteln, öffnen Sie die Eingabeaufforderung und geben Sie „ipconfig“ ein und suchen Sie das Feld „Standard-Gateway“. Die dort angezeigte IP ist die URL, die für den Zugriff auf den Router benötigt wird. Suchen Sie auch nach der IP-Adresse Ihres Rechners (auch bekannt als „IPv4-Adresse“), die die des Servers ist.
Das Standard-Login/Passwort variiert ebenfalls, verwenden Sie daher den Link http://www.routerpasswords.com/ als Referenz. In der Regel reicht ein Login als „admin“ und ein Passwort als „password“ aus.
Nachdem Sie sich im Routersystem angemeldet haben, suchen Sie nach allem, was mit Portforwarding zu tun hat. Wenn das System Sie zwischen Portforwarding und Portriggering fragt, wählen Sie Ersteres, denn das ist es, was wir verwenden werden.
Nun müssen Sie die richtigen Ports für das Internet aktivieren. Für MapleSolaxia müssen grundsätzlich die Ports 7575 bis 7575 + (Anzahl der Kanäle) und Port 8484 geöffnet werden. Erstellen Sie einen neuen benutzerdefinierten Dienst, der diesen Bereich von Ports für den Channel des Servers freigibt und entscheiden Sie sich für die Verwendung von TCP/UDP-Protokollen. Erstellen Sie nun einen benutzerdefinierten Dienst für die Verwendung von Port 8484.
Optional, wenn Sie eine Webseite hosten wollen, leiten Sie auch den Port 80 (den HTTP-Port) weiter.
Es ist noch nicht getan, manchmal blockieren die Firewalls Verbindungen zwischen dem LAN und dem Internet. Um dies zu umgehen, müssen Sie einige Regeln für die Firewall erstellen, um diese Verbindungen zuzulassen. Suchen Sie auf Ihrem Computer nach den erweiterten Optionen für Firewalls und erstellen Sie bei geöffneter Firewall zwei Regeln (eine ausgehende und eine eingehende).
Diese Regeln müssen auf „eine Anwendung“ abzielen, „Verbindungen ermöglichen“ und auf Ihren MapleStory-Client (auch bekannt als localhost) abzielen.
Nach all diesen Schritten sollte der Portforwarding-Prozess nun abgeschlossen sein.