Freelancer developer: Ronan C. P. Lana

Uznanie należy się również firmie Nexon(Duh!), oryginalnemu personelowi MapleSolaxia i innym współpracownikom, ponieważ tylko niektóre zmiany/patche na grze zostały zastosowane przeze mnie, w których niektóre z nich odbiegały od oryginalnej zawartości patcha v83.

W odniesieniu do możliwości rozpowszechniania i korzystania z kodu przedstawionego tutaj: tak jak to było wcześniej, ten serwer MapleStory jest open-source. Oznacza to, że każdy może instalować, używać, modyfikować i rozprowadzać zawartość, o ile nie jest to związane z handlem komercyjnym i o ile w kodzie są zachowane kredyty dla oryginalnych twórców.

To jest projekt NetBeans 8.0.2, który MUSI być zbudowany i uruchomiony pod JDK/JRE 7, aby działał poprawnie. Oznacza to, że łatwiej jest zainstalować projekt poprzez otwarcie folderu projektu serwera w IDE NetBeans. Po zainstalowaniu, zbuduj ten projekt na swojej maszynie i uruchom serwer używając aplikacji „launch.bat”.

W tym projekcie, wiele problemów związanych z rozgrywką, powstałych w oryginalnych plikach WZ i źródłach serwera, zostało częściowo lub całkowicie rozwiązanych. Rozważenie użycia dostarczonych edytowanych plików WZ i plików wz.xml po stronie serwera powinno być najważniejsze przy zajmowaniu się tą instancją prywatnego serwera, w celu postrzegania go w pełni jego potencjału. Ale to tylko moje zdanie! Odnieś się do „README_wzchanges.txt”, aby uzyskać więcej informacji na temat tego, co zostało zmienione z plików WZ Nexon v83.

Głównym celem tego projektu jest próba jak najlepszego odtworzenia tego, co kiedyś było oryginalnym MapleStory v83, dodając jednocześnie kilka smaczków, które urozmaicają rozgrywkę. Innymi słowy, dążenie do uzyskania tego, co najlepsze w MapleStory z tamtej epoki.

Przedmioty do pobrania

Pliki serwera: https://github.com/ronancpl/MapleSolaxiaV2

Pliki klienta &narzędzia ogólne: https://drive.google.com/drive/folders/0BzDsHSr-0V4MYVJ0TWIxd05hYUk

Darowizna

Jeśli podobało Ci się to, co zobaczyłeś w projekcie, przekaż małe co nieco jako pomoc dla mojego wkładu w rozwój Maple.Paypal: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=3K8KVTWRLFBQ4

Przygotowanie otoczenia

Poniższy link uczy jak zainstalować prywatny serwer MapleStory v83, jednak różni się on tym co jest tutaj używane: http://forum.ragezone.com/f428/maplestory-private-server-v83-741739/

Używaj tego linku TYLKO JAKO ORIENTACJI, gdzie tutaj rzeczy zaczynają być niejednoznaczne.

Po pierwsze, zainstaluj wszystkie ogólne narzędzia wymagane do uruchomienia serwera:

  • WampServer2.0i.exe -> odbiorcę serwera.
  • hamachi.msi -> używany do ustanawiania trasy tunelowania dla komunikacji serwer-klient.
  • mysql-query-browser-1.1.20-win.msi -> komponent serwera MySQL, będzie przechowywać DB serwera.

Teraz zainstaluj Java 7 Development Kit:

  • jdk-7u79-windows-x64.exe
  • netbeans-8.0.2-javase-windows.exe -> To jest projekt NetBeans, używaj innych IDE na własne ryzyko.

Overwrite whenever prompted with the JAR files under „jce_policy-7/UnlimitedJCEPolicy” in these Java folders:

  • C:7.0_01\lib
  • C:\Program Files\Java\jdk1.7.0_01\lib
  • C:\Program Files\Java\jdk1.7.0_01\lib\ext
  • C:\Program Files\Java\jdk1.7.0_01\jrelib\security

