Freelancer-udvikler: Ronan C. P. Lana
Krediter skal også gives til Nexon(Duh!), det oprindelige MapleSolaxia personale og andre samarbejdspartnere, da jeg selv har foretaget nogle ændringer/patches på spillet, hvor nogle af dem afveg fra det oprindelige v83 patch indhold.
Med hensyn til distribuerbarhed og brug af den kode, der præsenteres her: Som det var før, er denne MapleStory server open-source. Med det menes, at det står enhver frit for at installere, bruge, ændre og videredistribuere indholdet, så længe der ikke er nogen form for kommerciel handel involveret, og kreditterne til de oprindelige skabere opretholdes i koderne.
Dette er et NetBeans 8.0.2-projekt, der SKAL bygges og køres under JDK/JRE 7 for at kunne køre korrekt. Det betyder, at det er nemmere at installere projektet via åbning af mappen med serverprojektet inde i NetBeans’ IDE. Når det er installeret, skal du bygge dette projekt på din maskine og køre serveren ved hjælp af programmet “launch.bat”.
I dette projekt er mange gameplay-mæssige problemer, der er genereret fra enten de oprindelige WZ-filer og serverkilderne, blevet helt eller delvist løst. At overveje brugen af de medfølgende redigerede WZ’er og server-side wz.xml filer bør være af største vigtighed når man beskæftiger sig med denne instans af privat server, for at opfatte den på sit fulde potentiale. Det er dog min mening! Se “README_wzchanges.txt” for flere oplysninger om hvad der er blevet ændret fra Nexons v83 WZ-filer.
Det primære mål med dette projekt er at forsøge så godt som muligt at genskabe det der engang var det originale MapleStory v83, samtidig med at der tilføjes nogle smagsnuancer der krydrer gameplayet. Med andre ord, at tilstræbe at få det bedste fra MapleStory fra den tid.
Download items
Serverfiler: https://github.com/ronancpl/MapleSolaxiaV2
Klientfiler & generelle værktøjer: https://drive.google.com/drive/folders/0BzDsHSr-0V4MYVJ0TWIxd05hYUk
Donation
Hvis du kunne lide det, du har set på projektet, så donér en lille ting som en hjælpende hånd til mine bidrag til Maple-udviklingen.Paypal: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=3K8KVTWRLFBQ4
Forberedelse af omgivelserne
Det følgende link underviser i hvordan man installerer en MapleStory v83 privat server, dog er DET FORSKELLIGT hvad der bruges her: http://forum.ragezone.com/f428/maplestory-private-server-v83-741739/
Brug dette link KUN som en orientering om, hvor her tingene begynder at blive tvetydige.
Først skal du installere alle de generelle værktøjer, der er nødvendige for at køre serveren:
- WampServer2.0i.exe -> modtageren af serveren.
- hamachi.msi -> bruges til at etablere en tunnelrute for server/klient-kommunikationen.
- mysql-query-browser-1.1.20-win.msi -> MySQL-serverkomponent, vil gemme serverens DB.
Installer nu Java 7 Development Kit:
- jdk-7u79-windows-x64.exe
- netbeans-8.0.2-javase-windows.exe -> Det er et NetBeans-projekt, brug anden IDE på egen risiko.
Overskriv når du bliver bedt om det med JAR-filerne under “jce_policy-7/UnlimitedJCEPolicy” i disse Java-mapper:
- 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
Nu, hvor værktøjerne er blevet installeret, skal du teste, om de virker.
For WampServer:Når du er færdig med at installere det, skal du køre det, og du vil se Wamp-ikonet i nederste højre hjørne.Venstreklik på det og klik på ‘Put Online’.I tilfælde af ORANGE ICON, skal du ændre port 80 på “httpd.conf” til en anden, da den kolliderer med en Windows standardport.Venstreklik derefter på det igen og klik på ‘Start All Services’.Wamp-ikonet skal se helt grønt ud (hvis det er orange eller rødt, har du et problem).
For Hamachi:Prøv at åbne det. Så enkelt er det.Hamachi er dog valgfrit. Du behøver ikke at installere Hamachi, hvis du vil lave serveren kun til brug på din egen maskine. Men hvis du vil lade andre spillere få adgang til din server, så overvej alternativt at bruge port-forwarding-metoder.
Installation af SERVER
Sæt mappen “MapleSolaxia” på et sted efter eget valg. Det anbefales at bruge “C:\Nexon\MapleSolaxia”.
Indstilling af SQL: Åbn MySQL Query Browser, og definer disse parametre ved opstart og klik OK:Server Host: localhostPort: 3306Username: root
Nu skal det gøres FORSIGTIGT:
- Fil -> Open Script… -> Gennemse efter “C:\Nexon\MapleSolaxia\sql” -> db_database.sql, og udfør det.
- Fil -> Åbn Script… -> Gennemse efter “C:\Nexon\MapleSolaxia\sql” -> db_drops.sql, og udfør det.
Nu er det VALGFRI, du behøver ikke at køre det, hvis du ikke vil, da det blot vil ændre nogle NPC-butikker til at indstille nogle nye varer, der ikke findes i det originale MapleStory, til at sælge:
- Fil -> Åbn Script… -> Søg efter “C:\Nexon\MapleSolaxia\sql” -> db_shopupdate.sql, og udfør det.
- Fra “ManagerMsv83.exe” skal du installere MapleStory i din foretrukne mappe (f.eks. “C:\Nexon\MapleStory”) og følge deres instruktioner.
- Når du er færdig, skal du slette disse filer:
- Slet disse filer: “HShield” (mappe), “ASPLauncher.exe”, “MapleStory.exe” og “patcher.exe”.
- Udpak “localhost.exe” fra Localhostv83 til klientmappen.
- Overskriv de originale WZ-filer med dem, der er leveret fra “client_wz”-mappen på Google Drive.
I slutningen af udførelsen af disse SQL’er, skulle du have installeret et databaseskema ved navn “maplesolaxia”. REGISTRER DIN FØRSTE KONTO, der skal bruges i spillet, ved manuelt at oprette en post i tabellen “accounts” i denne database med et login og en adgangskode.
Konfigurer den IP, du ønsker at bruge til din MapleStory-server i filen “configuration.ini”, eller indstil den som “localhost”, hvis du kun ønsker at køre den på din maskine. Alternativt kan du bruge den IP, som Hamachi har givet dig til brug på et Hamachi netværk, eller du kan bruge en ikke-Hamachi metode til portforwarding. Ingen af delene vil blive behandlet her.
Åbn nu NetBeans, og vælg Åbn et projekt… Vælg derefter mappen “MapleSolaxia”, der allerede skulle være et projekt, der kan genkendes af NetBeans. Hvis det ikke gør det, har du et problem.
Inden for projektet kan du støde på nogle kodefejl. Disse sker, fordi du endnu ikke har indstillet “cores” i projektet. Fra projekthierarkiet skal du højreklikke på projektet og vælge “Resolve Project Problems”. Find mappen “cores” i projektets rodmappe, og konfigurer manuelt de manglende filer med de filer, der findes der.
Slutteligt skal du vælge “Clean and Build project” for at opbygge JAR-filen til MapleStory-serveren. Når det er gjort, skal du sørge for, at både WampServer og Hamachi er tændt og fungerer, og derefter udføre “launch.bat” på roden af projektet. Hvis der ikke blev rejst nogen fejl ved denne handling, er din MapleStory-server nu online.
Installation af CLIENT
Klientens opsætning er ganske ligetil:
Hvis du ikke bruger “localhost” som mål-IP på serverens konfigurationsfil, skal du HEX-ÆNDRE “localhost.exe” for at hente din IP. Spor alle IP-placeringer ved at søge efter “Text String” “127.0.0.0.1”, og anvend ændringerne, hvor det passer.
For at hex-redigere skal du installere Neo Hex Editor fra “free-hex-editor-neo.exe” og følge deres instruktioner. Når det er gjort, skal du åbne “localhost.exe” til redigering og overskrive IP-værdierne under de 3 adresser. Gem ændringerne, og afslut editoren.
Åbn klienten “localhost.exe”. Hvis programmet på nogen måde ikke blev åbnet, og du tjekker que server log din ping er blevet lyttet, og du bruger Windows 8 eller 10, kan det sandsynligvis være et eller andet kompatibilitetsproblem. Udpak “lolwut.exe” fra “lolwut-v0.01.rar” og placer den i MapleStory-klientmappen (“C:\Nexon\MapleStory”). Dine “localhost.exe”-egenskabsindstillinger skal følge disse:
- Kør i kompatibilitetstilstand: Windows 7;
- Uafkrydset reduceret farvemodus;
- 640 x 480 opløsning;
- Uafkrydset deaktivere visning ved høje DPI-indstillinger;
- Kør som administrator;
- Opning af “lolwut.exe”, brug Fraysas metode.
Vigtigt: Hvis klienten bliver nægtet at oprette forbindelse til spilserveren, kan det skyldes firewallproblemer. Gå til slutningen af denne fil for at fortsætte til at aktivere denne forbindelse med computerens firewall. Alternativt kan man deaktivere firewallen og prøve at åbne klienten igen.
Vigtig bemærkning om CLIENT EDITING
Du må IKKE BRUGE serverens XML’er til reimport i klientens WZ, det vil generere en eller anden form for fejl bagefter.
- Brug i stedet HaRepacker 4.2.4, kryptering “GMS (old)”.
- Åbn den ønskede WZ til redigering, og FORANSTALT UI’et, foretag de ønskede ændringer.
- Spar den ændrede WZ, og overskriv det oprindelige indhold i klientmappen.
- Slutteligt, RE-EXPORTÉR (“Private Server…” eksportmulighed) de ændrede XML-filer til serverens WZ.XML-filer og overskriver det gamle indhold.
Disse trin er VIGTIGT for at opretholde synkroniseringen mellem server- og klientmodulerne.
Som et eksempel på klient WZ-redigering kan du overveje MobBookUpdate-projektet, som jeg har udviklet, til opdatering af alle rapporterede dropdata for mobs i spillet baseret på de aktuelle dropdata i databasen:
- Åbn MobBookUpdate-projektet i NetBeans, der ligger på “C:\Nexon\MapleSolaxia\MobBookUpdate”, og opbyg det.
- I undermappen “lib” skal du kopiere filen “MonsterBook.img.xml”. Denne er fra den originale WZ v83.
- Sæt den ind i undermappen “dist”.
- Inden for “dist” skal du åbne kommandoprompten ved at alt+højreklikke på den.
- Udfør “java -jar MobBookUpdate.jar”. Det vil generere en “MonsterBook_updated.img.xml”-fil.
- Til sidst skal du overskrive “MonsterBook.img.xml” på “C:\Nexon\MapleSolaxia\wz\String.wz” med denne fil og omdøb den tilbage til “MonsterBook.img.xml”.
På dette tidspunkt er monsterbogen på serversiden blevet opdateret med den aktuelle tilstand af databasens dropdata. Åbn derefter HaRepacker 4.2.2.2, og indlæs “String.wz” fra “C:\Nexon\MapleStory”. Drop “MonsterBook.img”-knuden ved at fjerne den fra hierarkietræet, og importer derefter (I FORHINDELSE AF HVAD DER SKAL GØRES NORMALT!) serverens “MonsterBook.img.xml”.
Lær opmærksom på, at dette er absolut farligt, hvis det gøres uopmærksomt. Når MonsterBook.img ikke indeholder klientspecifikke data i sit nodeindhold, forårsager import af XML’en ingen skade overhovedet. Prøv dog ikke at fjerne/reimportere noder fra WZ-filer, da det kan medføre tab af data. Brug i stedet HaRepacker’s UI til at foretage ændringerne.
Spar ændringerne og overskriv den ældre WZ på MapleStory klientmappen.
Portforwarding the SERVER
For at bruge portforward, skal du have tilladelse til at ændre ting på LAN-routeren. Få adgang til din router ved hjælp af internetbrowseren. URL’er varierer i overensstemmelse hermed med producenten. For at finde den skal du åbne kommandoprompten og skrive “ipconfig” og søge efter feltet “default gateway”. Den IP, der vises der, er den URL, der er nødvendig for at få adgang til routeren. Kig også efter den IP, der er givet til din maskine (også kaldet “IPv4 address”-feltet), som vil være serveren.
Det standardlogin/password varierer også, så brug linket http://www.routerpasswords.com/ som reference. Normalt klarer login som “admin” og password som “password” opgaven godt.
Nu er du logget ind i routerens system, find efter noget, der har med portforwarding at gøre. Skulle systemet spørge dig mellem portforwarding og portriggering, skal du vælge det første, det er det, vi skal bruge.
Nu er det nødvendigt at aktivere de rigtige porte til internettet. For MapleSolaxia er det grundlæggende nødvendigt at åbne port 7575 til 7575 + (antal kanaler) og port 8484. Opret en ny brugerdefineret tjeneste, som aktiverer denne række porte for serverens kanal, og vælg at bruge TCP/UDP-protokoller. Endelig skal du nu oprette en brugerdefineret tjeneste til brug af port 8484.
Optionelt, hvis du ønsker at være vært for en webside, skal du også portforwarde port 80 (HTTP-porten).
Det er ikke færdigt endnu, nogle gange vil firewalls blokere forbindelser mellem LAN og internettet. For at overvinde dette er det nødvendigt at oprette nogle regler for firewall’en for at tillade disse forbindelser. Søg efter de avancerede indstillinger med firewalls på din computer, og med den åben skal du oprette to regler (en udgående og en indgående).
Disse regler skal være målrettet “et program”, “aktivere forbindelser” og skal være målrettet din MapleStory-klient (aka localhost).
Efter alle disse trin skulle portforwarding-processen nu være færdig.