5. Dashboard - RealDeviceMap/RealDeviceMap GitHub Wiki

The dashboard will give you access to the various RDM menus.
At the bottom of the dashboard you will also find some useful information:

  • Processing: threads/thread limit (processed threads/total threads - ignored threads)
  • Device: active devices/total devices
  • Active Pokémon: Pokémon w/o IV (Pokémon with IV)
  • Uptime: start time (uptime)
  • Version: branch or pr (commit hash)

Settings

General

  • Page Name: The name of your map, will be shown at the top left of the browser.
  • Locale: Display language of your map. en is fully supported, de and fr are partly supported.
  • Buttons Left: Add links to the top starting from the left.
  • Buttons Right: Add links to the top starting from the right.

Map

  • Start Latitude\Longitude: This will be the center of the map when you first open it up.
  • Start Zoom: Starting zoom level of your map (default: 14).
  • Min/Max Zoom: Range of the zoom levels.
  • Tileservers: Map styles for your map. To host your own tileserver check out SwiftTileserverCache.
  • Icon Styles: Icone styles for your map. For some options check out How to use Map Images.
  • Cities: Shortcut to cities at the top of the browser.

Pokemon

  • Max Pokemon ID: the highest avaiable Pokemon ID currently available in the game.
  • Default time left on new pokemon (in seconds): If you are doing 10 minute rounds on your instances this could be set to 1200 (20 minutes)
  • Default time left on re-seen pokemon (in seconds)
  • Ditto Disguises: obsolete

Pokestops

  • Lure Time: default lure duration (in seconds)

Gyms

  • EX-Raid Boss ID: The currently available EX-raid boss
  • EX-Raid Boss Form: The currently available EX-raid boss form

Mail

Your mail information, used for user sign up.

Discord

Your Discord bot information, used to assign user permissions.

Google

  • Analytics ID
  • Ad-Sense ID

Navigation

  • Statistics Url

Device API

  • Device Endpoint Whitelist: whitelist devices that can send data to your map.
  • Device Endpoint is behind proxy
  • Device Endpoint Secret: password to secure your endpoint.

Misc

  • Enable Clearing of removed Pokestops/Gyms: RDM will automatically clear any pokestops that are not found/possibly removed or turned into a gym.
  • Enable Register: add/remove the register button on login page.

Devices

This menu lets you check out all connected devices, online and offline, and assign instances to devices.

  • UUID: The name of your device (must be unique)
  • Username: Ingame trainer name.
  • Instance: The name of the assigned instance for the listed device.
  • Host: The external IP of the device.
  • Last Seen: The last time RDM had communication with the listed device.

To remove a device from the table you need to do it from the database.

Device Groups

This is an extension to devices. Here you can bundle devices into groups and assign an instance to the whole group.

Accounts

You can add new accounts and get an overview of all the added accounts. To add accounts you need to specify the account level, and optionally a account group. Format: username,password (Acceptable delimiters are: ',', ':', ';') Note: Only use PTC accounts

  • Banned: the account is banned, cannot be used again.
  • Warning: the account got a RW. Spawns will be limited, but can still be used for questing (option in yml file).
  • Invalid: either username or password is wrong.
  • Other: the account is suspended for example, 30 day ban.
  • Cooldown: the account has jumped too much between interaction and need to cool down, up to a maximum of 2h.
  • Spin limit: account has spun 1200/day or 7000/week. The weekly limit is a rolling counter and does not reset on a specific weekday.

To remove accounts you need to do it in your database.

Instances

Instances control the devices. Each Instance has a specific scheduler type. Instances can have multiple devices asigned to it.
Each instance type will display a different status:

  • Circle (Smart) Pokemon: Time required to complete the route once in s. "Round Time: 600s"
  • Circle (Smart) Raid: Time required to complete the route once in s. "Round Time: 600s"
  • Auto Quest: Initially it will show the bootstrap status. For the actual questing it will show "quests gotten|quests tried/quest total"
  • Pokemon IV: shows the queue length (clicking on queue will display queue) and Pokemon IVed per hour "Queue: 500, IV/h: 12000"
  • Leveling: shows recently finished and progress of accounts being leveled. "scan_account1: Lvl.28 68.1% 3,830,097XP/h 0h9m"

Scheduler Types:

Circle Pokemon

scans IV for nearby (~70m) Pokemon at exactly the coords specified

  • Name: A unique name of the Instance.
  • Timezone offset: Not used.
  • Min Level: Minimum worker level to be used. Set to 30 to get the same IV.
  • Max Level: Maximum worker level to be used.
  • Scan Area: List of Lat,Lon that the worker will teleport to to scan for Pokemon.
  • Account Group: Group from which an account will be pulled for this instance.
  • Is Unique Event: implemented for ticketed events. When activated, spawns will be separated from standard spawns.
  • Note1: Devices will teleport while looping through the coordinates one by one.
  • Note2: The worker will stay at each location for a few seconds and then move on to the next lat,lon

