Jonatas

Colaborador
  • Total de itens

    864
  • Registro em

  • Última visita

  • Days Won

    20

Reputação

83 Contribuidor

Sobre Jonatas

  • Rank
    Ex-Administrador
  • Data de Nascimento 24-03-1992

M?todos de Contato

  • MSN
    [email protected]

Informa??o do Perfil

  • Sexo:
    Homem
  • Localiza??o:
    Uberaba - MG

Últimos Visitantes

7.691 visualizações
  1. Não, sou jogador lobo solitário.
  2. Eu ainda acho que a comunidade br tem salvação, o que falta é pessoas motivadas e que queiram ajudar, a melhor época do brAthena que existiu ao meu ver foi a época que tinha, @Shiraz, @Holy @Hold e @lututui, a gente fez muita coisa no emulador, ele era todo diferenciado, boa parte já tinha sido traduzido pelos tradutores e tinha vários commits diários, ao longo de 1 ano, foram mais de 3k de commits, isso quando a gente usava svn ainda. Eu mesmo tinha muitos planos para o brA quando era administrador, mais o pessoal foi sendo tomado pelo tempo da vida pessoal e acabou saindo. Eu sempre achei que o emulador deveria ser fácil de entender e ter um bom desempenho, o melhor formato que eu achava pra isso era o LUA, que me permitia ter um código limpo e supria todas as necessidades, outra coisa é que eu sempre gostei do modo que o aegis trabalhava seu banco de dados, alguns deles era bem organizado e de fácil entendimento. Um exemplo de um novo modelo de configurações do emulador: https://github.com/brAthena/brAthena/commit/574dd3e135744dead83d720e425184def81150d0#diff-d96b6365b4bdad78139e676d6e7e3295R6887 O jogo está morrendo aos poucos, e depois do fim dos servidores oficiais só restaram os privates, as comunidades gringas caíram muito o desempenho de desenvolvimento também, porém o que eles tem de diferentes dos brasileiros e que eles se ajudam dentro de sua comunidade, já as comunidades brasileiras 99% do pessoal quer saber apenas de pegar as coisas prontas e ganhar seu dinheiro, se a nossa comunidade brasileira fosse mais unida entre desenvolvedores e os membros ajudando não estaria passando por isso, reflitam. Me add depois lá. Nick: HypNotizes
  3. Esse último update no fórum perdeu muito tópico, eu por exemplo era Top 1 post, e foram removidos cerca de 1500 postagens minhas o pessoal que fez a limpeza deletou muitos posts, eu até falei com o protimus no começo da manutenção e ele mesmo disse que quem fez a limpeza removeu as postagens. O preço do Yellow caro subiu de novo vamos ver se abaixa o preço da recipe, mais deixa o valor em shards depois que tu cobra, estou querendo no máximo gastar 350 shards por que o resto é pra colocar stage 8.
  4. Treta. PS: Alguma alma que tenha o Recipe Regard Horn Staff no Tree of savior e queira vender, pago em shards, envia uma MP.
  5. Esse NPC existia no antigo brA, quando o @Shiraz e eu fizemos a VIP do bRO, eu acabei adicionando o NPC junto, era na época do SVN ainda. Mais muitos sistemas do antigo brA não foi adicionado nesse novo emulador. O diálogo do NPC é o mesmo do bRO. Quem quiser utilizar segue o link: https://github.com/brAthena/brAthena-old/blob/master/brathena/npc/bRO/VIP.txt#L171
  6. Jogo Tos a 1 ano e sinceramente não demora muito tempo, eles voltam para o NA. O povo só reclama, quando o servidor estava no SA, que tomava ddos todos os dias geral reclamava, depois mudaram para o NA o povo reclamou também. Era melhor manter no NA, jogo sem lag algum, prefiro jogar com ping mais alto do que jogar em um servidor lagado, por que vão sentar o ddos e não vai demorar muito.
  7. Segue o diff feito para a limpeza de logs antigos, agora a parte de backup é com vocês. Clean Logs.zip A função SQL->CLEAN_LOG permite remover qualquer entrada na SQL comparando a data que a mesma foi inserida com a data e tempo local. Lembrando que a mesma pode ser usada em todos os servidores, char, login e map. Função para limpeza: void Sql_Clean_Log(Sql *self, const char *table, const char *column, int timer, const char *timer_type) table = Nome da tabela column = Nome da coluna presente na tabela, lembrando que a mesma tem que ser um datetime no SQL. timer = tempo para limpar o log, ele faz uma comparação com a data que o mesmo foi salvo com a data de hoje se a mesma for igual ou superior ele remove. timer_type = aqui é definido em quanto tempo eu quero que seja removido, existe varias opções, resolvi deixar a escolha pois pode ter utilidade para logs de algum sistema custom que precise ser removido em horas, minutos,.. Todos os tipos com suporte pode ser encontrados aqui https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html#function_date-add Exemplo para limpar tabela pickdrop_log: SQL->CLEAN_LOG(logs->mysql_handle, logs->config.table_name[14], "Date", logs->clean_logs_days, "DAY"); O exemplo acima vai limpar logs que foram inseridos na SQL apos X dias. Foi criado 3 configurações que são elas: clean_logs = { enable_clean_logs = false; // Habilita a remoção de logs clean_logs_days = 120; // Dias para remover os logs check_time_clean_logs = 1; // Tempo para checar se existe logs a serem removidos. 1 = 1 hora } A configuração check_time_clean_logs é o tempo em que o emulador vai fazer a checagem para saber se existe logs com mais de X dias a serem removidos da tabela SQL, por padrão é 1 hora. Resolvi compartilhar, por que sei que o brA não tem desenvolvedor ativo no emulador atualmente. Procurei fazer da melhor maneira possível, deixando um código limpo e com várias opções de uso. Att, Jônatas.
  8. Não tem por que guardar logs antigos, ainda mais em servidores privados onde jogador mal para no servidor, servidores como o do @Tidus que tinha um log enorme por conta da quantidade de jogadores isso é muito bom, essa é uma maneira de não precisar desativar e manter o banco de dados limpo automaticamente, até por que é meio burrice manter pick logs de 6 meses ou mais em um servidor private.
  9. Dá quote em imagem não , polui muito o tópico rapaz . @topico Também é possível fazer para trabalhar nos 3 servidores, char, login e map.
  10. Baixei o Visual Studio 2017 e fui brincar um pouco, achei um método melhor comparando a data do log e checando se o mesmo já está na tabela a mais de X dias, assim não precisa criar várias tabelas. Inclusive da para fazer a remoção em outros em outros servidores
  11. Você não leu direito, a verificação tem que ser feita todo dia, isso é lógica de programação, não é correto eu remover sem verificar se a data do log está de acordo com os dias para remoção, vou dar um exemplo para você entender. Provavelmente vai existir 2 configurações como eu falei, vou criar uma opção para explicar: Enable_remove_logs = true Remove_logs_days = 20 No exemplo acima está habilitado a remoção e o tempo é de 20 dias. Hoje 26/03/2017 o log só vai ser removido dia 14/04/2017. Porém eu preciso fazer uma checagem todo dia, por que o log do dia 27/03/2017 vai ser removido em 15/04/2017 e assim por diante.
  12. Creio que não tenha necessidade de usar NoSQL, até por que como você disse pretende adicionar suporte para remover logs antigos, inclusive é interessante em fazer uma checagem no próprio emulador 1 vez por dia e dependendo da data do log o próprio emulador pode executar a remoção, creio que seja necessário 2 opção: Habilitar a remoção de logs antigos Tempo de remoção em dias
  13. Caso aconteça problemas como o @Tidus falou, adicionem suporte ao emulador para ele criar uma nova tabela picklog para cada dia. Basta usar a biblioteca do time.h e puxar o dia, mês e ano e aplicar no nome do log ficando algo como: time_t now; time(&now); struct tm *tm = localtime(&now); //No nome da tabela adicionar algo como abaixo picklog_%d_%d_%d, tm->tm_mday, tm->tm_mon, tm->tm_year + 1900 É bem interessante criar de forma automática esses logs por data
  14. Se fizerem vai ser coisa de primeira, mais é necessário algumas restrições como por exemplo, tenho um plugin de comando de script e o mesmo está em uso. ao finalizar o servidor de plugins o npc teria que ser desativado automaticamente, entre outras especificações que são necessárias para ter um perfeito funcionamento sem causar erros no servidor online. Sobre a VIP eu nem sei por que não adicionaram nesse novo emulador, foi uma das melhores coisas já feita, fora que não precisaria usar esses sistemas de vips criados por script que são horríveis. Ninguém sabia como funcionava o sistema VIP, tanto que depois que implementamos o povo foi pedir no hercules e rathena. O mais engraçado foi a implementação inicial do rathena ter o mesmo nome da função da vip que o @Shiraz fez. Rapaz sobre essa hashtag ae creio que nunca aconteça . Sinceramente perdi o gosto por RO, um dos motivos foi ninguém dar um retorno para o projeto, e depois que o brA fechou e voltou novamente eu acabei deixando RO de lado, também por outros motivos, mais não é relevante comentar. As vezes eu faço algumas coisas para o @Tidus tirando isso, no meu tempo livre fico jogando Tree of Savior.
  15. O que seria interessante é criar um servidor apenas para os plugins assim ficando 4 servidores, char, map, login e plugins. Em caso de erros eu poderia desligar o servidor de plugins e compilar somente ele, e o servidor continuaria online. Seria bem interessante pois dependendo da manutenção feita no servidor o mesmo nem precisaria ser desligado, pois poderia utilizar o sistema de plugins para aplicar as modificações. Para fazer isso vai ter um trabalho um pouco maior, mais é algo que teria uma enorme vantagem.