Jonatas

Colaborador
  • Total de itens

    867
  • Registro em

  • Última visita

  • Days Won

    20

Reputação

95 Contribuidor

Sobre Jonatas

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

M?todos de Contato

Informa??o do Perfil

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

Últimos Visitantes

7.980 visualizações
  1. database

    O cliet sempre da desconectado pelo servidor né. Adicione o seguinte no seu clientinfo.xml <passwordencrypt></passwordencrypt> <passwordencrypt2></passwordencrypt2>
  2. Testa esse código abaixo, eu n testei por que não tenho mais o compilador de lua. [30000] = { unidentifiedDisplayName = "Caixa Surpresa (Sro)", unidentifiedResourceName = "¿À·¡µÈº¸¶ó»óÀÚ", unidentifiedDescriptionName = { "Caixa de cor violeta. Antiga e estranha, parece vibrar com um poder mágico.", "Talvez algo saia de dentro dela, se aberta.", "^ffffff_^000000", "Peso : ^77777720^000000" }, identifiedDisplayName = "Caixa Surpresa (Sro)", identifiedResourceName = "¿À·¡µÈº¸¶ó»óÀÚ", identifiedDescriptionName = { "Caixa de cor violeta. Antiga e estranha, parece vibrar com um poder mágico. Talvez algo saia de dentro dela, se aberta.", "^0000ffConcede um item aleatório ao ser aberta.^000000", "^ffffff_^000000", "Peso: ^77777720^000000" }, slotCount = 0, ClassNum = 0 },
  3. 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.
  4. 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.
  5. 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.
  6. 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
  7. 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.
  8. 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
  9. 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
  10. Sinceramente n?o vejo a Riot usando algum shield, isso por que o pr?prio client deles faz a detec??o se voc? ? um bot ou script. Outra coisa ? que a Riot n?o faz esse tipo de banimento de detectar e banir na hora, ? feita toda uma investiga??o antes de banirem a conta, algumas chegando a meses, voc? pode ver no f?rum da Riot que direto aparece jogadores chorando que usou bot para upar a conta a meses atr?s e s? foi banido agora, al?m de ter aqueles banimentos massivo trimestral de scripts. A chance deles quererem usar um shield para detectar algo que eles j? conseguem ? bem m?nima. Pense grande, qual o jogo que mais tem problemas com hackers ? a resposta ? os jogos FPS, veja jogos como Point Blank, Warface entre outros, onde as partidas s?o hacker vs hacker, vence quem tem o melhor. Agora sobre o ragnarok, achei bacana adicionar a ideia que tinha te falado sobre pacotes custom, ? algo que vai trazer muito mais qualidade e coisas diferentes para os servidores privados.