Desenvolvedor Freelancer: Ronan C. P. Lana
Os créditos também devem ser dados à Nexon(Duh!), a equipa original do MapleSolaxia e outros colaboradores, pois apenas algumas alterações/patches no jogo foram aplicadas por mim, em que algumas delas divergiram do conteúdo original do patch v83.
Reglar a distribuibilidade e utilização do código aqui apresentado: tal como era antes, este servidor MapleStory é open-source. Com isso, significa que qualquer pessoa é livre para instalar, usar, modificar e redistribuir o conteúdo, desde que não haja nenhum tipo de negociação comercial envolvida e os créditos aos criadores originais sejam mantidos dentro dos códigos.
Este é um projeto NetBeans 8.0.2, que DEVE ser construído e executado sob JDK/JRE 7, a fim de ser executado corretamente. Isto significa que é mais fácil instalar o projeto através da abertura da pasta de projeto do servidor dentro do IDE do NetBeans. Uma vez instalado, construa este projeto em sua máquina e execute o servidor usando o aplicativo “launch.bat”.
Neste projeto, muitos problemas de jogabilidade gerados a partir dos arquivos WZ originais e dos fontes do servidor foram parcial ou completamente resolvidos. Considerando o uso das WZ’s editadas e dos arquivos wz.xml do lado do servidor devem ser da maior importância quando se lida com esta instância do servidor privado, para que se perceba o seu pleno potencial. Minha opinião, no entanto! Consulte “README_wzchanges.txt” para mais informações sobre o que foi alterado dos arquivos Nexon v83 WZ.
O objetivo principal deste projeto é tentar o melhor possível recriar o que antes era o MapleStory v83 original, enquanto adiciona alguns sabores que apimentam a jogabilidade do jogo. Em outras palavras, para tentar obter o melhor do MapleStory daquela época.
Download items
Servidor de arquivos: https://github.com/ronancpl/MapleSolaxiaV2
Arquivos do cliente &Ferramentas gerais: https://drive.google.com/drive/folders/0BzDsHSr-0V4MYVJ0TWIxd05hYUk
Doação
Se você gostou do que viu no projeto, doe um pouco como uma mão amiga para minhas contribuições para o desenvolvimento do Maple.Paypal: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=3K8KVTWRLFBQ4
Preparando o ambiente
O seguinte link ensina como instalar um servidor privado MapleStory v83, no entanto DIFERENCIAS sobre o que é usado aqui: http://forum.ragezone.com/f428/maplestory-private-server-v83-741739/
Utilize esse link SOMENTE COMO UMA ORIENTAÇÃO em que aqui as coisas começam a ficar ambíguas.
Instale primeiro todas as ferramentas gerais necessárias para executar o servidor:
- WampServer2.0i.exe -> destinatário do servidor.
- hamachi.msi -> usado para estabelecer uma rota de tunelização para a comunicação servidor/cliente.
- mysql-query-browser-1.1.20-win.msi -> componente servidor MySQL, irá armazenar o DB do servidor.
Agora instale o Java 7 Development Kit:
- jdk-7u79-windows-x64.exe
- netbeans-8.0.2-javase-windows.exe -> É um projeto NetBeans, use outro IDE por sua própria conta e risco.
Overwrite sempre que solicitado com os arquivos JAR em “jce_policy-7/UnlimitedJCEPolicy” nestas pastas Java:
- C:\Arquivos de programa Java\jre7\lib
- C:\Arquivos de programa Java\jre7\lib\ext
- C:Arquivos de programa Java\jre7\lib\security
- C:Arquivos de programa Java\jdk1.7.0_01\lib
- C:\Arquivos de programa\Java\jdk1.7.0_01\jre\lib
- C:\Arquivos de programa\Java\jdk1.7.0_01\jre\lib\ext
- C:\Arquivos de programa\Java\jdk1.7.0_01\jre\lib\security
Agora as ferramentas tenham sido instaladas, teste se elas estão funcionando.
Para WampServer:Quando terminar de instalá-lo, execute-o e você verá o ícone Wamp no canto inferior direito.No caso de ORANGE ICON, mude a porta 80 em “httpd.conf” para outra, pois ela entra em conflito com uma porta padrão do Windows. Então clique novamente com o botão esquerdo e clique em ‘Start All Services’. O ícone Wamp deve parecer completamente verde (se for laranja ou vermelho, você tem um problema).
Para Hamachi:Tente abri-lo. É que simples.Hamachi é opcional, no entanto. Você não precisa instalar o Hamachi se você quiser fazer o servidor apenas para uso em sua própria máquina. No entanto, se você quiser deixar outros jogadores acessar o seu servidor, considere alternativamente usar métodos de encaminhamento de portas.
Instalar o SERVIDOR
Configure a pasta “MapleSolaxia” em um local de sua preferência. É recomendado para usar “C:\Nexon\MapleSolaxia”.
Configurar o SQL: abra o MySQL Query Browser, e defina estes parâmetros na inicialização e clique OK:Server Host: localhostPort: 3306Username: root
Agora deve ser feito CUIDADO:
- File -> Abrir Script…. -> Procure por “C:\Nexon\MapleSolaxia\sql” -> db_database.sql, e execute-o.
- Arquivo -> Abrir script… -> Procure por “C:\Nexon\MapleSolaxia\sql” -> db_drops.sql, e execute-o.
Agora é OPCIONAL, você não precisa executá-lo se você não quiser, pois ele simplesmente mudará algumas lojas NPC para definir alguns produtos novos, não presentes no MapleStory original, para vender:
- File -> Open Script…. -> Procure por “C:\Nexon\MapleSolaxia\sql” -> db_shopupdate.sql, e execute-o.
No final da execução destes SQLs, você deve ter instalado um esquema de base de dados chamado “maplesolaxia”. REGISTE A SUA PRIMEIRA CONTA para ser usada no jogo criando manualmente uma entrada na tabela “accounts” nessa base de dados com um login e uma senha.
Configure o IP que você quer usar para o seu servidor MapleStory no arquivo “configuration.ini”, ou configure-o como “localhost” se você quiser executá-lo apenas na sua máquina. Alternativamente, você pode usar o IP dado pelo Hamachi para usar em uma rede Hamachi, ou você pode usar um método não-Hamachi de encaminhamento de portas. Nenhum dos dois será abordado aqui.
Agora abra o NetBeans, e escolha Abrir um projeto… Selecione então a pasta “MapleSolaxia”, que já deve ser um projeto reconhecível pelo NetBeans. Se não for, você tem um problema.
Inside the project, você pode encontrar alguns erros de código. Isso acontece porque você ainda não definiu os “núcleos” do projeto. A partir da hierarquia do projeto, clique com o botão direito do mouse no projeto e selecione “Resolver problemas do projeto”. Localize a pasta “cores” dentro do diretório raiz deste projeto e configure manualmente os arquivos que faltam com os arquivos que estão lá.
Finalmente, selecione “Clean and Build project” para construir o arquivo JAR para o servidor MapleStory. Uma vez feito, certifique-se que ambos WampServer e Hamachi estão ligados e funcionando, e então execute “launch.bat” na raiz do projeto. Se nenhum erro foi levantado desta ação, seu servidor MapleStory está agora online.
Instalando o CLIENTE
A configuração do cliente é bem simples:
- From “ManagerMsv83.exe”, instale o MapleStory na sua pasta de preferência (ex. “C:\Nexon\MapleStory”) e siga as suas instruções.
- Apagar estes ficheiros: “HShield” (pasta), “ASPLauncher.exe”, “MapleStory.exe” e “patcher.exe”.
- Extraia para a pasta cliente o “localhost.exe” do Localhostv83.
- Overwrite os arquivos WZ originais com os fornecidos a partir da pasta “client_wz” no Drive do Google.
Se você não estiver usando “localhost” como o IP de destino no arquivo de configuração do servidor, você precisará HEX-EDIT “localhost.exe” para ir buscar seu IP. Rastreie todas as localizações de IP procurando por “Text String” “127.0.0.1”, e aplicando as alterações onde quer que se encaixe.
Para hex-edit, instale o Neo Hex Editor a partir de “free-hex-editor-neo.exe” e siga as suas instruções. Uma vez feito, abra “localhost.exe” para editar e sobrescrever os valores de IP sob os 3 endereços. Salve as alterações e saia do editor.
Abra o cliente “localhost.exe”. Se por algum meio o programa não abriu, e verificando que o log do servidor seu ping foi ouvido e você está usando Windows 8 ou 10, provavelmente pode ser algum problema de compatibilidade. Extraia “lolwut.exe” de “lolwut-v0.01.rar” e coloque-o na pasta do cliente MapleStory (“C:\Nexon\MapleStory”). Suas configurações de propriedade “localhost.exe” devem seguir estas:
- Executar em modo de compatibilidade: Windows 7;
- Desmarcado modo de cor reduzida;
- 640 x 480 resolução;
- Desmarcado desabilitar exibição em configurações altas de DPI;
- Executar como administrador;
- Abrir “lolwut”.exe”, use o método do Fraysa.
Importante: caso o cliente seja recusado a se conectar ao servidor do jogo, pode ser porque há problemas de firewall. Vá até o final deste arquivo para proceder para habilitar esta conexão com o firewall do computador. Alternativamente, pode-se desativar o firewall e tentar abrir o cliente novamente.
Nota importante sobre a EDITAGEM DO CLIENTE
NÃO USE os XMLs do servidor para reimportar para a WZ do cliente, ele irá gerar algum tipo de bug depois.
- Utilizar em vez disso o HaRepacker 4.2.4, criptografia “GMS (antigo)”.
- Abrir a WZ desejada para edição e, USANDO A UI, fazer as alterações desejadas.
- Guardar a WZ alterada, sobrescrevendo o conteúdo original na pasta do cliente.
- Finalmente, RE-EXPORT (“Servidor Privado…” exportando opção) os XMLs alterados nos arquivos WZ.XML do servidor, sobrescrevendo o conteúdo antigo.
Estes passos são IMPORTANTES para manter a sincronização entre os módulos servidor e cliente.
Como um exemplo de edição WZ cliente, considere o projeto MobBookUpdate que desenvolvi, para atualizar todos os dados drop relatados dos mobs no jogo baseado nos dados drop atuais no banco de dados:
- Abrir o projeto MobBookUpdate no NetBeans, localizado em “C:\Nexon\MapleSolaxia\MobBookUpdate”, e construí-lo.
- Na subpasta “lib”, copie o arquivo “MonsterBook.img.xml”. Isto é do original WZ v83.
- Colar na subpasta “dist”.
- Inside “dist”, abra o prompt de comando clicando em alt+right lá.
- Executar “java -jar MobBookUpdate.jar”. Ele irá gerar um arquivo “MonsterBook_updated.img.xml”.
- Por fim, sobrescreva o “MonsterBook.img.xml” em “C:\Nexon\MapleSolaxia\wz\String”.wz” com este arquivo, renomeando-o de volta para “MonsterBook.img.xml”.
Neste ponto, o Livro dos Monstros do lado do servidor foi atualizado com o estado atual dos dados de queda da base de dados. Então, abra o HaRepacker 4.2.2 e carregue “String.wz” de “C:\Nexon\MapleStory”. Solte o nó “MonsterBook.img” removendo-o da árvore hierárquica, depois (CONTRARY TO WHAT SHOULD DONE NORMALLY!) importe o “MonsterBook.img.xml”.
Note que isto é absolutamente perigoso se feito sem cuidado. Uma vez que o “MonsterBook.img” não guarda dados específicos do cliente no seu conteúdo do nó, importar o XML não causa nenhum dano. No entanto, tente não remover/importar nós de arquivos WZ, pois isso pode causar perdas de dados. Use a IU do HaRepacker para fazer as alterações.
Guardar as alterações e sobrescrever a WZ antiga na pasta do cliente MapleStory.
Portforwarding the SERVER
Para usar portforward, você precisará ter permissão para alterar as coisas no roteador LAN. Aceda ao seu router utilizando o browser de Internet. Os URLs variam de acordo com o fabricante. Para o descobrir, abra o prompt de comando e digite “ipconfig” e procure pelo campo “default gateway”. O IP mostrado ali é o URL necessário para acessar o roteador. Procure também o IP dado à sua máquina (campo “endereço IPv4”), que será o servidor um.
O login/password padrão também varia, então use o link http://www.routerpasswords.com/ como referência. Normalmente, login como “admin” e senha como “password” completam bem a tarefa.
Agora você entrou no sistema de roteador, encontre para qualquer coisa relacionada ao encaminhamento de portfólios. Se o sistema lhe pedir entre portforwarding e portriggering, escolha o primeiro, é o que estaremos usando.
Agora, é necessário habilitar as portas certas para a Internet. Para MapleSolaxia, é basicamente necessário abrir as portas 7575 a 7575 + (número de canais) e a porta 8484. Crie um novo serviço personalizado que permita essa gama de portas para o canal do servidor e opte por usar os protocolos TCP/UDP. Finalmente, crie um serviço personalizado agora para usar a porta 8484.
Opcionalmente, se você quiser hospedar uma página web, encaminhe também o porte 80 (a porta HTTP).
Ainda não está feito, às vezes os firewalls irão bloquear as conexões entre a LAN e a Internet. Para superar isso, é necessário criar algumas regras para que o firewall permita essas conexões. Procure as opções avançadas com firewalls no seu computador e, com ele aberto, crie duas regras (uma de saída e outra de entrada).
Estas regras devem ter como alvo “uma aplicação”, “habilitar conexões” e devem ter como alvo o seu cliente MapleStory (também conhecido como localhost).
Após todos estes passos, o processo de encaminhamento de portforwarding deve agora estar completo.