Como instalar o API athena-web-service para hexed 2020+

Bom, muitas pessoas infelizmente não conseguiram por online, por alguma sorte na minha primeira tentativa eu consegui, mas não foi fácil, então nesse tutorial vou explicar como você poderá instala-lo passo a passo:

Atualmente eu uso um windows 7 64 bits, então caso não funcione no seu pc, eu realmente não sei como ajudar, talvez você precise de um suporte particular ou algo do tipo.

obs: eu testei apenas em localhost,
obs2: não se assuste com o tamanho do post, na pratica se torna algo rapido e fácil, é porque eu explico demais!

Os links necessários para esse tutorial você encontrará aqui:

Usei o ultimo nemo: https://gitlab.com/4144/Nemo/
O GetComposer (php) https://getcomposer.org/download/
Github do api da secretdataz: https://github.com/secretdataz/athena-web-service

logo abaixo eu também vou por as prints de cada um e talvez um vídeo (porém estará em português, mas pode apenas ver o video caso você seja de outro local.)

bom vamos lá:

baixei o composer em:

depois instala normal como um programa (para todos os usuarios eu escolhi)

também baixei o nemo mais atual para pegar os patchers necessários

por fim o projeto do API


apos baixar o api veio dessa forma:


Abra o CMD NA PASTA (prompt de comando do windows)
obs: precisa que abra na pasta, veja no google caso não saiba.

digite: composer install

vai instalar varias coisas e vai pedir no final para dar um composer fund (nao sei se é necessário, mas eu fiz)

agora abra o arquivo .env.example e edite isso:


http://

E configure apenas as partes importantes por enquanto:

APP_URL=http://127.0.0.1:8000/ – 8000 é a porta do artisan o api que voce vai ligar depois..

o db você configura como configura o flux ou o phpmyadmin.

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=ragnarok
DB_USERNAME=ragnarok
DB_PASSWORD=ragnarok


Aqui você coloca o nome identico ao seu rAthena (na pasta conf tem o nome do server lá, padrão vem rAthena)
ATHENA_ALLOWED_WORLDS=rAthena

o que eu tive um pouco de dificuldade foi na hora de criar o arquivo .env
o windows não aceita renomear o .env.example então eu criei um .bat

renomiei o arquivo .env.exemplo para env
dessa forma no bat eu botei: rename env .env

basicamente ele fez renomear de env para .env para consegui usar o artisan

agora nosso arquivo .env existe, então podemos prosseguir para usar esse comando (você pode usar o mesmo CMD prompt caso não fechou ainda)

digite o comando: php artisan key:generate

ele vai gerar uma key automaticamente no arquivo .env assim:

APP_KEY=base64:62zQ4OJ3BnMmAZ15QlrQwqoAFzkFXwSnKwrDRpjmUWA=


obs: não compartilhe sua api key com ninguém, porque podem invadir seu banco de dados, esse é apenas de exemplo.

agora digite o comando no prompt assim: php artisan migrate

ele vai criar varios banco de dados no seu phpmyadmin, dentro do banco de dados do ragnarok, para você ter certeza que deu certo procure no seu phpmyadmin em ragnarok por: web_service, significa que importou tudo certo.

agora vamos copiar toda a pasta para seu xamp o local é:

C:\xampp\htdocs\athena (eu renomiei para athena a pasta)

agora crie um .bat chamado start_php.bat com essa linha:

php artisan serve –host 127.0.0.1


Agora vamos configurar o client:

Vá até a pasta do seu client e veja a pasta data, se possui a pasta chamada luafiles514

obs: Certifique que seu client esteja lendo a pasta data primeiro OU a grf, isso é importante saber.

siga esses passos para saber qual está lendo primeiro: ligue seu emulador e entre no jogo, se tiver tudo entrando, então extraia da grf e coloque o sclientinfo.xml na pasta data e altere o ip para qualquer coisa 125.0.0.1, se caso não conectar no seu servidor apos ligar o xampp e o seu emulador, significa que a sua pasta data esta lendo primeiro que a grf, isso é bom para testes, pois você não precisa mudar tudo para a GRF sempre que quiser testar algo.

Note que pode ter várias grfs em seu client e todas as grfs podem conter os mesmos conteúdos, para saber qual ta lendo você abre o DATA.INI e veja, por exemplo

[Data]
0 = grfcustom.grf
1 = data.grf
2 = rdata.grf

se a grfcustom.grf tiver um sclientinfo.xml é esse arquivo que esta lendo primeiro do que os demais de outras grfs, então os outros não importam, pode até excluir se tiver arquivos duplicados, eles só seriam uteis se caso o seu não fosse possivel ler então ele iria ler a proxima 1 = data.grf e se caso a data.grf não fosse possivel ler também, ele pularia para ler a 2… e assim por diante. (sempre nessa ordem)

agora que você sabe qual é o local que ta lendo primeiro, digamos que seja sua pasta data que esteja lendo antes das grf, então vamos extrair da GRF a pasta service_korea dentro da pasta data\luafiles514\lua files\ (na minha ja tinha essa pasta porque eu mexo nela toda hora, então caso a sua não tiver, extraia da grf como eu disse) é muito importante isso que vou dizer:

