Rollback
O Rollback é um procedimento indispensável em situações de crash, que implica na reversão do estado do servidor para o seu último backup (último server save). Assim sendo, trata-se de uma medida de prevenção que visa evitar a ocorrência de inúmeros bugs em decorrência de um crash.
Quando ocorre um Rollback, tudo que foi feito após o save é perdido, porém existe um sistema para amenização dos danos causados por um rollback.
Como funciona
Os backups são gerados diariamente às 7h40 com o shutdown, porém muitas vezes a falha ocorre bem tarde, e o progresso de um dia todo é perdido. De modo a tentar amenizar a perda de tempo, porém sem criar novos bugs, existe um sistema que devolverá parte do progresso do dia aos jogadores.
O sistema atua em 3 linhas principais:
- Itens adquiridos;
- Pokémon capturados;
- Experiência obtida.
Cada sistema foi alterado para rastrear os itens que o jogador obtém e isso será salvo em um banco de dados externo que não sofrerá rollback. O servidor envia ao banco de dados as informações a cada 5 minutos ou no momento que o jogador sai do jogo.
OBS: Este tempo foi escolhido para não sobrecarregar o banco de dados e pode vir a ser alterado, dependendo do volume de dados.
Em caso de conquistas maiores, como capturas de Pokémon e conclusão de DZ, por exemplo, os dados são enviados ao banco de dados no mesmo instante.
Registro de progresso
Os conteúdos que tem registro de progresso por esse sistema são:
- Captura de Pokémon;
- Drop de loot de Pokémon;
- Experiência adquirida em hunts comuns;
- Loot e experiência de DZ (Bronze, Silver, Gold e Crystal);
- Coleta de recursos de profissão;
- Baú de aventureiro;
- Dungeon de aventureiro;
- Recompensa diária;
- Experiência de diárias (normal e de Nightmare).
Observações
Há alguns detalhes que devem ser explicitados para que o sistema fique claro:
- O foco desse sistema é recuperar o tempo dos jogadores em tarefas repetitivas, como ficar horas coletando recursos ou pegando experiência e loot em hunts;
- Não é possível recuperar tudo;
- Os Pokémon recuperados serão entregues como se fossem itens comprados no Market, ou seja, como se o jogador tivesse comprado ele, os Brokes e a captura em si não serão recuperados;
- Os Pokémon T1H e Cyber não serão recuperados, pois baseiam-se em mérito;
- Nem sempre tudo será recuperado. Já tiveram situações em que o rollback foi por conta de coleta infinita no baú de DZ. Caso isto ocorra, o sistema foi pensado para que cada uma das 3 linhas possa ser recuperada individualmente;
- Não será recuperado nada além do que foi descrito aqui. Portanto, casos em que algum jogador deu sorte em uma fusão de held, quests concluídas ou brokes em T1H/Cyber infelizmente não serão recuperados;
- O jogador fizer DZ terá um certo lucro, pois, com o rollback, as chaves voltarão ao personagem e a recompensa permanecerá. O mesmo acontece para o saque, pois nenhum recurso de poções, revives e outros itens serão gastos, mas o loot virá inteiro;