Teraz, gdy narzędzia zostały zainstalowane, przetestuj czy działają.

Dla WampServera:Po zakończeniu instalacji uruchom go, a zobaczysz ikonę Wampa w prawym dolnym rogu.Kliknij na niej lewym przyciskiem myszy i kliknij 'Put Online’.W przypadku ORANGE ICON, zmień port 80 w „httpd.conf” na inny, ponieważ koliduje on z domyślnym portem Windows.Następnie kliknij na niej ponownie lewym przyciskiem myszy i kliknij 'Start All Services’.Ikona Wampa musi wyglądać całkowicie zielono (jeśli jest pomarańczowa lub czerwona, masz problem).

Dla Hamachi:Spróbuj ją otworzyć. To takie proste.Hamachi jest jednak opcjonalne. Nie musisz instalować Hamachi, jeśli chcesz stworzyć serwer tylko do użytku na własnej maszynie. Jeśli jednak chcesz umożliwić innym graczom dostęp do serwera, rozważ alternatywne użycie metod przekierowywania portów.

Instalacja SERWERA

Umieść folder „MapleSolaxia” w wybranym przez siebie miejscu. Zalecane jest użycie „C:\Nexon\MapleSolaxia”.

Ustawianie SQL: otwórz MySQL Query Browser, i zdefiniuj te parametry przy starcie i kliknij OK:Server Host: localhostPort: 3306Username: root

Teraz należy to zrobić OSTROŻNIE:

  1. File -> Open Script…. -> Wyszukaj „C:\Nexon\MapleSolaxia\sql” -> db_database.sql, i wykonaj go.
  2. File -> Open Script… -> Wyszukaj „C:\Nexon\MapleSolaxia\sql” -> db_drops.sql, i wykonaj go.

Teraz jest to OPCJONALNE, nie musisz go uruchamiać, jeśli nie chcesz, ponieważ po prostu zmieni niektóre sklepy NPC, aby ustawić niektóre nowe towary, nieobecne w oryginalnym MapleStory, do sprzedaży:

  1. Plik -> Open Script…. -> Wyszukaj „C:\Nexon\MapleSolaxia\sql” -> db_shopupdate.sql, i wykonaj go.

Po wykonaniu tych SQL-ów, powinieneś mieć zainstalowany schemat bazy danych o nazwie „maplesolaxia”. ZAREJESTRUJ SWOJE PIERWSZE KONTO, które będzie używane w grze, tworząc ręcznie wpis w tabeli „accounts” w tej bazie danych z loginem i hasłem.

Skonfiguruj IP, którego chcesz używać dla swojego serwera MapleStory w pliku „configuration.ini”, lub ustaw go jako „localhost”, jeśli chcesz go uruchomić tylko na swoim komputerze. Alternatywnie, możesz użyć IP podanego przez Hamachi do użycia w sieci Hamachi, lub możesz użyć metody przekierowania portów innej niż Hamachi. Ani jedno, ani drugie nie będzie tu omawiane.

Teraz otwórz NetBeans i wybierz opcję Otwórz projekt…. Wybierz następnie folder „MapleSolaxia”, który powinien być już projektem rozpoznawalnym przez NetBeans. Jeśli tak nie jest, masz problem.

Wewnątrz projektu możesz napotkać błędy w kodzie. Dzieje się tak, ponieważ nie ustawiłeś jeszcze „rdzeni” projektu. W hierarchii projektu kliknij prawym przyciskiem myszy na projekt i wybierz „Resolve Project Problems”. Zlokalizuj folder „cores” w katalogu głównym projektu i ręcznie skonfiguruj brakujące pliki z tymi, które tam są.

