Golbat ist ein experimenteller Rohdatenprozessor für Pokemon Go. Ursprünglich so konzipiert, dass es mit RDM datenbankkompatibel ist, lässt es sich schneller weiterentwickeln, da keine Rückwärtskompatibilität gewährleistet sein muss.
Für Support und Diskussion gibt es einen Discord-Server. Zum jetzigen Zeitpunkt dürfte es sich hierbei hauptsächlich um eine Entwicklungsdiskussion handeln.
gehen 1.22
config.toml.example
nach config.toml
go run .
make
pm2 start ./golbat --name golbat -o "/dev/null"
docker-compose.yml.example
nach docker-compose.yml
docker-compose up -d
Die Datenquelle sollte so konfiguriert sein, dass sie an die URL von Golbat sendet, die http://ip:port/raw
lautet
Der Konfiguration können Scanregeln hinzugefügt werden. Diese werden der Reihe nach verarbeitet, es gilt die erste Übereinstimmung – und ermöglicht die Deaktivierung der Verarbeitung bestimmter Arten von Spielobjekten.
Die Scan-Regeln können das Objekt einem Geofence zuordnen oder den Scanner-„Modus“ verwenden, wenn er von Rohabsendern unterstützt wird (Sie sehen Flygon!)
[[ scan_rules ]]
areas = [ " MainArea " ]
nearby_pokemon = false
[[ scan_rules ]]
context = [ " Scout " ]
[[ scan_rules ]]
pokemon = false
Hier würde der Hauptbereich keine Pokémon in der Nähe verarbeiten. Bei Nachrichten, die im „Scout“-Modus eintreffen, wird alles verarbeitet; und standardmäßig würden keine Pokémon verarbeitet (also außerhalb des Hauptbereichs, der nicht vom Scout-Dienst geliefert wird)
Pokemon – jede Pokemon-Verarbeitung (deaktiviert auch Spawnpunkte)
wild_pokemon – wilde Pokémon aus GVO verarbeiten
near_pokemon – Verarbeitet nahegelegene Pokémon aus GVO
Wetter - Prozesswetter in GVO
Fitnessstudios – Fitnessstudios in GVO verarbeiten
Pokestops – Pokestops in GVO verarbeiten
Zellen – Zellaktualisierungen verarbeiten (durch Deaktivieren wird auch die automatische Festungsräumung deaktiviert)
Zusätzliche Konfigurationen für PvP sind im pvp
Abschnitt der Konfigurationsdatei verfügbar.
# 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 "
Die Datei protos.md enthält eine Liste der Protos, die von Golbat dekodiert werden
Diese Optionen können Ihnen bei der Leistung erheblich helfen.
# 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
Diese letzten beiden Optionen verhindern, dass Ihre ibdata1-Datei kontinuierlich wächst und Speicherplatz nicht wiederverwendet wird. Wenn Sie dieses Problem haben, können Sie diese hinzufügen. Beachten Sie jedoch, dass hierfür die ibdata neu erstellt werden müssen.
# Efficiently use ibdata
innodb_undo_log_truncate = 1
innodb_undo_tablespaces = 4