CaioVictor

Membro
  • Total de itens

    164
  • Registro em

  • Última visita

  • Days Won

    3

Reputação

3 Iniciante

2 Seguidores

Sobre CaioVictor

  1. Ol? Kaoozie ^^' Primeiramente muit?ssimo obrigado xD Tamb?m havia procurada muito sobre algo que fizesse isso sem sucesso, ent?o resolvi criar o meu com base em pesquisas e testes =) Fique avontade para usar e qualquer erro ou alguma sugest?o me avise. MAS N?O BAIXEM, EU ENVIEI SEM QUERER O ARQUIVO ERRADO! VOU SOLICITAR QUE TROQUEM O ARQUIVO QUE EST? LA PARA O CORRETO! Att, CaioVictor. EDIT 01 => Corrigido o envio de arquivos errados da vers?o 1.0, baixem a vers?o 2.0 pois esta est? corrigida! Att, CaioVictor.
  2. Nome do Arquivo: Auto Restart brA para Linux Autor: CaioVictor Arquivo enviado: 12 Nov 2013 Categoria: Lan?amentos de C?digos (Source) ATEN??O: A vers?o 1.0 enviada estava com os arquivos errados, foi feita a corre??o e envio do arquivo correta, se voc? baixou a vers?o 1.0, baixe a vers?o 2.0 pois esta est? correta. Arquivos para checagem do estado e reinicializa??o autom?tica do emulador brAthena em linux. Funcionamento: Verifica??o da exist?ncia do arquivo manutencao.flag, se exitir, est? identificado que o emulador est? em manuten??o(atualiza??o, implementa??o...) e a execu??o do arquivo do script ? cancelada, caso n?o exista, est? identificado que o servidor n?o est? em manuten??o ent?o devesse prosseguir com a execu??o do script auto-restart; Se n?o estiver me manunten??o, verifica as portas do emulador(login/char/mas-server), se alguma estiver fechada, est? identificado que a reincializa??o ? necess?ria; Se n?o estiver em manuten??o e precisa ser reiniciado, faz o fechamento todos os servers(login/char/mas-server) e inicializa o emulador; Como, n?o apenas eu, notei que ao emulador dar crash eventualmente ? imposs?vel fechar o emualdor(t?pico http://forum.brathena.org/index.php/topic/19268-start-linux-stop-kill-e-kill-9/) ent?o esse auto-restar tenta fechar for?adamente o emulador quando for necess?ria a reincializa??o. Arquivos: manutencao.flag: Arquivo de identifica??o de manuten??o no emulador, se identificada manuten??o o auto-restart n?o ser? executado nesse per?odo, este arquivo deve ser coloca na root do emulador, ex.: /home/emulador/manutencao.flag auto-restart.sh: Arquivo de a??o da auto checagem e reinicializa??o do emulador, deve ser localizado no diret?rio pai do emulador, ex.: /home/auto-restart.sh Configura??o: Dentro do arquivo auto-restart.sh procure e edite apenas: # Base Path Para o EmuladorBASEP=/home/emulador# Arquivo de Identifica??o de ManutencaoFLAG=${BASEP}"/manutencao.flag"# IP do ServidorSRV=127.0.0.1# Arquivo de Start do EmuladorSTART=start-linux# Login ServerL_SRV=login-serverL_PORT=6900# Char ServerC_SRV=char-serverC_PORT=6121# Map ServerM_SRV=map-serverM_PORT=5121# Contador do DownServerDOWN_SVR=0 Onde SRV ser? o IP do seu servidor L_PORT, C_PORT e M_PORT respectivamente as portas configurados em seu emualdor para login, char e map. * FLAG localiza??o do arquivo manutencao.flag * L_SRV, C_SRV e M_SRV s?o respectivamente os arquivos nativos do emulador login-server, char-server, map-server * START ? o arquivo nativo do emulador respons?vel por start, stop e restart * DOWN_SVR ? contado de portas fechadas, seu valor deve sempre ser 0 Nos marcados acima com * n?o s?o necess?rios altera??es Ao editar o arquivo em windows e depois envi?-lo para linux porvalmente ir? gerar erro. Ent?o v? ao diret?rio onde encontra-se o arquivo auto-restast.sh e no console shell digite: sed -i 's/\r$//' auto-restart.sh Encontrei como melhor forma de checagem autom?tica a utiliza??o desde como Cron Job. Para adicionar o auto-restart.sh na crontab do seu servidor utilize a linha de c?digo baixo no console shell: echo '*/2 * * * * /ENDERECO_DO_ARQUIVO/auto-restart.sh' | crontab - No c?digo acima a checagem e reinicializa??o(se necess?ria), acontecer? a cada 2 minutos, mas voc? poder? adapt?-lo para o per?odo que julgar melhor. N?o esque?a de dar permiss?es ao arquivo, v? ao diret?rio onde encontra-se o arquivo auto-restast.sh e no console shell digite: chmod a+x auto-restart.sh Proibida postagem em f?runs, sites, blogs e afins sem autoriza??o. Proibida remo??o de cr?ditos. Proibida utiliza??o com fins lucrativos. Caso seja identificado ferimento a algum dos requisitos de uso acima, este ser? removido do ?rea de download, assim como, futuras melhorias, implementa??o e adapta??es ser?o canceladas. Espero que seja ?til e que gostem xD Qualquer erro ou sugest?es, basta me avisar =) Att, CaioVictor. Clique aqui para fazer o download deste arquivo
  3. Version 2.0

    50 downloads

    ATENÇÃO: A versão 1.0 enviada estava com os arquivos errados, foi feita a correção e envio do arquivo correta, se você baixou a versão 1.0, baixe a versão 2.0 pois esta está correta. Arquivos para checagem do estado e reinicialização automática do emulador brAthena em linux. Funcionamento: Verificação da existência do arquivo manutencao.flag, se exitir, está identificado que o emulador está em manutenção(atualização, implementação...) e a execução do arquivo do script é cancelada, caso não exista, está identificado que o servidor não está em manutenção então devesse prosseguir com a execução do script auto-restart; Se não estiver me manuntenção, verifica as portas do emulador(login/char/mas-server), se alguma estiver fechada, está identificado que a reincialização é necessária; Se não estiver em manutenção e precisa ser reiniciado, faz o fechamento todos os servers(login/char/mas-server) e inicializa o emulador; Como, não apenas eu, notei que ao emulador dar crash eventualmente é impossível fechar o emualdor(tópico http://forum.brathena.org/index.php/topic/19268-start-linux-stop-kill-e-kill-9/) então esse auto-restar tenta fechar forçadamente o emulador quando for necessária a reincialização. Arquivos: manutencao.flag: Arquivo de identificação de manutenção no emulador, se identificada manutenção o auto-restart não será executado nesse período, este arquivo deve ser coloca na root do emulador, ex.: /home/emulador/manutencao.flag auto-restart.sh: Arquivo de ação da auto checagem e reinicialização do emulador, deve ser localizado no diretório pai do emulador, ex.: /home/auto-restart.sh Configuração: Dentro do arquivo auto-restart.sh procure e edite apenas: # Base Path Para o EmuladorBASEP=/home/emulador# Arquivo de Identificação de ManutencaoFLAG=${BASEP}"/manutencao.flag"# IP do ServidorSRV=127.0.0.1# Arquivo de Start do EmuladorSTART=start-linux# Login ServerL_SRV=login-serverL_PORT=6900# Char ServerC_SRV=char-serverC_PORT=6121# Map ServerM_SRV=map-serverM_PORT=5121# Contador do DownServerDOWN_SVR=0 Onde SRV será o IP do seu servidor L_PORT, C_PORT e M_PORT respectivamente as portas configurados em seu emualdor para login, char e map. * FLAG localização do arquivo manutencao.flag * L_SRV, C_SRV e M_SRV são respectivamente os arquivos nativos do emulador login-server, char-server, map-server * START é o arquivo nativo do emulador responsável por start, stop e restart * DOWN_SVR é contado de portas fechadas, seu valor deve sempre ser 0 Nos marcados acima com * não são necessários alterações Ao editar o arquivo em windows e depois enviá-lo para linux porvalmente irá gerar erro. Então vá ao diretório onde encontra-se o arquivo auto-restast.sh e no console shell digite: sed -i 's/r$//' auto-restart.sh Encontrei como melhor forma de checagem automática a utilização desde como Cron Job. Para adicionar o auto-restart.sh na crontab do seu servidor utilize a linha de código baixo no console shell: echo '*/2 * * * * /ENDERECO_DO_ARQUIVO/auto-restart.sh' | crontab - No código acima a checagem e reinicialização(se necessária), acontecerá a cada 2 minutos, mas você poderá adaptá-lo para o período que julgar melhor. Não esqueça de dar permissões ao arquivo, vá ao diretório onde encontra-se o arquivo auto-restast.sh e no console shell digite: chmod a+x auto-restart.sh Proibida postagem em fóruns, sites, blogs e afins sem autorização. Proibida remoção de créditos. Proibida utilização com fins lucrativos. Caso seja identificado ferimento a algum dos requisitos de uso acima, este será removido do área de download, assim como, futuras melhorias, implementação e adaptações serão canceladas. Espero que seja útil e que gostem xD Qualquer erro ou sugestões, basta me avisar =) Att, CaioVictor.

    Gratuito

  4. GUIA E ORIENTA??O

    Ol? RenatoUtsh ^^' Muito obrigado, fico feliz em ver que h? gente que se interessou e elogiou *-* Eu n?o sei muito bem shell script mas aprendi bastante procurando solu??es para fazer esse c?digo. Estou potando na ?rea de download ^^' Att, CaioVictor. EDIT 01 => Arquivo enviado para ?rea de downloads. Aguardando aprova??o! Att, CaioVictor. EDIT 02 => N?o baixem o arquivo, por falta de aten??o acabei enviando o arquivo errado! Assim que enviado o arquivo correto eu aviso xD Att, CaioVictor. EDIT 03 => Ol? galera! Arquivo dispon?vel para download: http://forum.brathena.org/index.php/files/file/3149-auto-restart-bra-para-linux/ Aten??o leiam o t?pico de suporte antes de baixar http://forum.brathena.org/index.php/topic/19351-auto-restart-bra-para-linux/ Espero que gostem ^^' Att, CaioVictor.
  5. GUIA E ORIENTA??O

    Obrigado galera, ta pronto aqui e n?o esta gerando erro nenhum ^^' O c?digo est? funcionando da seguinte forma, checa as portas do emulador, se alguma estiver fechada quer dizer que o emulador crashou ou est? fechado, nesse caso ele vai procurar o arquivo "manutencao.flag" na pasta do emulador, se n?o existir que dizer que o emulador n?o est? em manuten??o e ent?o devesse ser reiniciado. E para uma boa checagem autom?tica est? sendo rodado por cronjob. Tudo estar? explicado junto do arquivo =) Vou compartilhar o c?digo com todos, ? de muito f?cil utiliza??o xD Vou postar na sess?o de downloads como free para a galera do bRA! Assim que estiver postado eu coloco o link aqui xD Att, CaioVictor.
  6. Nome do Arquivo: Monstro GID para ID Autor: CaioVictor Arquivo enviado: 13 Ago 2013 Categoria: Lan?amentos de C?digos (Source) Ol? brA ^^' Depois de alguma necessidades em eventos e sistema, me deparei com a necessidade de converter a vari?vel killerrid retornada pela label OnPCDieEvent que vem com o valor de RID do Char ou GID do Monstro que matou o char atachado ? label! No caso de ter sido um monstro o assassino do caso, n?o ? poss?vel atrav?z killerrid identificar qual monstro ?(ID do monstro), ent?o criei um comando para converter o GID do Monstro em ID do Monstro. ? um comando simples, por?m ao meu ver ?til, ent?o se for do interesse baixem e utilizem. Testado e funcionando perfeitamente xD Por favor, s? n?o retirem os cr?ditos =) Exemplo de utiliza??o: OnPCDieEvent: if(killerrid <= 3000000){ //killerrid = RID de CHAR }else{ //killerrid = GID de Monstro set [email protected], mobgidtoid(killerrid); message strcharinfo(0), "Voc? acaba de morrer para o monstro "+getmonsterinfo([email protected],0); }end; Att, CaioVictor. Clique aqui para fazer o download deste arquivo
  7. Humm sakei xD Fica show assim tamb?m ^^' E como ela quer que apenas super-aprendiz, transclasses e expandidas tenham acesso ao NPC, a vari?vel @eajs$ ter? que conter os eaJobs de aprendiz e todas as classes 1st, 2-1 e 2-1 das classes normais e n?o renascidadas, certo? Att, CaioVictor.
  8. SOURCE

    Opa ^^' Show, o bom de uma comindade ? isso tamb?m a troca de id?ias e experi?ncias, nesse caso com o emulador xD Vamos ver no que vai dar, afinal o Protimus saber? o que ? melhor para o brA ou n?o, mas seria muito boa essa altera??o =) Att, CaioVictor.
  9. Ol? Wolf! xD Por favor, n?o me entenda mal, n?o pensei que estivesse me contrariando =) Apenas expliquei o porque que eu fiz dessa forma xD Entretanto, ? bom obter novas id?ia e adquirir mais conhecimento, esse foi um dos motivos que pedi para voc? postar sua id?ia xD Att, CaioVictor.
  10. Ol? Wolf ^^' Bom, qunado ao eaclass() eu n?o vejo o porque foi desnecess?rio, na verdade encontro ele como a forma mais 'certeira' de se fazer scripts para filtragem desse tipo, j? que voc? n?o ir? se limitar a IDs das classes, que por volta ou outra, ir?o ser adicionadas novas(Rebellion por exemplo). De qualquer forma, ? um exemplo que fiz e sincermente, n?o usu?rio de forma muito diferente dessa, como comentei, poderia ser bem mais direta, limpa e compacta, mas para deixar bem comentada e de simples entendimento, fiz disso forma. Quando ao loop que informou, n?o tenho certeza, mas creio que um loop v? consumir mais processamento que o IF eliminat?rio, e como nos damos com servidor sempre muito limitados, quando menos processamente gerado melhor, mas como eu falou, n?o tenho certeza se o IF nesse caso consumiria menos processamente que o loop, mas acho que sim. Entretanto, foi s? uma inten??o de ajuda, se achar necess?rio, poste seu script e deixe a escolha do topic master xD Se voc? tem um solu??o melhor, eu gostaria de v?-la tamb?m ^^' assim vou aprendo =) Att, CaioVictor.
  11. Opa Angelisk ^^" Creio que n?o seja nada dif?cil xD Seguindo pelo in?cio, filtramos se tem lvl de base maior ou igual a 99, certo? Para esse caso usaremos o "BaseLevel" que retorno o lvl de base do char atachado ao npc. Depois, se os que passarem pela filtragem acima forem trans, expandida ou super aprendiz, certo? Para isso usaremos o "eaclass", esse comando vai retornar o ID do job eA da classe do player atachado, com isso podemos usar m?scaras para filtrar de qual classe base o char ? e tudo mais. D? uma lidinha sobre o assunto acima, ? bem interessante. Bom, com isso tudo que falei, segue abaixo o c?digo que acabei de fazer seguindo suas especifica??es: // Se Lvl de Base maior ou igual a 99 if(BaseLevel >= 99){ set @eac, eaclass(); if( // Se FOR Transclasse (@eac&EAJL_UPPER) || // OU // Se FOR Super-Aprendiz (@eac&EAJ_BASEMASK) == EAJ_SUPER_NOVICE || // OU // Se FOR Expendida (Expadida = N?O Aprendiz e N?O Classes Normais) ( !(@eac&EAJ_NOVICE) && (@eac&EAJ_BASEMASK) != EAJ_SWORDMAN && (@eac&EAJ_BASEMASK) != EAJ_MAGE && (@eac&EAJ_BASEMASK) != EAJ_ARCHER && (@eac&EAJ_BASEMASK) != EAJ_ACOLYTE && (@eac&EAJ_BASEMASK) != EAJ_MERCHANT && (@eac&EAJ_BASEMASK) != EAJ_THIEF ) ){ // ==> AQUI SEU C?DIGO } } N?o testei, mas tenho quase certeza que ir? funcionar xD Poderiamos escrever esse c?digo de forma de mais direta, mas limpa e mais compactada, mas escrevi assim para ficar mais explicativo para seu entendimento =) Att, CaioVictor.
  12. SOURCE

    Ol? Protimus! Muito obrigado por sua aten??o. Creio que implementando ou modificando para previnir essa quest?o ser? ?timo. Eu j? me deparei com essa quest?o v?rias vezes e pelo que podemos notar n?o sou o ?nico. Novamente agrade?o sua aten??o. Att, CaioVictor.
  13. SOURCE

    Ol? zHardwell ^^' Bom, ent?o isso n?o acontece apenas comigo! Seria interessante se os desenvolvedores colocassem o "kill -9" ou como voc? disse "killall -9" diretamente no "start-linux" na fun??o de stop, concorda comigo? Bom, vamos ver se algu?m da parte de desenvolvimente faz alguma intere??o aqui concosco. Att, CaioVictor.
  14. CLIENT E DATA

    Opa Bazanella xD Que bom que conseguiu solucionar o erro, era justamente os BMP =) Disponha! Att, CaioVictor.
  15. CLIENT E DATA

    Opa ^^" A certo xD Esse problema ? pq falta os arquivos BMP da janela de compara??o, vou ver se fa?o upload e disponibilizo para todos voc?s. Att, CaioVictor