cuidado com grf multiplas, porque algumas grf como a do KRO, usam 2 pastas chamadas luafiles514, sendo que uma é Luafiles514, o que muda nas duas é que possui arquivos em uma e em outra possui outros arquivos, assim elas se complementam ingame e não falta nada, mas nós só vamos usar 1 unico arquivo.

Voltando para o que eu estava escrevendo ali em cima, você vai extrair a service_korea, porém o seu pode esta lendo dependendo do diff que você usou, pode esta lendo a service_brasil, service_america… ETC…, agora você precisa “descobrir” qual é a que esta lendo realmente. (nao basta ter ali, tem que funcionar)

*passei 1 hora modificando arquivo arquivo errado e depois notei que meu client não estava lendo o arquivo que eu modificava, por isso nunca funcionava.

No nemo eu selecionei um patch que aplica para todos os langtypes um unico serviço, então ele se torna o SERVICE_KOREA, mas não é necessário, só se voce nao quiser perder tempo em procurar.

Para aqueles que querem procurar, é o seguinte:

Renomeie para qualquer coisa todos os services_ e deixa apenas 1 que você acredita que ta funcionando * CERTIFIQUE-SE DE EXCLUIR ESSAS PASTAS DE TODAS AS GRFS para não ter chance nenhuma de você achar que é uma pasta e na verdade estava lendo da grf e você fez tudo a toa.

diagmos então que tenha

Service_brazil
Service_korea

— renomear:

Service_brazil_1
Service_korea

você renomeou para Service_brazil_1 porque acredita que é a korea que esta lendo, e entrou no jogo! OK perfeito, pode excluir a brazil que agora você tem certeza qual é a pasta que ta certa, mas dentro da pasta korea tem 2 arquivos:

ExternalSettings_kr_sak.lub
ExternalSettings_kr.lub


mesma coisa, renomeia e entra no jogo e se logar tudo ok, você exclui a que renomeou (se caso o seu tiver apenas 1 arquivo, nem precisa testar, ja sabe que é o correto)

é mais provavel que seja a: ExternalSettings_kr.lub pelo menos no meu caso, então digamos que sim, abra ele com o notepad++ ou qualquer editor de texto e veja as linhas:

AccountLinkedUserDataUrl = {
Save = “http://0.0.0.1:3000/userconfig/save”,
Load = “http://0.0.0.0:3000/userconfig/load”
}
TwitterDataUrl = {
Auth = “http://0.0.0.0:3000/twitter/user-auth”,
Upload = “http://0.0.0.0:3000/twitter/upload”
}
EmblemDataUrl = {
Upload = “http://0.0.0.0:3000/emblem/upload”,
Download = “http://0.0.0.0:3000/emblem/download”
}


os caminhos eles continuam os mesmos, o que muda é o IP:

então vai ficar assim: (lembrando que 8000 é a porta do Artisan)

AccountLinkedUserDataUrl = {
Save = “http://127.0.0.1:8000/userconfig/save”,
Load = “http://127.0.0.1:8000/userconfig/load”
}
TwitterDataUrl = {
Auth = “http://mywebsite.com:8000/twitter/user-auth”,
Upload = “http://mywebsite.com:8000/twitter/upload”
}
EmblemDataUrl = {
Upload = “http://127.0.0.1:8000/emblem/upload”,
Download = “http://127.0.0.1:8000/emblem/download”
}


Agora você precisa abrir o nemo e será o ultimo passo!

abrindo o nemo você vai procurar exatamente por esse patch nos filtros, o resto você escolhe exatamente como você sempre usa, mas esse é necessário, se não o tiver não funcionará! (apenas o ultimo nemo possui ele)

Enable HTTP Emblem on Ragexe (Enable) ativo


o seu client ja esta tudo pronto para funcionar! mas para testar o link você pode fazer o seguinte, para ver que esta tudo certo:

vai lá na pasta do xampp que esta o athena e abra o start_php.bat que você fez antes, lembra?

vai ficar dessa forma:

você pode clicar em qualquer link e receberá essa mensagem no navegador:

http://127.0.0.1:8000/emblem/download

como eu cliquei através do link ele vai dizer que esta funcionando mas o método não é o correto, e porque? porque não é para ele coletar imagens com o url, e sim através de um botão no jogo, se eu clicar no link a unica coisa que ele vai pegar é a imagem do favicon.ico da pagina da web que eu abri (mas apenas para testar esta correto)

Agora vamos testar ingame e ve se o client foi configurado correto, se sim, você vai ver uma mensagem como essa de cima, porém dessa forma:

e não esqueça de por os emblemas na pasta Emblem

pode demorar uns segundos até ele conectar no api:

quando eu clico em um emblema eu recebo isso:


Uma ultima observação: no .env tem um arquivo que você precisa adicionar no seu emulador lá veio com problema então eu arrumei para todos arqui:

//Add the script in resources/scripts/rAthena/woe_status.txt to your server to use this feature

no proprio api vai até resources/scripts/rAthena/woe_status.txt

vai achar esse script:

porém vai da erro na ultima linha, então eu ja vou colar aqui e você so substitui:

query_sql “UPDATE web_service SET woe=” + .@status + “WHERE key =’woe'”;

*talvez a secretz escreveu rapido demais e errou, mas eu corrigi.

Bom é isso aiii !! quando eu gravar o video tudo ficará lá no inicio o link 🙂