Golbat — экспериментальный процессор необработанных данных для Pokemon Go. Первоначально разработанный для совместимости баз данных с RDM, он сможет развиваться быстрее, поскольку не будет необходимости сохранять обратную совместимость.
Для поддержки и обсуждения существует сервер Discord. В настоящее время это, скорее всего, будет в основном обсуждение вопросов развития.
идти 1.22
config.toml.example
в config.toml
go run .
make
pm2 start ./golbat --name golbat -o "/dev/null"
docker-compose.yml.example
в docker-compose.yml
docker-compose up -d
Источник данных должен быть настроен для отправки на URL-адрес Golbat, который будет http://ip:port/raw
Правила сканирования можно добавить в конфигурацию. Они будут обрабатываться по порядку, применяется первое совпадение — и позволяет отключить обработку определенных типов игровых объектов.
Правила сканирования могут сопоставить объект с геозоной или использовать «режим» сканера, если он поддерживается отправителями необработанных данных (глядя на вас, Flygon!)
[[ scan_rules ]]
areas = [ " MainArea " ]
nearby_pokemon = false
[[ scan_rules ]]
context = [ " Scout " ]
[[ scan_rules ]]
pokemon = false
Здесь основная область не будет обрабатывать близлежащих покемонов. Сообщения, поступающие в режиме «разведки», будут полностью обработаны; и по умолчанию не обрабатываются никакие покемоны (поэтому за пределами основной области служба разведки не доставляет их)
pokemon - любая обработка покемонов (также отключает точки появления)
wild_pokemon - перерабатывать диких покемонов из ГМО
next_pokemon — обрабатывать ближайших покемонов из ГМО
погода - обработка погоды в ГМО
спортзалы - обрабатываем спортзалы в ГМО
pokestops - обработка покестопов в ГМО
ячейки — обрабатывать обновления ячеек (отключение также отключает автоматическую очистку фортов)
Дополнительные настройки для PvP доступны в разделе pvp
файла конфигурации.
# 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 "
Файл protos.md содержит список протосов, декодированных Golbat.
Эти параметры могут существенно помочь вам в повышении производительности.
# 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
Эти последние два параметра предотвращают постоянный рост вашего файла ibdata1 и повторное использование пространства. Если у вас возникла эта проблема, вы можете добавить их, но имейте в виду, что для этого потребуется воссоздать ibdata.
# Efficiently use ibdata
innodb_undo_log_truncate = 1
innodb_undo_tablespaces = 4