Circle Smart Pokemon

scans IV for nearby (~70m) Pokemon at exactly the coords specified

  • Name: A unique name of the Instance.
  • Timezone offset: Not used.
  • Min Level: Minimum worker level to be used. Set to 30 to get the same IV.
  • Max Level: Maximum worker level to be used.
  • Scan Area: List of Lat,Lon that the worker will teleport to to scan for Pokemon.
  • Account Group: Group from which an account will be pulled for this instance.
  • Notes: The worker will stay at each location for approximately 10 seconds and then move on to the next lat,lon
  • Is Unique Event: implemented for ticketed events. When activated, spawns will be separated from standard spawns.
  • Note: All the settings are the same as circle Pokemon. The only difference is how the devices teleport. They do not line up one behind the other anymore, but are instead spread apart equally to get a better coverage.

Auto Pokemon

scans IV for nearby (~70m) Pokemon for coordinates in a given geofence(s) specified in scan area based off of spawn times

  • Name: A unique name of the Instance.
  • Timezone offset: Not used.
  • Min Level: Minimum worker level to be used. Set to 30 to get the same IV.
  • Max Level: Maximum worker level to be used.
  • Scan Area: List of geofences to query for spawnpoints. You can use multiple geofences for this instance.
  • Account Group: Group from which an account will be pulled for this instance.
  • Is Unique Event: implemented for ticketed events. When activated, spawns will be separated from standard spawns.
  • Note: This spawn mode is for those that require better spawn times remaining on pokemon than the other circle pokemon modes. The circle modes can cover more spawnpoints per hour at the expense of timer quality. This mode gives the best timers on spawns at the cost of assigning more devices to the instance. You may assign multiple devices to this instance, they will leapfrog over each other.
  • Note on spawn time lengths: Since there is no accounting for 60min spawns in RDM, this instance assumes all are 30min spawns.
  • Notes for setup and tuning: For first run, I would only assign one device so that you can get a count of spawnpoints in the geofence. For calculating the amount of devices refer to your seconds/jump. With that information you can calculate the maximal amount of spawnpoints covered in an hour assuming they are evenly distributed. For 3s/jump it's recommended to use 900-100 spawnpoints/device.

Auto TTH

determine TTH (time till hidden) for spawnpoints in a given geofence(s)

  • Name: A unique name of the Instance.
  • Timezone offset: Not used.
  • Min Level: Minimum worker level to be used. Set to 30 to get the same IV.
  • Max Level: Maximum worker level to be used.
  • Scan Area: List of geofences to query for spawnpoints that need tth found. You can use multiple geofences for this instance.
  • Account Group: Group from which an account will be pulled for this instance.
  • Is Unique Event: implemented for ticketed events. When activated, spawns will be separated from standard spawns.
  • Note: This mode is intended narrow down tth for a given geofence(s). As designed, you give it geofence(s) and it works through them until it runs out of coords without tth, then switched to Auto Pokemon (you will see the status change and a note will be displayed in debug log). You may assign multiple devices to this instance, they will leapfrog over each other.
  • Notes for initialization: Be sure to properly bootstrap (initialize) an area. At a mininum, you want three evenly timed passes at 0min, 20min and 40min past the top of the hour. Since that proposition is difficult, I like to do more passes than 3, but you do you. If your spawns are close to each other, you can get away with a crummy init as they will get found during the process of finding tth for other points, then get worked in during the next grind during the next requery.
  • Notes for tuning: This instance requeries the database for spawnpoints without tth every 10min, at which point it sets the location to zero. This way, it will work over the starting coords more frequently than it would if it just stayed at the same spot that ended the prior iteration, giving it a better chance of finding tth.
  • Further tuning: You can always use this mode to find tth in a larger or separate areas than you would utilize in production scanning. As it can take multiple geofences, might as well have one instance do all the tth finding with near zero interaction from you. Use multiple devices on a single auto tth instance with multiple geofences, it will work through them all until it runs out.

Circle Raid

scans for nearby (~650m) raids at exactly the coords specified

  • Name: A unique name of the Instance
  • Timezone offset: Not used.
  • Min Level: Minimum worker level to be used.
  • Max Level: Maximum worker level to be used.
  • Scan Area: List of Lat,Lon that the worker will teleport to to scan for Pokemon.
  • Account Group: Group from which an account will be pulled for this instance.
  • Is Unique Event: Not used.
  • Notes: The worker will stay at each location shorter than circle Pokemon. Therefor no Pokemon will be scanned.

Auto Quest

