Documentation
Dragonite
Configuration

Dragonite Configuration

🚧

This page is still under construction

General section

[general]
api_host = 127.0.0.1
api_port = 7272 
stats = true  #Enabled by default to write worker stats.
...
KeyDefaultDescription
api_host127.0.0.1Host listener address for Dragonite API.
api_port7272Host port address for Dragonite API.
instance_name""Display name of the instance in the admin instance selection
statstrueWhether raw worker stats are written to the Dragonite database.

Auth provider section

Auth provider config sections look like [auth.<provider>] where <provider> can be ptc or nk. One or both may exist and be enabled. At least one section does need to exist with an 'enable = true' entry. Without this, the deprecated config locations under general and tuning will be used with both providers enabled.

[auth.ptc]
# enable this provider (defaults to false)
enable = true
# The following 2 options allow control over whether a certain provider
# should be used for leveling and/or scanning. Setting both to false allows
# one to do background token work without yet logging into the game with them.
# enable this provider for normal scanning
# enable_scanning = true (defaults to true)
# enable this provider for leveling
# enable_leveling = true (defaults to true)
 
# seconds to sleep in-between authing on one proxy
# login_delay = 20 (defaults to 20 for both providers)
 
# use swirlix/xilriws to remote auth PTC logins
# remote_auth_url = 
# background initer to collect tokens of accounts without using them - this is false by default
# token_init_enabled = true
# don't rely on remote auth and only use accounts with stored token - true by default
# token_refresh_only = true
 
[auth.nk]
enable = false
#login_delay = 20
#token_init_enabled=true
#token_refresh_only = true

⚠ Additional config variables. Do NOT change these unless you REALLY know what you are doing! ⚠

Dragonite has sensible defaults for these options and changing them can lead to unexpected behavior!

KeyDefaultDescription
token_refresh_concurrency10define concurrency for the token background refresher
token_init_concurrency1define concurrency for the token background initer
token_init_interval_secondsPTC: 20, NK: 180define the interval to request tokens
token_init_start_delay_minutes5define a delay for starting the token initer
remote_auth_timeout_seconds60define a timeout for remote auth requests
remote_init_retry_delay_minutesdefine a delay for retrying remote auth requests
remote_auth_secret""define a secret for remote auth requests if needed
token_refresh_daysPTC: 28, NK: 12define the days after which a token should be refreshed
token_refresh_start_delay_minutes5define a delay for starting the token refresher
ip_ban_backoff_minutes15define how to long to backoff an IP
token_valid_daysdefine the days a token is valid

Koji section

[koji]
url = "http://ip:port"
bearer_token = "KOJI_SECRET"
KeyDefaultDescription
url"http://ip:port (opens in a new tab)"The URL for your Koji service.
bearer_token"KOJI_SECRET"When Koji secret (KOJI_SECRET) configuration is enabled you must pass a secure token so Dragonite is able to communicate.

Prometheus section

#[prometheus]
#enabled = true
KeyDefaultDescription
enabledtrueUncomment and enable this value to turn on the prometheus endpoint within Dragonite.

Tunning section

[tuning]
#recycle_gmo_limit = 4990
#recycle_encounter_limit = 9975
#recycle_invasion_limit = 900
#minimum_account_reuse_hours = 169
#scout_age_limit = 30
#location_delay = 2500
#fort_location_delay = 0
 
KeyDefaultDescription
recycle_gmo_limit4990(Advanced) Recommend keeping this value commented out. When the GMO limit is reached for a specific account it will be be rotated.
recycle_encounter_limit9975(Advanced) Recommend keeping this value commented out. When an account has encountered this amount of pokemon it will be rotated.
recycle_invasion_limit900(Advanced) Recommend keeping this value commented out. When an account has encountered this amount of invasions it will be rotated.
location_delay2500This value, in milliseconds, will add a slight wait period while a worker is moving to a new location. Adding a slight delay has proven to decrease empty GMO results and positively impact scans overall. Recommend starting with 2500+ and monitoring overall results.
fort_location_delay0This value, in milliseconds, is the same as location_delay however it only impacts fort scans (gyms/pokestops). When not specified, it uses the same value as location_delay
minimum_account_reuse_hours0This sets the amount of hours for accounts to "rest" until they can be reused. Recommended value is 169 hours (7 days).
scout_age_limit30Configure age limit for scout queue entries
test_shadow_bannedtrueAutomatically test accounts for being shadow banned and marked as banned in database.
quest_layer_swapfalseThis option for questing will hold on to AR Quests and try to move to 'ar only scans' over time. When set to 'true' it will try and drop ar quests if you have them as required, unless your account is marked as ar banned).

Dynamic Location Delay

Make location_delay(max) dynamic by tuning against initial_gmo_success_rate(percentage), limited by minimum_location_delay(min).

This is applied per worker and resets to the max value(location_delay) after an account is rotated. Every 50 steps Dragonite checks the success rate of GMOs without retries and adjusts location delay accordingly.

#Example configuration
location_delay = 7000
initial_gmo_success_rate = 80
minimum_location_delay = 3000 

Accounts section

#[accounts]
#required_level = 31
#leveling_level = 31
KeyDefaultDescription
required_level30Minimum account level required to be used for scanning/questing. This only accepts level 30-40.
leveling_level30Maximum level an account should reach during the leveling process. This only accepts level 30-32.

Rotom section

[rotom]
endpoint = "ws://127.0.0.1:7071"
#secret = ""
KeyDefaultDescription
endpoint"ws://127.0.0.1:7071"This is the URL for your Rotom service.
secret""When Rotom secret configuration is enabled you must pass a secure token so Dragonite is able to communicate.

Logging section

[logging]
save = true
#debug = false
#max_size = 500 # MB
#max_age = 30 # days
KeyDefaultDescription
savetrueWhen enabled Dragonite will write log files to disk.
debugfalseWhen enabled Dragonite will write debug logging, which is very "chatty" and not required for general usage.
max_size500Max size that Dragonite will allow log files to grow before being deleted.
max_age30Time that logs will live on disk in days before Dragonite deletes the log file.

Processors section

[processors]
golbat_endpoint = "http://127.0.0.1:9001"
golbat_raw_bearer = ""
golbat_api_secret = ""
#golbat_grpc_endpoint = "127.0.0.1:50001"
KeyDefaultDescription
golbat_endpoint"http://127.0.0.1:9001 (opens in a new tab)"Golbat (http) Endpoint is singular and will configure an endpoint for raw sending and API.
golbat_raw_bearerfalseGolbat raw bearer value (empty string for none).
golbat_api_secret500Golbat secret when making api calls (empty string for none).
golbat_grpc_endpoint30When enabled dragonite will not send raws to the golbat_endpoint (http endpoint).

Database section

[db.dragonite]
host = "127.0.0.1"
...
KeyDefaultDescription
host"127.0.0.1"Database host address.
port3306Database port address.
user""Database username.
password""Database password.
name"dragonite"Database table name.
pool_size1Database pool size is used to control how many connections are made from Dragonite.