LipESprY

Membro
  • Total de itens

    9
  • Registro em

  • Última visita

Reputação

2 Iniciante

Sobre LipESprY

  1. Pagliahost realmente tá de parabéns sobre o Suporte. Estava hoje mesmo comentando com um amigo sobre isso. Os caras ficam em cima, têm sede em dar suporte. Correm atrás e talz. Sobre a hospedagem do servidor, caiu muito de qualidade quando suspenderam os serviços nacionais. No meu caso, transferiram pro Canadá e não tive opção. MAS antes de mais nada, quando me refiro a queda de qualidade, é justamente o delay que aumenta e é bem visível! Sobre o uptime não posso dizer, pois tive que mudar o host por conta disso... Sobre a proteção DDOS, existem empresas nacionais que já oferecem proteção DDOS na própria camada do datacenter. Daí você acaba não precisando pagar por isso, é padrão do Datacenter. Vê se me acompanha nesse raciocínio: Se vc contrata um serviço, seja Cloud, VPS, etc, e recebe ataques, outros clientes na mesma máquina também serão prejudicados. Daí vem o diferencial de empresas com essa proteção direto no Datacenter... Só dar uma pesquisada que não é difícil encontrar empresas "atentas" com a segurança. Entrar em contato com suporte de cada empresa tb ajuda quando não anunciam tal proteção. Outra questão é que poucas empresas te dão suporte em cima dos emuladores de Ragnarok. Daí fica por conta do administrador cuidar de TUDO...
  2. Testa com essas opções no seu Hexed: 8 Custom Window Title 9 Disable 1rag1 type parameters (Recommended) 13 Disable Ragexe Filename Check (Recommended) 14 Disable Hallucination Wavy Screen (Recommended) 15 Disable HShield (Recommended) 16 Disable Swear Filter 17 Enable Official Custom Fonts 19 Enable Title Bar Menu 20 Extend Chat Box 21 Extend Chat Room Box 24 Fix Camera Angles (Recommended) 28 Increase Headgear ViewID 32 Increase Zoom Out Max 33 Always Call SelectKoreaClientInfo() (Recommended) 35 Read Data Folder First 36 Read msgstringtable.txt (Recommended) 37 Read questid2display.txt (Recommended) 38 Remove Gravity Ads (Recommended) 39 Remove Gravity Logo (Recommended) 40 Restore Login Window (Recommended) 41 Disable Nagle Algorithm (Recommended) 42 Skip Resurrection Buttons 44 Translate Client (Recommended) 47 Use Ragnarok Icon 48 Use Plain Text Descriptions (Recommended) 49 Enable Multiple GRFs (Recommended) 50 Skip License Screen 53 Use Ascii on All Langtypes (Recommended) 61 Disable Packet Encryption (Recommended) 64 @ Bug Fix (Recommended) 73 Remove Hourly Announce (Recommended) 204 Increase Attack Display 74 Increase Screenshot Quality 207 Resize Font 84 Remove Serial Display (Recommended) 86 Only First Login Background 88 Allow space in guild name 90 Enable DNS Support (Recommended) 97 Cancel to Login Window (Recommended) Aproveita e dá uma revisada no seu clientinfo.xml. O meu está assim: <?xml version="1.0" encoding="euc-kr" ?> <clientinfo> <desc>Ragnarok Client Information - Taiwan Version</desc> <servicetype>korea</servicetype> <servertype>sakray</servertype> <connection> <display>Server ^0066FF#1^000000</display> <balloon>by LipESprY</balloon> <desc>Server ^0066FF #1^000000 by LipESprY</desc> <address>[IP/CENSURADO]</address> <port>[PORTA/CENSURADO]</port> <version>45</version> <langtype>1</langtype> <registrationweb>[CP/CENSURADO]</registrationweb> <aid> <admin>[ACCOUNT_ID_ADMIN/CENSURADO]</admin> </aid> <loading> <image>loading00.jpg</image> <image>loading01.jpg</image> </loading> </connection> </clientinfo> Leia linha por linha pra não esquecer de conferir nada, heim. Daí vc faz o seu "baseando-se" no meu. Deve funcionar.
  3. De onde vc tirou os arquivos da sua pasta data? No próprio git do brAthena tem tudo (ou quase) que vc precisa do client-side... Lembrando que os lua-files devem estar em conformidade com o hexed que estais usando.
  4. ajuda

    Até onde sei, o recuar não é influenciado pela Dex, mas sim pela ASPD do personagem e pelo delay (Aftercast delay). E é provável que dependendo da ASPD, não vá ter aquela animação do char cruzando os braços e talz, como acontece com o AD do Creator.
  5. Só diffar com a opção "Skip License Screen" que vai pular essa tela.
  6. NPc

    Justamente. Todas as falas dos NPCs devem ficar armazenadas em strings/array. O antigo e famoso CeresCP tem um esquema parecido. Dá um [email protected] trampo fazer isso, heim.
  7. # Motivação do tutorial: Passei pelo seguinte problema: Ao teleportar, os jogadores estavam caindo em coordenadas (where) não andáveis (no-walkable). Fui buscar uma solução nativa, como já havia feito por volta de 2009 (eAthena/cronus) e percebi que isso só é mencionado muito superficialmente nos tutoriais de adicionar mapas personalizados. Daí, após muitas pesquisas e solucionar meu problema, resolvi trazer isso pra vocês. # Objetivo: Corrigir e/ou atualizar o cache dos mapas do seu servidor. # Qual a função do cache dos mapas (mapcache.dat)? - Ao teleportar-se, o emulador precisa entender quais coordenadas são andáveis. Já pensou se vc tivesse que deixar todos os arquivos do seu mapa junto ao emulador pra ele buscar mapa por mapa toda vez que alguém teleportar-se?! PS: Compilei utilizando um SO Linux (CentOS 7), mas tem pouquíssimas diferenças pra fazer no Windows! # Pré-requisitos: - Todas as GRFs com os mapas devem estar disponíveis no host do seu servidor - pode fazer em outro PC também, desde que tenha um espelho do emulador; - Conhecimento superficial de como compilar o emulador; - Bora! Mãos à obra! AVISO: O tutorial será bem detalhado, de modo que qualquer (ou quase) iniciante possa executar as ações prevista. Se vc é expert (ou quase), basta acompanhar apenas os comandos. #1 - Primeiro passo é preparar/compilar o cache de mapas. Como mencionado, estou utilizando o Linux! Vamos acessar a pasta do emulador: $ cd /home/emulador Como já é de costume, vamos assegurar que tenhamos permissões suficientes pra fazer tudo: # chmod -Rv u+rwx /home/emulador E bora compilar: $ make tools #2 - Vamos agora configurar o arquivo que define onde estão nossas GRFs: grf-files.txt Aqui vamos precisar de um editor de texto. Em algumas distribuições do Linux já vem o nano, vim e/ou etc... Com o nano ficaria assim: $ cd conf/ $ nano grf-files.txt Nesse arquivo, temos que dizer pra ele onde estão nossos mapas. Pode ser a(s) GRF(s), como já dito, ou a própria pasta data. O arquivo tem sua auto-explicação, mas não vou poupar detalhes... Como pré-requisito, eu disse que vc precisa da GRF no servidor. E é aqui q vamos usá-la! Com o arquivo aberto, adicione a linha da(s) GRFs - vamos "supor" que eu tenha 1 GRF do bRO e 1 GRF com meus arquivos customizados. Ambas no mesmo diretório: grf: /home/minhas_grfs/data.grf grf: /home/minhas_grfs/custom_data.grf Agora é só salvar o arquivo (Ctrl+O, Enter, Ctrl+X no nano); ATENÇÃO AQUI: Caaaaaaso a sua GRF seja criptografada, vc vai ter que extrair tudo referente aos mapas. Pra agilizar o processo, extraia tudo que estiver na raiz da pasta data e só a pasta "model" que tem uns arquivos dos mapas lá. Daí economiza seu valioso tempo, já que os arquivos da raiz são bem miúdos... Daí vai ter que alterar o arquivo grf-files.txt conforme a situação: grf: /home/minhas_grfs/data.grf data_dir: /home/minha_data/ Repare que eu não apontei a própria pasta "data", mas sim a pasta "pai" dela. É como se minha pasta data fosse assim: /home/minha_data/data (O arquivo grf-files já explica isso certinho) #3 - Vamos só fazer um backup do arquivo mapcache.dat atual antes de fazer o novo, né?! =) $ cd /home/emulador/db/pre-re/ $ mv mapcache.dat mapcache_backup.dat #4 - Agora é só rodar o mapcache que compilamos e voaláaaa: $ cd /home/emulador $ ./mapcache Prontinho! Tudo filé! Se tudo correu como planejado, vc verá o seguinte no seu console: brAthena Dev.Team apresenta _ _ _ _ | |__ _ __ / \ | |_| |__ ___ _ __ __ _ | '_ \| '__/ _ \| __| '_ \ / _ \ '_ \ / _` | | |_) | | / ___ \ |_| | | | __/ | | | (_| | |_.__/|_|/_/ \_\__|_| |_|\___|_| |_|\__,_| Projeto brAthena (c) 2008 - 2015 www.brathena.org [Info]: brAthena 64-bit for Linux [Info]: Exportado revisao (src): '' [Info]: Exportado revisao (scripts): 'Desconhecido' [Info]: OS versao: 'CentOS Linux release 7.5.1804 (Core) [x86_64]' [Info]: CPU: 'Intel(R) Core(TM) i3-3250 CPU @ 3.50GHz [1]' [Info]: Compilado com GCC v7.3.1 [Info]: Flags ao compilar: -g -O2 -pipe -ffast-math -fvisibility=hidden -Wall -Wextra -Wno-sign-compare -Wno-unused-parameter -Wno-clobbered -Wempty-body -Wint-conversion -Wformat-security -Wno-format-nonliteral -Wno-switch -Wno-missing-field-initializers -Wshadow -fno-strict-aliasing -g -DHAVE_EXECINFO -DMAXCONN=16384 -I../common -DHAS_TLS -DHAVE_SETRLIMIT -DHAVE_STRNLEN -DDEBUG -I/usr/include -DHAVE_MONOTONIC_CLOCK [Aviso]: Voce esta executando o brAthena com privilegios root. Isso nao e necessario. [Sucesso]: inicializando grfio com conf/grf-files.txt [Info]: Arquivo GRF encontrado: '/home/emulador/patch/data.grf' [Sucesso]: Leitura de 'conf/grf-files.txt' finalizada. [Sucesso]: Leitura de '651' entradas em 'data\resnametable.txt'. [Sucesso]: Abrindo mapcache: db/pre-re/map_cache.dat [Noticia]: Existente mapcache nao encontrado, forcando o modo rebuild [Info]: Mapa 'alb_ship' carregado com sucesso. [Info]: Mapa 'alb2trea' carregado com sucesso. [Info]: Mapa 'alberta' carregado com sucesso. [Info]: Mapa 'alberta_in' carregado com sucesso. [...] [Sucesso]: Fechando o mapcache: db/pre-re/map_cache.dat [Sucesso]: Finalizando grfio [Info]: 944 mapas em cache Como ficou explícito, essa solução utiliza apenas as ferramentas nativas do emulador. Vi em vários fóruns que esse procedimento não funciona e a recomendação, na maioria das vezes, é utilizar o tal do WeeMapCache. Mas, como mencionei, fiz isso hoje e solucionou meu problema. E não demorou 15 segundos pra fazer o meu mapcache.dat com 944 mapas. Eu, pessoalmente, prefiro fazer direto com o emulador mesmo. Sem ferramentas de terceiros. Considerando que precisamos de segurança quando estamos gerenciando algum servidor em produção, como é meu caso. A minha recomendação é que vc tenha uma máquina virtual com o mesmo SO do host do seu servidor. Assim, tudo que precisar mexer, faz na máquina virtual e upa pro seu host de produção apenas após fazer os devidos testes. Fiz aqui e upei só o arquivo mapcache.dat pro servidor de produção e reiniciei. Melhor que upar uma grf de quase 2GB (minha net é horrível no quesito upload). Sem mais blablabla, é isso aí! Qualquer coisinha que não correr como previsto, só postar aqui que me esforçarei pra responder sempre q possível.
  8. Direto ao ponto: Passei 3 itens quaisquer pra um jogador (voluntário). Em seguida, ele me passou de volta os 3 mesmos itens. Fiz a consulta no banco de dados e retornou o seguinte: MariaDB [dsro_db]> SELECT * FROM `trade_log` ORDER BY `Date` DESC LIMIT 20; +-------+---------------------+----------+-----------+-------------------------+---------+---------+----------------+-----------+-------------------------+---------+---------+----------------+-----------+--------+-----------+-------------------------+-----------------+-----------+-----------+-----------+-----------+-------------------+ | Index | Date | Mapname | P1_CharID | P1_Name | P1_PosX | P1_PosY | P1_IP | P2_CharID | P2_Name | P2_PosX | P2_PosY | P2_IP | Zeny | ItemID | ItemCount | ItemName | ItemSerial | ItemSlot1 | ItemSlot2 | ItemSlot3 | ItemSlot4 | ItemRefiningLevel | +-------+---------------------+----------+-----------+-------------------------+---------+---------+----------------+-----------+-------------------------+---------+---------+----------------+-----------+--------+-----------+-------------------------+-----------------+-----------+-----------+-----------+-----------+-------------------+ | 2526 | 2018-06-18 18:52:35 | prontera | 157701 | Nö Påin † Nö Gåin | 159 | 183 | xxx.229.81.xxx | 158020 | LipESprY | 160 | 183 | xxx.229.81.xxx | 0 | 0 | 0 | UNKNOWN_ITEM | 0 | 0 | 0 | 0 | 0 | 0 | | 2527 | 2018-06-18 18:52:35 | prontera | 157701 | Nö Påin † Nö Gåin | 159 | 183 | xxx.229.81.xxx | 158020 | LipESprY | 160 | 183 | xxx.229.81.xxx | 0 | 0 | 0 | UNKNOWN_ITEM | 0 | 0 | 0 | 0 | 0 | 0 | | 2528 | 2018-06-18 18:52:35 | prontera | 157701 | Nö Påin † Nö Gåin | 159 | 183 | xxx.229.81.xxx | 158020 | LipESprY | 160 | 183 | xxx.229.81.xxx | 0 | 0 | 0 | UNKNOWN_ITEM | 0 | 0 | 0 | 0 | 0 | 0 | | 2523 | 2018-06-18 18:51:58 | prontera | 158020 | LipESprY | 160 | 183 | xxx.223.12.xx | 157701 | Nö Påin † Nö Gåin | 159 | 183 | xxx.223.12.xx | 0 | 7348 | 1 | Cartão Vip | 0 | 0 | 0 | 0 | 0 | 0 | | 2524 | 2018-06-18 18:51:58 | prontera | 158020 | LipESprY | 160 | 183 | xxx.223.12.xx | 157701 | Nö Påin † Nö Gåin | 159 | 183 | xxx.223.12.xx | 0 | 616 | 1 | Velho Álbum de Cartas | 0 | 0 | 0 | 0 | 0 | 0 | | 2525 | 2018-06-18 18:51:58 | prontera | 158020 | LipESprY | 160 | 183 | xxx.223.12.xx | 157701 | Nö Påin † Nö Gåin | 159 | 183 | xxx.223.12.xx | 0 | 1234 | 1 | Walgwanggum | 678690732113942 | 0 | 0 | 0 | 0 | 0 | [...] +-------+---------------------+----------+-----------+-------------------------+---------+---------+----------------+-----------+-------------------------+---------+---------+----------------+-----------+--------+-----------+-------------------------+-----------------+-----------+-----------+-----------+-----------+-------------------+ No primeiro trade, em que passo os itens pro cara, tudo ficou registrado como deve ser. No segundo trade, em que ele me devolve os itens, fica quase tudo errado: IP do P1 e P2 ficam o mesmo, quantidade do item (ItemCount) e ID do item (ItemID) ficam 0 (zero) e nome do item (ItemName) fica "UNKNOWN_ITEM". PS: Censurei os IPs por motivos óbvios. Fico à disposição voluntariar no que for necessário. Vlw!
  9. Só pra estender um pouco o tutorial, podes também criar um script para inicializar o servidor com os consoles separados. Fica bem semelhante ao que acontece no Windows: #1 - Crie um arquivo de texto com seu editor favorito. Costumo usar o "nano": $ cd /home $ nano iniciar-servidor Repare que antes de criar o arquivo, entramos no diretório /home #2 - Cole o seguinte código no arquivo: #!/bin/bash screen -d -m -S login bash -c 'cd /home/emulador && ./login-server' screen -d -m -S char bash -c 'cd /home/emulador && ./char-server' screen -d -m -S map bash -c 'cd /home/emulador && ./map-server' Repare que o caminho da pasta do meu emulador é " /home/emulador ". Altere conforme o seu. #3 - Vamos adicionar a permissão de execução no arquivo que acabamos de criar - a fim de evitar problemas relacionados a tal: $ chmod u+x iniciar-servidor #4 - Com o seu servidor desligado, simplesmente rode o arquivo com o "bash" - claro que vamos executar isso no diretório que o criamos (/home): $ ./iniciar-servidor Após isso, basta abrir (attach) a screen referente ao console que desejar consultar/monitorar! Seu servidor já está iniciado com as telas separadinhas: $ screen -r login $ screen -r char $ screen -r map Claro que vc vai fechar (dettach) uma screen antes de ir pra outra, blz?! Considerações finais: • O símbolo $ no início do comando significa que vc pode executar sem a necessidade de privilégios de administrador (sudo); • Pode-se criar um serviço para rodar seu servidor automaticamente, caso seu host seja reiniciado fora de seu planejamento (Queda de energia, manutenção, e bla, bla, bla) - Pesquise no google de acordo com o Linux que vc usa; • Pra retornar uma lista de todos as telas (screen) ativas, basta rodar o seguinte comando: $ screen -ls • Se sua conexão cair enquanto vc está com uma sessão aberta (screen), ao reconectar-se não vai ter acesso ao console referente a tal sessão do screen. Tanto que ao listar as sessões, vc verá uma com status "Attached". Daí basta rodar o comando pra sair da sessão e entrar nela novamente. • Se seguir as dicas certinho e ainda assim falhar, provável que vc não tenha a permissão de execução nos arquivos login-server / char-server / map-server. Daí basta rodar os seguintes comandos: $ chmod u+x login-server $ chmod u+x char-server $ chmod u+x map-server