scans all Pokestop in the geofence for quests

  • Name: A unique name of the Instance
  • Timezone offset: Your timezone offset from GMT in seconds. This is used to auto clear your database quests at midnight local time.
  • Min Level: Minimum worker level to be used. Set to 30 because all items are unlocked.
  • Max Level: Maximum worker level to be used.
  • Scan Area: This scheduler type requires your database to be populated with pokestops already and then uses geofences to pull the pokestops. You can use multiple geofences for this instance.
  • Spin Limit: Limit spins of individual accounts.
  • Delay Logout: If an account is on cooldown, RDM will wait this amount of time until it switches out the accounts.
  • Quest Mode:
    • Normal: The account has an AR quest in its inventory.
    • Alternative: The account has no AR quest in its inventory.
    • Both: RDM will try to get all the quests, with and without AR. There is no order.
  • Account Group: Group from which an account will be pulled for this instance.
  • Is Unique Event: Not used.

Pokemon IV

scans pokemon for IV’s

  • Name: A unique name of the Instance
  • Timezone offset: Not used
  • Min Level: Minimum worker level to be used. Set to 30 to get the same IV.
  • Max Level: Maximum worker level to be used.
  • Scan Area: This instance uses geofences like above.
  • Pokemon IDs: List from highest priority to lowest of the pokemon you want to scan for IVs (Use * for ALL).
  • Scatter Pokemon IDs: obsolete
  • IV Queue Limit: maximum number of Pokemon in the queue
  • Account Group: Group from which an account will be pulled for this instance.
  • Is Unique Event: implemented for ticketed events. When activated, spawns will be separated from standard spawns.
  • Notes: Put the highest priority IDs at the beginning, things like Tyranitar, Dragonite, etc. but also put other IDs after so the IV workers are always working. If a high priority pokemon spawns it will jump to the top of the list.

Leveling

  • Name: A unique name of the Instance
  • Timezone offset: Not used
  • Min Level: Minimum worker level to be used. Set to 0 to level fresh accounts.
  • Max Level: Maximum worker level to be used. Set to 29 to stop when level 30 is reached.
  • Scan Area: This instance uses a coordinate combined with a radius.
  • Radius: Maximum distance the account will travel.
  • Store Data in Database: Toggle to keep scanned quest in database
  • Account Group: Group from which an account will be pulled for this instance.
  • Is Unique Event: Not used.

Auto-Assignments

Auto-Assignments is used to automate instance assignments. You can configure which instance will be run by which device at a certain time of the day and even on a specific date.

  • Select Target Device: Device or Device Group to be used
  • Select Source Instance: only used if you want to chain a specific device from specific instance. You can leave it to any if that doesn't matter.
  • Select Destination Instance: select that instance that should be activated.
  • Time : select at which time of the day the assignment should start. Could be in UTC0 if you did not adjust server time. Leave empty if you want this assignment to start once the previously chained assignment(quest only) finishes.
  • Date: select what day the assignment should run. Leave empty if you want it daily.
  • Create On Complete Auto-Assignment: as explained above, only works when following a quest instance.
  • Enable Auto-Assignment: to activate this auto-assignment

Assignment Groups

Assignment Groups facilitates the activation of multiple auto assignments. With one click all assignments will be activated. You can also use re-quest, which will erase all quest from the selected quest instances and immediately start questing again.

  • Name: Custom name to identify the assign group.
  • Select Assignments: select assignment that should be added to this group. Click and drag or use ctrl/shift click to select multiple.

Webhooks

  • Name: Custom name
  • URL: one webhook url, https://ip:port/
  • Delay: delay in seconds before sending, minimum 1.0
  • Select Type(s): Select which type of data should be sent.
  • Area: (Optional) restrict webhook data to area. Geofence in the following format - one set of latitudes,longitudes per line.
  • Blacklists: in the following fields you can add data of the respective type which will not be sent.
  • Enable Webhook: to activate this webhook.

Users

All registered users will be displayed on this page. You can assign a permission group to each user.

Groups

These are permission groups. You can assign permissions arbitrarily to any group. Admin has all access and it is required to use the RDM API.

Discord Rules

Utilities

Here are some useful tools to manage RDM.

  • Clear All Quests: this will clear all quest from the database, including quests that are not part of any instances.
  • Clear In-Memory Cache: clear memory that is stored in cache (pokemon, pokestop, gym, spawnpoint, weather, incident). Instead loading information from database all the time cache is used. If you modify database entries manually the cache will overwrite the entry again.
  • Truncate Pokemon Table: to clear the Pokemon table, because even when spawns have expired, the pokemon are still stored in the database. Recommended before any database migration which is affecting pokemon table.
  • Convert Pokestops to Gyms: when certain Pokestops have convert to Gyms in the game, this will copy relevant information from pokestop to gym (e.g. name, photo, ...).
  • Delete Stale Pokestops: the number of Pokestops that have not been seen in 24h will be displayed and you can delete these Pokestops from the database.