Na koniec, wybierz „Wyczyść i zbuduj projekt” aby zbudować plik JAR dla serwera MapleStory. Po zakończeniu upewnij się, że zarówno WampServer jak i Hamachi są włączone i działają, a następnie wykonaj „launch.bat” w katalogu głównym projektu. Jeśli nie wystąpiły żadne błędy, twój serwer MapleStory jest teraz online.

Instalacja klienta

Konfiguracja klienta jest dość prosta:

  1. Z „ManagerMsv83.exe”, zainstaluj MapleStory w swoim preferowanym folderze (np. „C:\Nexon\MapleStory”) i postępuj zgodnie z instrukcjami.
  2. Po zakończeniu wymaż te pliki: „HShield” (folder), „ASPLauncher.exe”, „MapleStory.exe” i „patcher.exe”.
  3. Wyciągnij do folderu klienta plik „localhost.exe” z Localhostv83.
  4. Nadpisz oryginalne pliki WZ tymi dostarczonymi z folderu „client_wz” na Google Drive.

Jeśli nie używasz „localhost” jako docelowego IP w pliku konfiguracyjnym serwera, będziesz musiał HEX-EDIT „localhost.exe”, aby pobrać swoje IP. Prześledź wszystkie lokalizacje IP wyszukując „Text String” „127.0.0.1” i zastosuj zmiany, gdziekolwiek to pasuje.

Aby dokonać heks-edycji, zainstaluj Neo Hex Editor z „free-hex-editor-neo.exe” i postępuj zgodnie z instrukcjami. Po zakończeniu, otwórz „localhost.exe” do edycji i nadpisz wartości IP pod 3 adresami. Zapisz zmiany i wyjdź z edytora.

Otwórz klienta „localhost.exe”. Jeśli jakimś cudem program się nie otworzył, a sprawdzając logi que servera Twój ping został wysłuchany i używasz Windows 8 lub 10, to prawdopodobnie może to być jakiś problem z kompatybilnością. Wypakuj „lolwut.exe” z „lolwut-v0.01.rar” i umieść go w folderze klienta MapleStory („C:\Nexon\MapleStory”). Twoje ustawienia właściwości „localhost.exe” muszą być zgodne z tymi:

  • Run in compatibility mode: Windows 7;
  • Zaznaczony zredukowany tryb kolorów;
  • Rozdzielczość 640 x 480;
  • Zaznaczone wyłączenie wyświetlania na wysokich ustawieniach DPI;
  • Uruchom jako administrator;
  • Otwierając „lolwut.exe”, użyj metody Fraysa.

Ważne: jeśli klientowi odmawia się połączenia z serwerem gry, może to być spowodowane problemami z zaporą sieciową. Udaj się na koniec tego pliku, aby przejść do włączenia tego połączenia z zaporą komputera. Alternatywnie, można wyłączyć firewall i spróbować otworzyć klienta ponownie.

Ważna uwaga o EDYCJI KLIENTA

NIE UŻYWAJ XML-ów serwera do ponownego importu do WZ klienta, to wygeneruje potem jakieś błędy.

  • Użyj zamiast tego HaRepacker 4.2.4, kodowanie „GMS (old)”.
  • Otwórz żądany WZ do edycji i, używając UI, dokonaj pożądanych zmian.
  • Zapisz zmieniony WZ, nadpisując oryginalną zawartość w folderze klienta.
  • Na koniec, RE-EKSPORTUJ (opcja eksportu „Private Server….” opcja eksportu) zmienione XMLe do plików WZ.XML serwera, nadpisując starą zawartość.

Te kroki są WAŻNE dla zachowania synchronizacji między modułami serwera i klienta.

