-
Notifications
You must be signed in to change notification settings - Fork 31
Expand file tree
/
Copy pathconfig.toml.example
More file actions
123 lines (105 loc) · 6.11 KB
/
Copy pathconfig.toml.example
File metadata and controls
123 lines (105 loc) · 6.11 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
port = 9001 # Listening port for golbat
#grpc_port = 50001 # Listening port for grpc
raw_bearer = "" # Raw bearer (password) required
api_secret = "golbat" # Golbat secret required on api calls (blank for none)
api_docs = true # Serve interactive API docs at /docs (+ /openapi.json, /schemas); never requires the api secret
pokemon_memory_only = true # Use in-memory storage for pokemon only
#preserve_pokemon = false # Save pokemon to DB on shutdown, restore on startup (for memory-only mode)
preload = false # preload: Pre-load objects into cache on startup (faster initial responses, but increases startup time)
fort_in_memory = false # fort_in_memory: Keep forts in memory for api lookups [experimental]
[koji]
url = "http://{koji_url}/api/v1/geofence/feature-collection/{golbat_project}"
bearer_token = "secret"
[cleanup]
pokemon = true # Keep pokemon table is kept nice and short
incidents = true # Remove incidents after expiry
station_battles = true # Remove station battles after expiry
quests = true # Remove quests after expiry
tappables = true # Remove tappables after expiry
stats = true # Enable/Disable stats history
stats_days = 7 # Remove entries from "pokemon_stats", "pokemon_shiny_stats", "pokemon_iv_stats", "pokemon_hundo_stats", "pokemon_nundo_stats", "invasion_stats", "quest_stats", "raid_stats" after x days
device_hours = 24 # Remove devices from in memory after not seen for x hours
forts_stale_threshold = 3600 # Seconds before a fort is considered stale (default: 1 hour)
[logging]
debug = false
api_request_logging = false # Log raw request/response bodies of all Huma /api endpoints (large; off by default)
save_logs = true
max_size = 50 # Size in MB
max_backups = 10 # Amount of files to keep
max_age = 30 # Day(s) to keep files
compress = true # Compress to gz archive
[database]
user = ""
password = ""
address = "127.0.0.1:3306"
db = ""
max_pool = 100 # Maximum database connection pool size
[pvp]
enabled = true
include_hundos_under_cap = false
level_caps = [50, 51] # Level caps used in PVP rankings
#ranking_comparator = "prefer_higher_cp" # Options: "prefer_higher_cp", "prefer_lower_cp" (default: tied rankings)
# you can enable prometheus by uncommenting this section
#[prometheus]
#enabled = true
#token = "" # Optional auth token for /metrics endpoint
# You can specify more than one webhook destination by including the [[webhooks]] section
# multiple times. The hook types can optionally be filtered by using the types array
[[webhooks]]
url = "http://localhost:4201"
# types if specified can be...
# types = ["pokemon", "pokemon_iv", "pokemon_no_iv", "gym", "invasion", "quest", "pokestop", "raid", "weather", "fort_update", "max_battle"]
# "pokemon" includes both with ivs and without. "pokemon_iv" will only be encountered pokemon. "pokemon_no_iv" may be nearby pokemon that have not been encountered (yet).
#[[webhooks]]
#url = "http://localhost:4202"
#types = ["raid"]
#headers = ["X-Poracle-Secret:abc", "Other-Header:def"]
#[[webhooks]]
#url = "http://localhost:4202"
#types = ["raid"]
#areas = ["London/*", "*/Harrow", "Harrow"]
# exclude_areas suppresses messages from the listed geofences/areas. If an
# area appears in both areas and exclude_areas, the exclusion wins.
#exclude_areas = ["London/Westminster", "*/Wembley"]
[tuning]
max_pokemon_distance = 100 # Maximum distance in kilometers for searching pokemon
max_pokemon_results = 3000 # Maximum number of pokemon to return
extended_timeout = false # Extend timeouts for processing, hopefully not needed
write_behind_startup_delay = 120 # Writes will be queued for this quiet time
write_behind_worker_count = 50 # Maximum number of parallel batch writes
write_behind_batch_size = 50 # Number of entries per batch write
write_behind_batch_timeout = 100 # Max wait time in ms before flushing partial batch
profile_routes = false # Turn on debugging endpoints
profile_contention = false # Collect data for contention (use with above) - has a perf impact
s2_cell_lookup = false # Pre-compute S2 cell lookup for faster geofence matching. Trades memory (~60x geofence file size) for ~7x faster lookups. (default: false)
# When enabled, reduce_updates will make fort update debounce windows much longer
# to reduce database churn. Specifically, gym/pokestop/station debounce will be
# extended from 15 minutes (900s) to 12 hours (43200s) and spawnpoint last_seen
# will be updated every 12 hours instead of the default 6 hours.
reduce_updates = false
[weather]
proactive_iv_switching = true # Enable proactive IV switching upon weather changes (default: true)
proactive_iv_switching_to_db = false # Write proactive IV changes to database (default: false)
# Scan rules allow controlling which game objects are processed based on area or scanner context.
# Rules are processed in order - first match applies.
# Available options: pokemon, wild_pokemon, nearby_pokemon, nearby_cell_pokemon, weather, cells,
# pokestops, gyms, stations, tappables, proactive_iv_switching
#
# Example: Disable nearby pokemon in MainArea, allow everything from Scout context, disable all pokemon elsewhere
# Under heavy load you will gain an advantage from disabling nearby_pokemon
# Contexts sent from dragonite are Fort, Pokemon, Quest, Scout, RarePokemon
#[[scan_rules]]
#areas = ["MainArea"]
#nearby_pokemon = false
#
#[[scan_rules]]
#context = ["Scout"]
#
#[[scan_rules]]
#pokemon = false
#[stats_intervals]
#pokemon_stats_interval_minutes = 1 # Interval for writing pokemon stats (default: 1 minute)
#pokemon_count_interval_minutes = 10 # Interval for writing pokemon count stats (default: 10 minutes)
#raid_stats_interval_minutes = 10 # Interval for writing raid stats (default: 10 minutes)
#invasion_stats_interval_minutes = 15 # Interval for writing invasion stats (default: 15 minutes)
#quest_stats_interval_minutes = 15 # Interval for writing quest stats (default: 15 minutes)