Sviluppatore freelancer: Ronan C. P. Lana
Crediti vanno dati anche alla Nexon (Duh!), allo staff originale di MapleSolaxia e ad altri collaboratori, dato che solo alcune modifiche/patches sul gioco sono state applicate da me, in cui alcune di esse divergono dal contenuto della patch originale v83.
Per quanto riguarda la distribuibilità e l’uso del codice presentato qui: come era prima, questo server MapleStory è open-source. Con questo, si intende che chiunque è libero di installare, usare, modificare e ridistribuire i contenuti, a patto che non vi sia alcun tipo di commercio coinvolto e che i crediti ai creatori originali siano mantenuti all’interno dei codici.
Questo è un progetto NetBeans 8.0.2, che DEVE essere costruito ed eseguito sotto JDK/JRE 7 per poter funzionare correttamente. Questo significa che è più facile installare il progetto aprendo la cartella del progetto server all’interno dell’IDE di NetBeans. Una volta installato, costruisci questo progetto sulla tua macchina ed esegui il server usando l’applicazione “launch.bat”.
In questo progetto, molti problemi di gameplay generati dai file WZ originali e dai sorgenti del server sono stati parzialmente o completamente risolti. Considerare l’uso delle WZ modificate fornite e dei file wz.xml lato server dovrebbe essere della massima importanza quando si tratta di questa istanza di server privato, al fine di percepirlo al suo pieno potenziale. La mia opinione, però! Fare riferimento a “README_wzchanges.txt” per ulteriori informazioni su ciò che è stato cambiato dai file WZ di Nexon v83.
L’obiettivo principale di questo progetto è quello di cercare il meglio possibile per ricreare ciò che una volta era l’originale MapleStory v83, mentre l’aggiunta di alcuni sapori che condisce il gameplay. In altre parole, puntare a ottenere il meglio del MapleStory di quell’epoca.
Scarica gli elementi
File del server: https://github.com/ronancpl/MapleSolaxiaV2
File client &strumenti generali: https://drive.google.com/drive/folders/0BzDsHSr-0V4MYVJ0TWIxd05hYUk
Donazione
Se ti è piaciuto quello che hai visto sul progetto, dona qualcosina come aiuto per i miei contributi allo sviluppo di Maple: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=3K8KVTWRLFBQ4
Preparazione dell’ambiente
Il seguente link insegna come installare un server privato di MapleStory v83, tuttavia è diverso da quello che viene usato qui: http://forum.ragezone.com/f428/maplestory-private-server-v83-741739/
Utilizzare quel link SOLO COME ORIENTAMENTO su dove qui le cose iniziano a diventare ambigue.
Prima di tutto, installare tutti gli strumenti generali necessari per far funzionare il server:
- WampServer2.0i.exe -> destinatario del server.
- hamachi.msi -> usato per stabilire un percorso di tunnelling per la comunicazione server/client.
- mysql-query-browser-1.1.20-win.msi -> componente server MySQL, memorizzerà il DB del server.
Ora installa il Java 7 Development Kit:
- jdk-7u79-windows-x64.exe
- netbeans-8.0.2-javase-windows.exe -> È un progetto NetBeans, usa altri IDE a tuo rischio.
Sovrascrivi quando richiesto con i file JAR sotto “jce_policy-7/UnlimitedJCEPolicy” in queste cartelle Java:
- C:\C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C:C.I.A.P.P.P.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
Ora che gli strumenti sono stati installati, prova se funzionano.
Per WampServer:Una volta che hai finito di installarlo, eseguilo e vedrai l’icona di Wamp in basso a destra.In caso di ICONA ARANCIONE, cambiate la porta 80 in “httpd.conf” con un’altra, perché si scontra con una porta predefinita di Windows.Poi cliccate di nuovo a sinistra e cliccate su “Avvia tutti i servizi”.L’icona Wamp deve essere completamente verde (se è arancione o rossa, avete un problema).
Per Hamachi:Provate ad aprirlo. È così semplice.Hamachi è opzionale, però. Non devi installare Hamachi se vuoi fare il server solo per l’uso sulla tua macchina. Tuttavia, se vuoi permettere ad altri giocatori di accedere al tuo server, considera in alternativa l’uso di metodi di port-forwarding.
Installazione del SERVER
Imposta la cartella “MapleSolaxia” in un posto di tua preferenza. Si raccomanda di usare “C:\Nexon\MapleSolaxia”.
Impostazione dell’SQL: aprire MySQL Query Browser, e definire questi parametri all’avvio e cliccare OK:Server Host: localhostPort: 3306Username: root
Ora deve essere fatto ATTENTAMENTE:
- File -> Open Script… -> Cerca “C:\Nexon\MapleSolaxia\sql” -> db_database.sql, ed eseguilo.
- File -> Apri Script… -> Cerca “C:\Nexon\MapleSolaxia\sql” -> db_drops.sql, ed eseguirlo.
Ora è FACOLTATIVO, non c’è bisogno di eseguirlo se non si vuole, in quanto cambierà semplicemente alcuni negozi NPC per impostare alcune nuove merci, non presenti nel MapleStory originale, da vendere:
- File -> Open Script… -> Cerca “C:\Nexon\MapleSolaxia\sql” -> db_shopupdate.sql, ed eseguilo.
Al termine dell’esecuzione di questi SQL, dovresti aver installato uno schema di database chiamato “maplesolaxia”. REGISTRA IL TUO PRIMO ACCOUNT da usare in gioco creando manualmente una voce sulla tabella “accounts” in quel database con un login e una password.
Configura l’IP che vuoi usare per il tuo server di MapleStory nel file “configuration.ini”, o impostalo come “localhost” se vuoi farlo funzionare solo sulla tua macchina. In alternativa, puoi usare l’IP dato da Hamachi da usare su una rete Hamachi, o puoi usare un metodo non-Hamachi di port-forwarding. Nessuno dei due verrà affrontato qui.
Ora aprite NetBeans, e scegliete Open a project… Seleziona quindi la cartella “MapleSolaxia”, che dovrebbe essere già un progetto riconoscibile da NetBeans. Se non lo è, hai un problema.
All’interno del progetto, potresti incontrare alcuni errori di codice. Questo accade perché non hai ancora impostato i “core” del progetto. Dalla gerarchia del progetto, cliccate con il tasto destro sul progetto e selezionate “Resolve Project Problems”. Individua la cartella “cores” all’interno della directory principale di questo progetto e configura manualmente i file mancanti con i file che sono lì.
Infine, seleziona “Clean and Build project” per costruire il file JAR per il server MapleStory. Una volta fatto, assicuratevi che sia WampServer che Hamachi siano accesi e funzionanti, e poi eseguite “launch.bat” nella root del progetto. Se nessun errore è stato sollevato da questa azione, il tuo server di MapleStory è ora online.
Installare il CLIENT
La configurazione del client è abbastanza semplice:
- Da “ManagerMsv83.exe”, installate MapleStory nella vostra cartella di preferenza (per esempio “C:\Nexon\MapleStory”) e seguite le loro istruzioni.
- Una volta fatto, cancellate questi file: “HShield” (cartella), “ASPLauncher.exe”, “MapleStory.exe” e “patcher.exe”.
- Estrai nella cartella del client il “localhost.exe” da Localhostv83.
- Scrivi i file WZ originali con quelli forniti dalla cartella “client_wz” su Google Drive.
Se non state usando “localhost” come IP di destinazione sul file di configurazione del server, avrete bisogno di HEX-EDIT “localhost.exe” per recuperare il vostro IP. Rintracciate tutte le posizioni IP cercando “Text String” “127.0.0.1”, e applicando le modifiche ovunque vada bene.
Per fare l’hex-edit, installate il Neo Hex Editor da “free-hex-editor-neo.exe” e seguite le loro istruzioni. Una volta fatto, aprite “localhost.exe” per la modifica e sovrascrivete i valori IP sotto i 3 indirizzi. Salvate le modifiche e uscite dall’editor.
Aprite il client “localhost.exe”. Se in qualche modo il programma non si è aperto, e controllando que server log il vostro ping è stato ascoltato e state usando Windows 8 o 10, probabilmente potrebbe essere qualche problema di compatibilità. Estrai “lolwut.exe” da “lolwut-v0.01.rar” e mettilo nella cartella del client di MapleStory (“C:\Nexon\MapleStory”). Le impostazioni delle proprietà di “localhost.exe” devono seguire queste:
- Esegui in modalità compatibilità: Windows 7;
- Modalità colore ridotta non selezionata;
- Risoluzione 640 x 480;
- Non selezionata disabilita la visualizzazione su impostazioni DPI elevate;
- Esegui come amministratore;
- Apertura di “lolwut.exe”, utilizzare il metodo di Fraysa.
Importante: se il client viene rifiutato di connettersi al server di gioco, potrebbe essere perché problemi di firewall. Andate alla fine di questo file per procedere ad abilitare questa connessione con il firewall del computer. In alternativa, si può disattivare il firewall e provare ad aprire di nuovo il client.
Nota importante sull’EDITING DEL CLIENTE
NON UTILIZZARE gli XML del server per reimportare nella WZ del client, dopo genererà qualche tipo di bug.
- Utilizzare invece l’HaRepacker 4.2.4, codifica “GMS (old)”.
- Aprire la WZ desiderata per la modifica e, UTILIZZANDO l’UI, apportare le modifiche desiderate.
- Salvare la WZ modificata, sovrascrivendo il contenuto originale nella cartella del client.
- Infine, riesportare (opzione “Private Server…”) gli XML modificati nei file WZ.XML del server, sovrascrivendo il vecchio contenuto.
Questi passaggi sono IMPORTANTI per mantenere la sincronizzazione tra i moduli server e client.
Come esempio di modifica di WZ client, considera il progetto MobBookUpdate che ho sviluppato, per aggiornare tutti i dati di drop riportati dei mob nel gioco in base ai dati di drop correnti sul database:
- Apri il progetto MobBookUpdate su NetBeans, situato in “C:\Nexon\MapleSolaxia\MobBookUpdate”, e compilalo.
- Nella sottocartella “lib”, copia il file “MonsterBook.img.xml”. Questo viene dall’originale WZ v83.
- Incollalo nella sottocartella “dist”.
- Dentro “dist”, apri il prompt dei comandi con alt+click destro.
- Esegui “java -jar MobBookUpdate.jar”. Genererà un file “MonsterBook_updated.img.xml”.
- Infine, sovrascrivi il “MonsterBook.img.xml” su “C:\Nexon\MapleSolaxia\wz\String.wz” con questo file, rinominandolo in “MonsterBook.img.xml”.
A questo punto, il Monster Book lato server è stato aggiornato con lo stato attuale dei dati di drop del database. Quindi, apri HaRepacker 4.2.2 e carica “String.wz” da “C:\Nexon\MapleStory”. Elimina il nodo “MonsterBook.img” rimuovendolo dall’albero della gerarchia, poi (CONTRARIAMENTE A QUELLO CHE SI DEVE FARE NORMALMENTE!) importa il “MonsterBook.img.xml” del server.
Tieni presente che questo è assolutamente pericoloso se fatto incautamente. Una volta che il MonsterBook.img non contiene dati specifici del cliente nel suo contenuto dei nodi, importare l’XML non causa alcun danno. Tuttavia, cerca di non rimuovere/reimportare i nodi dai file WZ, poiché potrebbe causare perdite di dati. Usa invece l’interfaccia utente di HaRepacker per fare le modifiche.
Salva le modifiche e sovrascrivi il vecchio WZ nella cartella del client di MapleStory.
Portforwarding del SERVER
Per usare il portforward, devi avere il permesso di cambiare le cose sul router LAN. Accedi al tuo router usando il browser Internet. Gli URL variano a seconda del produttore. Per scoprirlo, aprite il prompt dei comandi e digitate “ipconfig” e cercate il campo “default gateway”. L’IP mostrato lì è l’URL necessario per accedere al router. Inoltre, cerca l’IP dato alla tua macchina (campo “indirizzo IPv4”), che sarà quello del server.
Anche il login/password di default varia, quindi usa il link http://www.routerpasswords.com/ come riferimento. Di solito, il login come “admin” e la password come “password” completano bene il compito.
Ora che sei entrato nel sistema del router, cerca qualsiasi cosa relativa al portforwarding. Se il sistema vi chiedesse di scegliere tra portforwarding e portriggering, scegliete il primo, è quello che useremo.
Ora, è necessario abilitare le porte giuste per Internet. Per MapleSolaxia, è fondamentalmente necessario aprire le porte da 7575 a 7575 + (numero di canali) e la porta 8484. Crea un nuovo servizio personalizzato che abiliti quella gamma di porte per il canale del server e scegli di usare i protocolli TCP/UDP. Infine, crea ora un servizio personalizzato per utilizzare la porta 8484.
Opzionalmente, se vuoi ospitare una pagina web, inoltra anche la porta 80 (la porta HTTP).
Non è ancora finita, a volte i firewall bloccano le connessioni tra la LAN e Internet. Per superare questo, è necessario creare alcune regole per il firewall per permettere queste connessioni.