Golbat é um processador experimental de dados brutos para Pokémon Go. Inicialmente projetado para ser compatível com banco de dados com RDM, ele será capaz de evoluir mais rapidamente por não precisar manter a compatibilidade com versões anteriores.
Existe um servidor Discord para suporte e discussão. Neste momento, é provável que esta seja principalmente uma discussão sobre desenvolvimento.
vá 1,22
config.toml.example
para config.toml
go run .
make
pm2 start ./golbat --name golbat -o "/dev/null"
docker-compose.yml.example
para docker-compose.yml
docker-compose up -d
A fonte de dados deve ser configurada para enviar para a URL do Golbat que será http://ip:port/raw
Regras de verificação podem ser adicionadas à configuração. Eles serão processados em ordem, aplica-se a primeira partida - e permite desabilitar o processamento de certos tipos de objetos do jogo.
As regras de varredura podem combinar o objeto com uma cerca geográfica ou usar o 'modo' do scanner quando for suportado por remetentes brutos (olhando para você, Flygon!)
[[ scan_rules ]]
areas = [ " MainArea " ]
nearby_pokemon = false
[[ scan_rules ]]
context = [ " Scout " ]
[[ scan_rules ]]
pokemon = false
Aqui a área principal não processaria pokémons próximos. As mensagens que chegassem em modo ‘scout’ teriam tudo processado; e o padrão não processaria nenhum pokémon (portanto, fora da área principal não entregue pelo serviço de olheiro)
pokemon - qualquer processamento de pokemon (desativa também os spawnpoints)
wild_pokemon - processa pokémons selvagens de OGM
next_pokemon - processa pokémons próximos do OGM
clima - processar clima em OGM
academias - processe academias em OGM
pokestops - processa pokestops em OGM
células - processa atualizações de células (desativar isso também desativa a limpeza automática do forte)
Configurações extras para PvP estão disponíveis na seção pvp
do arquivo de configuração.
# The level caps used in rankings, defaults to [50, 51]
level_caps = [ 50 , 51 ]
# Gohbem uses tied rankings by default (1,1,3,4). Use the following config option to eliminate tied rankings (1,2,3,4,5) and align to external PvP Calculators like GO Stadium and PvP IVs
ranking_comparator = " prefer_higher_cp "
O arquivo protos.md contém uma lista dos protos que são decodificados pelo Golbat
Essas opções podem ajudá-lo significativamente com o desempenho.
# This should be 50% of RAM, leaving space for golbat
innodb_buffer_pool_size = 64 G
# Log file size, should certainly be >= 1GB, but on a big system this is more appropriate
innodb_log_file_size = 16 G
# This should be number of cores
innodb_read_io_threads = 10
innodb_write_io_threads = 10
innodb_purge_threads = 10
# Some people receommend at least 1 per gb, so could be increased above
innodb_buffer_pool_instances = 8
# allow big sorts, in memory temp tables
max_heap_table_size = 256 M
# extend wait timeout for locks to ensure a good chance to finish requests
innodb_lock_wait_timeout = 15
# logs are written once per second rather than after
innodb_flush_log_at_trx_commit = 0
# background tasks can work at high iops
innodb_io_capacity = 1000
# Number of maximum available IOPS to background tasks
innodb_io_capacity_max = 2000
# Trust disk system at the expense of recovery
innodb_doublewrite = 0
Essas duas últimas opções evitam que seu arquivo ibdata1 cresça continuamente e que o espaço não seja reutilizado. Se você tiver esse problema, poderá adicioná-los, mas esteja ciente de que isso requer a recriação do ibdata.
# Efficiently use ibdata
innodb_undo_log_truncate = 1
innodb_undo_tablespaces = 4