Jako przykład edycji WZ klienta, rozważ opracowany przeze mnie projekt MobBookUpdate, służący do aktualizacji wszystkich zgłoszonych danych o zrzutach mobów w grze na podstawie aktualnych danych o zrzutach w bazie danych:

  • Otwórz projekt MobBookUpdate w NetBeans, znajdujący się w „C:\Nexon\MapleSolaxia\MobBookUpdate”, i zbuduj go.
  • W podfolderze „lib” skopiuj plik „MonsterBook.img.xml”. To jest z oryginalnego WZ v83.
  • Wklej go do podfolderu „dist”.
  • Wewnątrz „dist”, otwórz wiersz poleceń klikając tam alt+prawym przyciskiem myszy.
  • Wykonaj „java -jar MobBookUpdate.jar”. Spowoduje to wygenerowanie pliku „MonsterBook_updated.img.xml”.
  • Na koniec nadpisz plik „MonsterBook.img.xml” w „C:\Nexon\MapleSolaxia\wz.wz” tym plikiem, zmieniając jego nazwę z powrotem na „MonsterBook.img.xml”.

W tym momencie, Monster Book po stronie serwera został zaktualizowany o aktualny stan danych zrzutu bazy danych. Następnie otwórz program HaRepacker 4.2.2 i załaduj plik „String.wz” z „C:\Nexon\MapleStory”. Usuń węzeł „MonsterBook.img” usuwając go z drzewa hierarchii, a następnie (wbrew temu, co powinno się robić NORMALNIE!) zaimportuj „MonsterBook.img.xml” serwera.

Uważaj, że jest to absolutnie niebezpieczne, jeśli zrobisz to nieostrożnie. Gdy MonsterBook.img nie zawiera w swojej zawartości węzłów danych specyficznych dla klienta, import XML nie wyrządza żadnej szkody. Jednakże, staraj się nie usuwać/reimportować węzłów z plików WZ, ponieważ może to spowodować utratę danych. Użyj interfejsu użytkownika HaRepackera, aby wprowadzić zmiany.

Zapisz zmiany i nadpisz starsze WZ w folderze klienta MapleStory.

Przekazywanie portów do SERWERA

Aby użyć przekazywania portów, musisz mieć uprawnienia do zmiany rzeczy na routerze LAN. Uzyskaj dostęp do routera za pomocą przeglądarki internetowej. Adresy URL różnią się w zależności od producenta. Aby go odkryć, otwórz wiersz poleceń i wpisz „ipconfig” i poszukaj pola „default gateway”. IP pokazany tam jest adres URL potrzebny do uzyskania dostępu do routera. Również szukać IP podane do maszyny (aka „IPv4 adres” pole), który będzie serwer jeden.

Domyślny login/hasło również różni się, więc użyj link http://www.routerpasswords.com/ jako odniesienie. Zazwyczaj login jako „admin” i hasło jako „password” kończy zadanie dobrze.

Teraz zalogowałeś się do systemu routera, poszukaj czegokolwiek związanego z portforwardingiem. Jeśli system zapyta cię między portforwarding i portriggering, wybierz pierwszy, to jest to, co będziemy używać.

Teraz, to jest potrzebne, aby włączyć odpowiednie porty dla Internetu. W przypadku MapleSolaxia, należy otworzyć porty od 7575 do 7575 + (liczba kanałów) oraz port 8484. Utwórz nową usługę niestandardową, która włączy ten zakres portów dla kanału serwera i zdecyduj się na użycie protokołów TCP/UDP. Wreszcie, utwórz niestandardową usługę teraz do korzystania z portu 8484.

Opcjonalnie, jeśli chcesz hostować stronę internetową, portforward port 80 (port HTTP), jak również.

To nie jest jeszcze zrobione, czasami zapory blokują połączenia między siecią LAN i Internet. Aby temu zaradzić, należy stworzyć reguły dla firewalla, które będą zezwalały na takie połączenia. Poszukaj opcji zaawansowanych w zaporach sieciowych na swoim komputerze i utwórz dwie reguły (jedną wychodzącą i jedną przychodzącą).

Reguły te muszą być ukierunkowane na „jedną aplikację”, „włącz połączenia” i muszą być ukierunkowane na klienta MapleStory (aka localhost).

Po tych wszystkich krokach, proces przekierowania portów powinien być zakończony.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.