Questing Bots 0.10.1

Do not ask when mod authors will update their mods or if they can upload older versions of their mods.
Bothering mod authors will lead to warnings and repeat offenses will lead to bans.
Due to an unusually high volume of traffic, our site may be experiencing intermittent slowdowns. If you notice any issues, log out of your account and browse anonymously so you can better utilize caching or try using forge.sp-tarkov.com to search for and download mods.

You're no longer the only PMC running around placing markers and collecting quest items. The bots have transcended and are coming for you...

SAIN 3.3.0 or later and Looting Bots 1.5.2 or later are highly recommended!


This mod may have a performance impact, but it should be minimal starting with the 0.5.0 release. If you notice performance problems, please try using the built-in AI limiter.


Mod Compatibility:

REQUIREDBigBrain (1.3.2 or later)
Waypoints (1.7.1 or later)
Highly Recommended
SAIN (3.3.0 or later recommended)
Looting Bots (1.5.2 or later recommended)
NOT Compatible
AI Limit or any other mods that disable AI in a similar manner. This mod relies on the AI being active throughout the entire map. Starting with 0.2.10, Questing Bots has its own AI Limiter feature. Please see the tab below for more information.
Partially Compatible
Fika (If you're using the Questing Bots spawning system, you must disable Enforced Spawn Limits in the F12 menu for Fika)

Traveler, Entry Point Selector, and similar mods that significantly reduce spawn points (You MUST use another mod like SWAG + DONUTS to manage bot spawning when using this mod. Otherwise, bots will spawn right in front of you.)

Please Just Fight (This mod should only be used if you're not using the Questing Bots spawning system)

Declutterer (Causes crashes for some people; use at your own risk)
CompatibleSWAG + DONUTS (Bot spawning in this mod will be automatically disabled)
Late to the Party
Performance Improvements (Must be version 0.2.4 or newer)


NOTE: Please disable the bot-spawning system in this mod if you're using other mods that manage spawning! Otherwise, there will be too many bots on the map. The bot-spawning system in this quest will be automatically disabled if any of the following mods are detected:


[tabmenu]


Please see the README or https://github.com/dwesterwick/SPTQuestingBots for information about the configuration options in config.json and how to add custom quests.

  • Version 0.10.1

    Changes from the 0.10.0 Release:

    • Implemented bot decision system:
      • Moved all bot "status" checks into separate "monitors" that are managed by a central component. Each monitor class extends an abstract class, so more can be easily added.
      • IsActive() checks in brain layers now just need to check if a decision is active instead of making that choice in each layer. This should provide a small performance improvement.
      • Decisions will now be accurate regardless of which brain layer's IsActive() method returns true first (#63)
      • Updated bot-info overlay debug gizmo to show bots' current decisions instead of "not xxx reasons"
      • Improved bot-info overlay debug gizmo accuracy
      • Added an interop method, GetCurrentDecision(BotOwner bot), to get a bot's current decision (#45)
      • Added a sample patch and component for demonstrating how the new interop method works
    • Rewrote handling of external mods:
      • Consolidated detection and interaction with external mods into one class
      • Added framework to change what code is used for certain functions (currently looting, extracting, and ignoring hearing) depending on what mods are installed
      • Moved mod compatibility checks to occur at the same time
      • Removed redundant external mod checks every time a bot spawns
    • When spawning late as a Scav, only reduce the number of quests performed (before extraction) by bots that initially spawn, not ones that spawn afterward. This makes the flow of Scav raids feel more convincing.
    • Removed obsolete checks to only allow Lightkeeper Island quests or to force SAIN to reset bot decisions depending on what version of SAIN is installed. Also removed corresponding config values.
    • Consolidated queries for a bot's current brain layer and logic into one location
    • Refactored SPT version check before checking for external mods
    • Refactored nVidia Reflex check when the main menu is shown
    • Wrap ShallUseNow() call in LogicLayerMonitor in a try-catch block in case there's an exception in another mod or base EFT
    • Bug fix for exception in BotsGroup.method_17() when a bot dies after being separated from its group


    Known Issues:

    • A flicker occurs whenever EFT spawns bots, even when the Questing Bots spawning system is disabled. I have no idea why.


    config.json files from the 0.10.0 release are compatible.

  • Version 0.10.0

    Huge thanks to @ozen-m for helping with 3.11 updates!


    Changes from the 0.9.1 release:

    • Updated to SPT 3.11.x (3.11.2 or later required per #55)
    • Increased required version of Waypoints from 1.6.2 to 1.7.1 (#74)
    • Increased required version of BigBrain from 1.2.0 to 1.3.2
    • Added new quests for the following areas: (#64)
      • Customs expansion
      • Labs containment block area
      • Marked Circle Bunker on Woods
      • Unity Credit Union on Streets
    • Added location overrides for some quest items added in SPT 3.11
    • Updated bot generation code:
      • Follow new SPT approach of generating and caching bots in the client, not the server (#58)
      • Disable SPT's PMC generator when using the Questing Bots spawning system
      • Use SPT code to generate names for player Scavs (#53)
      • Add game versions and game member categories to player Scavs
      • Expand blacklisted brain types to include player Scavs (#61)
      • Changed all bots to be generated with player side EPlayerSide.Savage, as expected by the EFT client. SPT then changes this for PMC's.
      • If the number of bots generated is less than the number requested, try again and show a warning message
      • If a player Scav was requested but not generated, try again and show a debug message
      • Show the names of bots generated in game console messages (as a check to ensure PMC's aren't mixed with PScavs)
      • Reduced delay between generating bots from 20ms to 5ms
      • Ensure bot questing data is destroyed before the bot can be recycled and spawned later (as part of the bot cache per #71)
      • Improved robustness of code that detects of a bot is a player Scav
    • Automatically disable the Questing Bots spawning system if Acid's Bot Placement System is detected
    • [WIP] If SAIN is not installed, try using EFT's extraction logic instead (#67)
    • Rewrote all debug gizmo code:
      • Implemented abstract gizmos and a system that allows new ones to be generated and managed easily
      • Added gizmo to view both paths
      • Added gizmo to view the next node in a bot's path
      • Added gizmo to view the target location of a bot's path
      • Added advanced F12 menu option to only show bot info overlays for certain bot numbers (all are shown if no number are entered)
      • Added options in the F12 menu to enable gizmos separately for bots that are questing, followers of questing bots, and all other bots
      • Show the brain names of bots in their info overlays
      • Hide questing information in bot info overlays when they're sleeping
      • Do not disable the path renderer component if debug.enabled=false (now required for some debug gizmos)
      • Minor performance and memory-consumption improvements
    • Improved handing of bot sprinting:
      • Copied new EFT code when bots sprint, which also ensures they're standing and makes them stop aiming at targets
      • Detect when EFT wants bots to sprint, and try to make them if they aren't already sprinting
      • Added debounce timer to force bots not to sprint again for a certain time (3s by default) after they stop sprinting
      • Only allow bots to sprint if they're allowed by EFT
    • Force bot path data to update in the following cases (preventing bots from standing still until "stuck"):
      • Questing Bots doesn't have any path data for the bot
      • Questing Bots has path data for the bot but EFT doesn't
    • Allow different brain-layer priorities to be used when SAIN is or is not installed
    • Allow bots to check for mines and check their magazines while moving
    • Show a warning message in the game console every 3s if bot groups fail to spawn (#70)
    • Only recalculate a bot's path if its target location moves beyond a certain distance (3m when following bosses per #68, otherwise 0.2m by default)
    • Only recalculate a bot's path if a Questing Bots brain layer is active
    • After a bot completes its objective, clear its path data
    • If a bot gets stuck, only allow it to jump or vault if it's on the ground
    • Before making bots jump or vault, stop their movement and ensure they're standing first (#73)
    • Improved performance when retrieving bot questing data
    • Instead of returning null if BotPathingHelpers.GetCurrentPath finds a null path, return an empty array
    • Improved server messages while applying initial changes for Questing Bots
    • Added unused code to reverse a bot's path
    • Changed the log level for some client messages
    • Lots of refactoring
    • Removed unused code
    • Bug fix for EFT exception causing bots to "break" when they die or despawn (#62)
    • Bug fix for duplicate bot groups spawning (#69)
    • Bug fix for PMC's not being hostile toward bots of the same side (#66)
    • Bug fix for bots not being able to resolve some quest locations on Lighthouse (#75)

    Known Issues:

    • [EFT Bug] Bots sometimes teleport and move erratically when opening doors (#51)
    • [EFT Bug] Bots sometimes teleport and move erratically when unlocking doors
    • Bots sometimes move erratically when following their bosses


    config.json files from previous releases are not compatible.

  • Version 0.9.1

    Gameplay Changes:

    • Added adjustments to EFT Scav spawns when using the Questing Bots spawning system (#44). See the Overview tab or the README for a description of the system concept and details about each setting.
    • When using the Questing Bots spawning system, register PMC's and player Scavs as actual players in EFT to reduce the chance that Scavs will spawn near them
    • Regularly update the BotZone for bot groups to be whichever one is closest to its boss. This prevents them from running far away whenever they stop questing, and instead they should patrol the local area.
    • Reduced the desirability of EFT quests from 60 to 50
    • Reduced the desirability of boss hunter quests from 40 to 30
    • Reset all map-specific bot-cap adjustments in bot_spawns.bot_cap_adjustments.map_specific_adjustments to 0
    • Prevented PMC's and PScavs from spawning inside the broken silo on Factory
    • Allow bots using PmcBear and PmcUsec brain types to quest
    • Changed bots_per_group_distribution and bot_difficulty_as_online arrays for PMC's and player Scavs from using interpolation to using chances. In the new format, the chance that the value in the left column will be selected is defined in the right column. Chances values do not need to add up to 100; the algorithm simply uses relative weighting (for the numbers in the second column) between rows.
    • Revised the chances that various bot difficulties will be selected and bot groups will be of various sizes for PMC's and player Scavs. Most notably, PMC's are more likely to spawn as solos compared to previous releases.
    • Reverted when PMC conversion chances are adjusted from the /client/game/start endpoint back to when the plugin loads. This will allow future versions of Realism (>1.5.0) to work with the Questing Bots spawning system without having to make any configuration changes.
    • Bug fix for crashing or freezing when loading into raids if a custom trader mod is used that has quests with prerequisites containing circular references to other quests. (#43)
    • Bug fix for incessant exceptions when the BotObjectiveManager component is not disposed when a bot is disposed (due to an error). This is mostly seen on Fika servers. (#46)
    • Bug fix for bot group members attacking bots that are separated due to being stuck or healing for too long (#47)
    • Bug fix for the new rewrite of DONUTS not being detected (if DONUTS is installed without SWAG)
    • Bug fix for bosses not spawning when playing solo using a Fika dedicated server (#49)

    Code Changes:

    • Added server and client validation of arrays in config.json including a check to ensure an older version of the file isn't used
    • Prevented the "advanced spawning system" from being disabled
    • Removed the obsolete contents of the bot_spawns.bot_cap_adjustments section in config.json and related code. The contents from the previous bot_spawns.advanced_eft_bot_count_management section (with the enabled setting removed) were then moved to this section.
    • Revised the abstract bot generator class to prevent bot-generator instances from overriding Unity's Awake and Update methods. Instead, these methods call new methods (Init and Refresh, respectively) that must be implemented in each bot-generator instance. This is a breaking change for any spawn mod that uses the Questing Bots spawning system as its framework!
    • Set the maximum generated bot count for bot generators in the Awake method instead of the constructor
    • Moved the PendingSpawnPoints list into the abstract bot generator class because it's needed for all instances of it
    • Changed the method patched when activating bots from method_11 to method_10
    • Added some additional error handling to PMC and player Scav spawning
    • Added debug patches to expose errors discarded in EFT's HandleFinishedTask methods (currently disabled)
    • Changed more logging messages from Info to Debug or disabled them
    • Reorganized patches into multiple namespaces
    • Minor refactoring
    • Removed obsolete code


    config.json files from previous releases are not compatible.

  • Version 0.9.0

    • Updated to SPT 3.10.x (#39)
    • Increased required version of Waypoints from 1.5.2 to 1.6.2
    • Increased required version of BigBrain from 1.0.1 to 1.2.0
    • Updates for the new Factory map:
      • Updated standard quests
      • Prevent bots from spawning outside of the building where the transit is located
      • Increased max_alive_bots from 5 to 7
    • Updated management of bots on Lightkeeper Island:
      • Use EFT's LighthouseTraderZone class for tracking which bots are allowed on the island and currently on the island
      • Use the collider in LighthouseTraderZone to determine the boundary of Lightkeeper Island for changing bot hostilities instead of hardcoding corner locations (but keep the hardcoded points as a failsafe in case the collider is null)
      • Force Zryachiy and his followers to become hostile toward you if your DSP encoding is removed
      • Force your DSP encoding to be disabled and Lighkeeper trader rep to be reduced if you kill another player on Lightkeeper Island, unless that player is also an aggressor on the island
    • Added (configurable) overrides for EFT's new bot hostility settings:
      • Added override to force all PMC groups to be hostile toward each other
      • Added override to force PMC groups to be hostile toward Scavs (and vice versa)
    • If the spawning system in this mod is used, remove all PMC waves in BSG's PvE settings
    • If Performance Improvements versions 0.2.1 - 0.2.3 is loaded, show a constant error in the game, and write an error to the server and game consoles.
    • If Please Just Fight is loaded with the Questing Bots spawning system enabled, show an error in the game, game console, and server console.
    • Automatically disable this mod's spawning system if Reality is loaded
    • Hardcoded some quest locations on various maps
    • Slightly reduced the chances that PMC and PScav groups of 3 or more members will spawn
    • Prevented PMC's and Partisan from being included in Boss Hunter quests
    • Wait for EFT's "bot preset" bot generation to finish before starting this mod's bot generation
    • Ensure the server's PMC conversion chance is 0% before EFT's "bot preset" bot generation begins
    • Adjust PMC conversion chances when the /client/game/start endpoint is called instead of when the plugin loads. The endpoint might be changed in the future to improve compatibility with Realism.
    • Improved the robustness of the code that verifies PMC-conversion chances haven't been changed by another mod, and write warning messages to the server to explain what changed if the verification fails
    • Create a "fake stash" for keys before transferring them to bots that are about to unlock doors
    • Only show warning messages about null quest templates once when loading into a raid instead of when processing each quest
    • Removed many debug options and moved them to a separate mod
    • Changed the logging level for many client messages (mostly from Info to Debug)
    • Some refactoring but much more is needed
    • Removed obsolete methods from the client and server code
    • Bug fixes for problems introduced in SPT 3.10:
      • Bug fix for remaining members of a bot group generated by this mod not becoming followers after a boss is set
      • Bug fix for a new boss of a PMC group generated by this mod not being set when the initial one dies
      • Bug fix for a new boss not being selected if the current one is separated from its group (due to being stuck for too long)
      • Bug fix for bot paths not avoiding airdrop crates (EFT issue)
      • Bug fix for initial raid setup failing when WorldInteractiveObjects with the same ID are found on the map (EFT issue)
      • Bug fix for exceptions when sounds fail to play while bots perform certain actions if you're using a third-person view
    • Bug fixes for remaining problems from previous SPT releases:
      • Bug fix for door and switch interactions not working for all clients when using Fika
      • Bug fix for PScav groups generated by this mod allowing Scavs who spawned earlier to join
      • Bug fix for bots generated by this mod being allowed to join other bot groups
      • Bug fix for PMC spawn points being too restricted when spawning at the beginning of a Scav raid
      • Bug fix for 0 bots being infinitely generated for bot groups. Ensure at least 1 PMC and 1 PScav is generated (if those generators are enabled).
      • Bug fix for StackOverflowException when finding the required level for a quest added by a custom trader that has circular references in its prerequisites. When this happens, show an error in the game console and server console, and set the required level for that quest to 1.
      • Bug fix for exception when airdrops land for Fika client machines


    config.json files from previous releases are not compatible.

  • Version 0.8.1

    SAIN 3.1.0 or later and Looting Bots 1.3.5 or later are highly recommended!

    • Renamed the "Distance from PMCs (m)" F12 menu option to "Distance from Bots That Are Questing (m)"
    • Instead of showing a warning message when QuestManiac is detected, make it incompatible. Quests take far too long to process, and the performance impact is too significant to tolerate.
    • Simplified the code needed to create custom bot generators using this mod's spawn system (a patch is no longer needed)
    • Disabled logging messages when bots are forced to be hostile toward bosses
    • Disabled server messages showing BotSpawnPeriodCheck values
    • Use the SPT method for getting members of a bot group
    • Made all Unity methods protected instead of private because the recent Visual Studio update is dumb and forces them to be faded out
    • Removed unused OnGameStarted patch
    • Bug fix for PMC spawns being too close together when using other mods that allow more than one human player (#38)
    • Bug fix for bots incorrectly being prevented from grouping together
    • Bug fix for Zryachiy and his followers not able to be excluded from the AI limiter
    • Bug fix for followers of bots with quests on Lightkeeper Island setting off the mines on the bridge


    config.json files from the 0.8.0 release are compatible.

  • Version 0.8.0

    SAIN 3.1.0 or later and Looting Bots 1.3.5 or later are highly recommended!

    • Increased required version of SPT from 3.9.0 to 3.9.6
    • Increased required version of Waypoints from 1.5.1 to 1.5.2
    • Added support for bots doing quests on Lightkeeper Island:
      • If a bot selects a quest on Lightkeeper Island, it will become allied with Zryachiy and his followers
      • Once a bot passes through the gate on the bridge leading to Lightkeeper Island, it will become temporarily allied with all bots beyond that point on the bridge or anywhere on the island. After the bot returns back through the gate going in the opposite direction, it will end its temporary alliances.
      • Bots that select a quest on Lightkeeper Island will be able to pass through the claymores on the bridge without setting them off even if you can't
      • Any player that kills a bot beyond the gate leading to Lightkeeper Island or anywhere on the island will receive negative Lightkeeper rep and have their DSP encoding disabled
      • Added Lightkeeper Island quests (only allowed for PMC's level 35 or higher)
      • If SAIN is detected, it must be at least a certain version for Lightkeeper Island quests to be enabled. This is currently set to SAIN 3.1.2, which has not been released! Previous versions of SAIN do not allow enemy bots to become allies during the raid.
    • Significantly improved bot path-finding to quest objectives in the command bunker and around D2 in Reserve
    • Added D2 camping quests to Reserve
    • Added remedies for bots getting stuck while questing:
      • If a bot becomes stuck for >6 seconds (configurable) while doing a quest, it will try jumping over the obstacle in front of it. It will retry this every 4 seconds (configurable) until it gives up.
      • If a bot becomes stuck for >8 seconds (configurable) while doing a quest, it will try vaulting over the obstacle in front of it. It will retry this every 4 seconds (configurable) until it gives up.
      • If either remedy is used, bots will recalculate their paths to their objectives after they land back on the ground
    • Added setting to F12 menu to only enable the AI limiter if there are at least a certain number of bots on the map (15 by default)
    • Added optional forbiddenWeapons field to quests to prevent bots from using weapons that are not appropriate for the quest. If the types of all of the bot's weapons are in the array, it will not be allowed to select the quest. This is mostly used to prevent bots from using pistols and shotguns for sniping quests and using sniper rifles for ambush quests.
    • Separated boss hunter quests into individual quests for each boss instead of a single quest for all of them. The name of each quest will now contain the boss's name, so it's easier to understand what bots are doing using the bot debug overlays.
    • Blacklisted Zryachiy and his followers, "skier", and "peacemaker" from Boss Hunter quests
    • Changed the min/max number of EFT quests a bot needs to complete before trying to extract from 2/5 to 2/4
    • Changed the min/max number of non-EFT quests a bot needs to complete before trying to extract from 6/12 to 3/8
    • Changed the default bot-cap adjustment for Factory Day from 13 to 0 because the SPT location data for it has been fixed
    • Use SPT's USEC chance when generating PMC's instead of having a fixed 50% chance
    • Changed the way bot-generation requests are intercepted so a custom endpoint is no longer needed
    • Show an error when the game starts if this mod's spawning system and nVidia reflex are both enabled
    • Prevent PMC's and PScavs spawned by this mod from being forced to be hostile with Zryachiy and his followers, the BTR, or Santa
    • Always allow bots to join boss bot groups
    • If a bot's state is not EBotState.Active, show its state in its bot overlay instead of any other information
    • Added debug setting to make all PMC's friendly
    • Simplified the method used to generate bot groups
    • Stop trying to find static paths to invalid quest objectives
    • Removed the patch that fixed a bug with bot Standby logic because it's no longer needed
    • Use the SPT method for getting members of a bot group
    • Ensure private fields are arguments in patches, not accessed via reflection while the patch runs
    • Ensure private fields that cannot be arguments in patches are cached when the patch is created
    • Added unused method to prevent a bot from sprinting for a certain amount of time
    • Added unused method to delete all static-path data
    • Fixed typo in message when bots are ready to extract after completing a certain number of quests
    • Added warning messages when processing EFT quests if any of their templates are null
    • Bug fix for the AI limiter not working on Ground Zero when you are level 21 or higher
    • Bug fix for errors when bots try unlocking doors that no longer exist (namely because they were destroyed by Backdoor Bandit)
    • Bug fix for bots trying to unlock the same door multiple times
    • Bug fix for error when multiple waypoints for a quest are connected with a static path
    • Bug fix for redundant static paths being generated (where one is the reverse of another)
    • Bug fix for error spam if a questing bot's path data is null
    • Bug fix for respawns of Zryachiy's followers not being able to join his bot group
    • Bug fix for the members of the wrong bot group being used to check if a bot can join a bot group
    • Bug fix for not being able to override properties of quests that are private, arrays, or reference types via eftQuestSettings.json
    • Bug fix for quest zone positions not able to be changed via zoneAndItemQuestPositions.json


    config.json files from previous releases are not compatible.

  • Version 0.7.0

    SAIN 3.0.4 or later and Looting Bots 1.3.5 or later are highly recommended!

    • Updated to SPT 3.9.x
    • Increased required version of Waypoints from 1.4.3 to 1.5.1
    • Increased required version of BigBrain from 0.4.0 to 1.0.1
    • Improved the interaction between Questing Bots and SAIN:
      • Reduced brain-layer priorities of questing and boss-following to be less than SAIN's brain-layer priorities. This fixes issues where bots would prematurely end combat and run away, and bots will generally be much more alert, patient, and effective in combat. However, they will also tend to perform significantly fewer quests throughout the raid.
      • Added a new brain layer (with a higher priority than SAIN's) to make bots retreat and support their boss if their group is in combat and they're not in immediate danger. This prevents bot groups from becoming too spread out and running around the same general area chasing each other between engagements. The distance thresholds are configurable, but by default they will use this layer if they're more than 35m away from their boss, and they will stop using the layer once they are within 15m of their boss.
      • Only prevent followers from following or regrouping with their bosses if they need to heal, and ignore other "able-bodied" checks. This prevents bot followers from running away and ignoring their bosses for a while instead of healing.
      • Added separate min/max pairs to questing.bot_questing_requirements.search_time_after_combat that are automatically selected based on Questing Bots's brain-layer priorities vs. SAIN's. If SAIN is prioritized, questing.bot_questing_requirements.search_time_after_combat will be 5/20 s. Otherwise, it will be 20/45 s.
    • Changed the raid-start delay to occur before the final countdown until the raid starts instead of being in parallel with it
    • Added a config option to override the radius around the BTR within which questing bots will "avoid danger" (reduced EFT's 40m setting to 10m by default).
    • Added config options to change priorities of all Questing Bots brain layers
    • Updated bot-overlay information to include the new brain layer and to hide some information when one of SAIN's brain layers is active
    • Added an Advanced F12 menu option to show your current coordinates on the screen
    • Bug fix for bots ignoring their hearing (using SAIN) when sniping
    • Bug fix for not using the "default" Scav raid-time reduction settings to generate the player-Scav spawn schedule if the location ID cannot be found in the server data


    Please use my AI Hostility Fix mod if you're using SAIN 3.0.3 (or below) or SPT 3.9.1 (or below).


    config.json files from previous releases are not compatible.

  • Version 0.6.1

    If you're using Fika, you must set bot_spawns.delay_game_start_until_bot_gen_finishes=false in config.json or bosses may not spawn. Setting bot_spawns.spawn_initial_bosses_first=true may also help to ensure there are no long delays before bosses spawn.

    SAIN 2.3.3 or later and Looting Bots 1.3.3 or later are highly recommended!

    • Added map-specific distances for the AI limiter. These can be accessed via the "Advanced" F12 menu settings, and the actual distance used is the lesser of the map-specific distance and the global limiting distance for human players.
    • Increased default min/max values of questing.bot_questing_requirements.search_time_after_combat from 10/30 to 20/45 seconds to dissuade bots from leaving combat as quickly
    • Updated the algorithm used to find locations of EFT quests. All EFT quests can now be located, which fixes problems in previous releases with finding positions for the following quests:
      • Capturing Outposts on all locations (Customs, Woods, and Shoreline)
      • Background Check on Customs
      • Return the Favor on Woods
      • Overpopulation on Lighthouse
      • Knock-knock on Lighthouse
      • Seaside Vacation on Lighthouse
      • Safe Corridor on Reserve
      • No Place for Renegades on Reserve
      • One location for Bunker Part 2 on Reserve
      • All locations for Long Line on Interchange
      • No Swiping on Shoreline
      • Multiple locations for Scrap Metal on Shoreline
      • One location for Spa Tour Part 2 on Shoreline
      • One location for Eagle Eye on Shoreline
      • Gendarmerie Mall Cop on Streets
    • Added the ability for bots to open car doors and trunks. Added/updated the following quests to use this feature:
      • Merin Car on Lighthouse
      • Truck that spawns a violet card by the Sawmill Checkpoint on Woods
      • Giving Trunk on Customs
      • Car trunk that spawns the OLI Logistics key on Customs
      • Car trunk with the medbag in the Storage area on Customs
    • Added a config option to increase the desirability of quests that are currently active for you. Desirability is increased by 1.2X by default.
    • Added config option to scale the value of BotSpawnPeriodCheck to reduce the feeling of Scavs "swarming" you. The period is 3X longer by default.
    • Added the ability to override EFT quest properties using the new config/eftQuestSettings.json file. None are changed by default.
    • Added the ability to specify target positions for bots to collect EFT quest items and doors that must be unlocked to reach them using the new config/zoneAndItemQuestPositions.json file.
    • After each objective that a bot completes for an EFT quest requiring you to place a marker, it will wait for the "protect objective" time before selecting another quest.
    • After each objective that a bot completes for an EFT elimination quest, it will wait a configurable amount of time (60s by default) before selecting another quest.
    • Implemented SAIN interop method to instruct bots to ignore their hearing when in an ambush position defined by a quest. This is needed if questing.brain_layer_priority is reduced to be a lower priority than SAIN's brain layers.
    • Stop treating assaultGroup Scavs as bosses
    • Added debug option in the advanced F12 menu to write more information about bot spawning to the game console
    • Added unused method to find the bot's weapon with the longest sighting range
    • Bug fix for CloseNearbyDoors action not working
    • Bug fix for allowing SPT 3.9.0


    config.json files from previous releases are not compatible.

  • Version 0.6.0

    Because the file structure has changed with this release, files from all previous versions of this mod must be removed before installing this version!

    If you're using Fika, you must set bot_spawns.delay_game_start_until_bot_gen_finishes=false in config.json or bosses may not spawn. Setting bot_spawns.spawn_initial_bosses_first=true may also help to ensure there are no long delays before bosses spawn.

    SAIN 2.1.12 or later and Looting Bots 1.3.0 or later are highly recommended!

    • Allow the server and client to run on different machines. To accomplish this, the following changes were made:
      • Check the positions of all non-AI players, not only the main player, when determining which bots to disable in the AI limiter
      • Check the positions of all non-AI players, not only the main player, to determine where to spawn bots
      • Added interop support that provides a method to obtain the current bot-generation progress
      • Moved the client DLL into its own folder ("DanW-SPTQuestingBots")
      • Moved the "quests" folder from the server directory to the new client directory for this mod
      • Log files will now be stored within the new client directory for this mod
      • Removed the basic quest-file validation script that runs as the server starts
      • Added a basic quest-file validation script that runs as the game starts. If quests are missing or cannot be validated, a warning message will be written to the server console, but the mod will still function.
      • Added server and client checks for an older client DLL still remaining in the "BepInEx\plugins" directory. If so, show an error when the server or game starts and disable this mod.
      • If "quests" and "log" directories from older versions of the server files still exist, write warning messages in the server console, but still allow the mod to function
      • Bug fix for boss-spawn limiting not working when there are multiple non-AI players in the raid
      • Bug fix for multiple instances of components trying to be added when using certain types of mods (thanks to @belettee)
      • Bug fix for the raid-start delay-code running multiple times if multiple non-AI players are in the raid (thanks to @belettee)
    • Added config option to replace SPT's bot caps with EFT's when using the advanced spawning system. There are also options to only change the bot cap if EFT's is lower (enabled by default) and to apply additional map-specific adjustments.
    • If "As Online" difficulty is selected for a raid, random difficulties will be assigned to bots spawned by Questing Bots. The weighting of the difficulties is defined by the bot_difficulty_as_online array for each bot type in config.json.
    • Added AI-limiter option to keep certain bot types always active (accessible in the F12 menu). By default, Rogues and sniper Scavs will always be active.
    • Added a setting in the F12 menu to prevent bots from sprinting when they're within a certain distance of any quest objective (3m by default)
    • Disable BotStandby logic for all bots because it was causing problems and the AI limiter basically serves the same purpose
    • Reduced questing.bot_search_distances.objective_reached_navmesh_path_error from 20m to 2m because bots should be able to reach all quest positions now. This also prevents bots from trying to reach all steps for an inaccessible quest objective.
    • Added a configuration option to only reset a bot's decisions before looting if SAIN is a older than a specified version (2.2.1.99 by default). Additional improvements for switching between Questing Bots's and SAIN's logic will be included in future releases.
    • Added min_raid_time_remaining config option (180s by default) to prevent bots from spawning too late in the raid
    • Blacklist quest objectives on Scav island on Shoreline because Unity struggles to find complete paths to it (thanks to @MonstraG)
    • Ensure quest objectives on Lightkeeper Island on Lighthouse are blacklisted even if the first step is not on the island
    • If bots cannot form a valid path and are not on the NavMesh, teleport them to a valid NavMesh position (WIP)
    • Automatically disable the bot spawning system if Better Spawns Plus is detected (thanks to @xuvvy and @artofsound)
    • Added an error message when using DONUTS but not SWAG when EFT loads, but still allow the mod to function
    • Added null checks in case doors no longer exist (namely because they were destroyed by Backdoor Bandit)
    • Added bot difficulties to the "assignments" log file written at the end of each raid
    • Added rows for bots that were generated by Questing Bots but never spawned in the "assignments" log file written at the end of each raid
    • Removed the Questing Bots endpoint for writing error messages to the server console and will now use the SPT one
    • Changed the server message about the advanced spawning system ignoring bot caps for PMC's and PScavs from a warning to an info message
    • Bug fix for bots sprinting after completing objectives when they're still within maxRunDistance of them
    • Bug fix for Scavs not spawning later in the raid
    • Bug fix for bots unlocking doors requiring power (before it's turned on) when other mods are used that add context-menu actions
    • Bug fix for bots unlocking the inner KIBA door before the outer door
    • Bug fix for the AI limiter preventing bots from achieving the EBotState.PreActive state
    • Bug fix for bot and quest overlays not rendering properly when DLSS is enabled (thanks to Solarint)


    config.json files from previous releases are not compatible.

  • Version 0.5.0

    SAIN 2.1.12 or later and Looting Bots 1.3.0 or later are highly recommended!

    • Updated for SPT-AKI 3.8.0
    • Increased required version of Waypoints from 1.3.4 to 1.4.3
    • Increased required version of BigBrain from 0.3.1 to 0.4.0
    • Changed required version of SPT-AKI to 3.8.x for client DLL and server files
    • Added standard quests for Ground Zero
    • Updated quests for Shoreline including expansion area
    • Added quests for new Streets locations
    • Implemented a bot pathing controller with the following features:
      • Paths are cached and only recalculated when needed.
      • Added the ability to create waypoints for quests. When the raid starts, static paths will be calculated from each of the quest's objectives to each waypoint defined for the quest. If a bot cannot find a complete path to its objective, it will check if a complete path can be formed to any of the quest's waypoints. If so, it will use that waypoint to get to the objective. This will help bots to navigate to quests locations that are difficult for Unity to calculate a path to them.
      • Quest waypoints and target positions for bot paths can be visualized by enabling debug options in the F12 menu. Bot-path target overlays are an advanced option.
      • The status of each bot's current path will be shown in the bot overlays enabled in the F12 menu
    • Added Ground Zero to AI-limiter options and config.json options
    • Reduced desirability of Boss Hunter quest type from 65 to 40
    • Added options for exporting custom quest locations in the F12 menu (requires advanced options to be checked)
    • Allow Kollontay and his followers to quest if questing.allowed_bot_types_for_questing.boss=true
    • Added a 20ms delay between each bot-generation task to attempt to reduce server retries
    • When making bots hostile toward bosses, excludes ones in questing.bot_quests.blacklisted_boss_hunter_bosses
    • Changed the text color of the bot's brain layer from yellow to magenta in the bot overlays enabled in the F12 menu
    • If a bot gets stuck, show a warning message in the game console instead of an info message
    • Only show a warning message about the Boss Hunter quest not being used if more than one bot zone exists on the map
    • Added shooterBTR to blacklisted bot brains for PMC's
    • Ensure LocationData component is destroyed before adding it to a GameWorld instance
    • Made "Show Quest Info for Spawn-Search Quests" F12-menu option an advanced option
    • Bug fix for bots trying to regroup with dead followers
    • Bug fix for failed bot paths not being drawn unless debug.show_zone_outlines=true
    • Bug fix for failed bot paths and zone outlines persisting across multiple raids (even if the map changes)
    • Bug fix for possible NRE's when trying to show bot overlays for despawned bots


    config.json files from previous releases are not compatible.

  • Can this work with SAIN?

    • I wrote everything in the main Overview tab for questions like this. :)

    • Oh, sorry!

  • I am using Sain,Moar,and lootingbots(as well as ABPS for loadouts) with this and for some reason my headless client(FIKA) console is spamming me with "[Error :DanW-QuestingBots] Invalid base brain for bot [NULL BOT]" doesn't seem to be causing problems but just wanted to make sure it was alright

    • No, that doesn't seem right. Does it happen every raid? When does it start occurring in each raid?


      Please send me a ZIP with the following after you next encounter this:

      • LogOutput.log in BepInEx\
      • Everything in Logs\
      • The most recent server log in user\log
    • have u added QB beplnex to headless? looks like u've forgot to do it so client can't sync with server about stuff it doesn't know xD

    • I double checked because of the doubt you have placed on me. the plugin was installed on the headless client.

    • Have u checked all of them? SAIN, BigBrain, looting bots? I've faced same problems only when had issues with missing plugins or wrong version of them. Maybe u've forgot to update BigBrain to latest, idk

    • i created the server around a week ago so they are all up to date been checking new files/updates for all mods to make sure they are all up to date. it has since stopped i believe it was a conflict with a mod i removed cant remember what mod it was

  • Well met, I've come across an issue on some maps where the sunlight will flicker anytime the bots spawn in. I use MOAR for bot spawning and disabled spawns in QB.

    • Yes, that's a known issue. I have no idea why it happens.

      Thumbs Up 1
    • move to ABPS, much better than MOAR

    • That will not fix his issue.

    • I've met this shit only twice in one raid on woods, other 100+ raids - nothing like that :D

  • Sup bro, seems I've encountered strange issue: after I've added questing bots some of bots in wave spawns are standing still with 0 reaction to anything. I've already disabled any AI limiting I've found in bepinex config, though can't understand what happened. 0 "bad" records found in both server and client logs apart from common bot stuck problems

    Using FIKA headless (no diff from local hosting, tried that) + ABPS + SAIN + looting bots literally in that load order. Before added questing bots no bots were stuck in "0 reaction" state. Also have few custom quests mods.

    • I would need to review logs to understand what might be happening. First, please use the bot info overlays that you can enable in the F12 menu (or alternatively, use BotDebug) to see what brain layers are active when this happens. Next, please send me a ZIP with the following after you next encounter this:

      • LogOutput.log in BepInEx\
      • Everything in Logs\
      • The most recent server log in user\log
      Thumbs Up 1
    • https://drive.google.com/file/…MFfdC-dP/view?usp=sharing


      Reserve map raid: bot35 and bot36 (group), bot34, bot51, all have PMC brain type and "active fail" state (images in archive). Near 80-90% of same cases are met for groups of 2 on wave spawn

    • Unfortunately, I'm not seeing any errors related to this, so EFT is likely ignoring them. Please try replacing the DLL for BigBrain with the debug one here and try again. Sorry.

    • also found one more issue, look into it pls. First though it's around ABPS, though not confirmed

      https://hub.sp-tarkov.com/file…em/#comments/comment67397

    • hmmm, changed lib to debug for BB and had only one bot group sleeping and no broken scavs at all, miracle.

      Sleeping bots are bot84 and bot85

      https://drive.google.com/file/…4ndDGjYV/view?usp=sharing

  • Thanks so much for the wonderful mod Dan, it's my group's first time playing SPT and it's a huge boost to the experience. I also appreciate how responsive you are here to other users asking for troubleshooting, I do a lot of tech support for my own projects elsewhere and I know how much time that demands.


    Unfortunately I do come with a problem I'm hoping you can help with. My group is playing together with Fika, and since adding Questing Bots about 10-15% of the time when one of us tries to extract we get stuck on a permanent black screen. We can still hear game audio, but cannot successfully extract and must alt-F4, at which point when restarting the client we return to our PMC still kit as if they'd never gone on raid at all. I should note that, so far, this has only happened when we're raiding solo, so we are not 100% sure if it would happen if we were playing as a group, but logic dictates it would.


    Like I said this is our first time playing SPT, so it may be we're missing something. But we had a stable mod setup with dozens of raids and no crashes or inability to extract for about 2 days before adding in Questing Bots, and when we added it the only other things we changed were to update Waypoints and change a setting in Algorithmic Level Progression which that author says was bugged, nothing that should have caused problems. We also use MOAR for bot spawning and disabled the spawning logic from QB, so I don't think that should be the problem either.


    I have attached all the relevant logs I could think of, including my local user/logs as the client and the server host's user/logs folder as well. The issues began yesterday, 6/30 (though it would've been about midnight 7/1 for the server host's write time). Hopefully this is enough, let me know if more is needed: https://mega.nz/file/cE52UQSA#…9veMqytJu3KWYWcHuDJ6gHKjo

    • I'm glad you're enjoying the mod, despite the recent issues you're experiencing. Unfortunately, I don't use Fika, and I can't guarantee support for it. However, many other people do and haven't experienced this problem when using Questing Bots.


      I looked at your log files, and they appear to be grabbed after the client was restarted. Therefore, I only see messages up to loading the main menu and doing some trading. Please make sure you collect all log files immediately after you ALT-F4 (before restarting the game).


      One thing you can try in the meantime is to try and isolate the mod conflict (which I assume is the problem). Please remove all mods except this one, SAIN, Looting Bots, and their dependencies. Then, gradually add more mods until the problem starts happening. Unfortunately, I know this will be challenging because it doesn't happen all the time.

    • Hey guys,


      I have the same issue, it's more like 5% of raids it happens.


      I don't have Fika or Questing bots installed, so it's neither of those mods.

    • Any exception as the raid ends can cause that to happen, so it wouldn't hurt to review his logs just in case.

    • Oskaz, can you check what mods you're using that our group is also using? We might be able to narrow down what the cause is.


      I will note, yesterday we deleted Waypoints and reinstalled it just to make sure it wasn't corrupted and we since haven't had the issue, BUT as you note the issue is so rare that it's difficult to be sure whether or not it's actually fixed or not.

    • nah, FIKA has that problem even without QB, SAIN and other stuff, both for local hosted game and for headless. I've met this when only had SVM and uifixes installed.

  • Hello, when I use the spawning rules built into this mod, I noticed that some PMCs spawn together and shoot each other. I wonder if they are from the same team but there's an issue with some other mods (playing with SAIN, Looting bots), or if different teams are spawning at the same spawn point. Playing with ABPS seem to be ok.

    • Please send me a ZIP with the following after you next encounter this:

      • LogOutput.log in BepInEx\
      • Everything in Logs\
      • The most recent server log in user\log
  • just for clarification: this mod doesn't interfere with SVM's boss spawn chance right?

    • It shouldn't, but I haven't tested myself.

      Heart 1
    • alright, appreciate the reply

    • I was wondering the same, I set the spawn boss chance in SVM from sources like tarkov wiki but I only seem to get the goons and partisan spawning only. Been on woods, shoreline, customs but none of the set bosses for that map. Did you get it to work?

    • I ended up disabling SVM boss spawns and edited the config files in MOAR just to be safe and it worked perfectly fine.

  • Not very important but the hyperlink to the mod "Reality" leads to Better Spawns Plus, just thought to let you know.

    • Good catch! I just fixed it.

  • Hello author, at the beginning of each battle, a large number of SCAVs are generated. How can I reduce the number of SCAVs,

    • At the bottom of the in-game F12 menu for Questing Bots, there is a section for limiting Scav spawns. You can experiment with those settings, especially the "Max Alive Scavs" value, to see what you like.

    • I tried to adjust the maximum alive scav in the F12 menu, but no matter how much I set it, 10 scavs are generated every time the game starts. I didn't use any other AI generate mods 8|

    • That must have changed in SPT 3.11, so EFT forces those Scavs to be created at the start of PMC raids. Questing Bots currently has no way to disable them. Sorry.

    • Okay, fortunately it's not a mod issue. Thank you very much for your reply

  • the god is back!

  • Hello, need your help. When i installed the mod i noticed a strange green spheres in raid, it called objective position. I thought its something for the debuggig the mod. Then i tried to turn off debug mode via config file but spheres still appear. Maybe i did something wrong?


    Here is the screenshot

    https://freeimage.host/i/FRpc2u2

    • There are numerous debug options in the F12 in-game menu. You might have enabled them in a previous release and carried over the config file. Enable that "advanced" checkbox in the F12 menu and then experiment with turning those options in Questing Bots off.

    • A very big thank you, now it works fine

  • Hi author, Sorry to ask but does questing bots overwrite the scav boss setting in SVM? Does questing bots handle the boss spawn rates for the maps? I only seems to be getting goons on maps but no other bosses.

    • No, it doesn't affect boss spawning at all. What you're experiencing is likely just (bad) luck.

    • awesome, thanks for confirming :)

  • Hello author, your mod is very interesting. Can I translate it into Chinese and share it on the oddba forum?

    • No, I'd prefer to have one official source for this mod (here). Sorry.

    • ok,thanks

  • Hi I just encounter this error "Object reference not set to an instance of an object" after installing latest ver of this mod. See error log says:

    EXCEPTION: System.NullReferenceException: Object reference not set to an instance of an object

    at SPTQuestingBots.Components.LocationData.Awake () [0x00012] in <ce7b4fe43d514ee38020bd55010d6a01>:0

    2025-06-28 23:33:45.789 +08:00|0.16.1.3.35392|Error|Default|NullReferenceException: Object reference not set to an instance of an object

    SPTQuestingBots.Components.LocationData.Awake () (at <ce7b4fe43d514ee38020bd55010d6a01>:0)

    UnityEngine.DebugLogHandler:LogException(Exception, Object)

    Class405:UnityEngine.ILogHandler.LogException(Exception, Object)

    UnityEngine.GameObject:AddComponent()

    GClass6:GetOrAddComponent(GameObject)

    SPTQuestingBots.Patches.BotsControllerSetSettingsPatch:PatchPostfix()

    EFT.BotsController:DMD


    Any idea? Thanks!

    • Please send me a ZIP with the following after you next encounter this:

      • LogOutput.log in BepInEx\
      • Everything in Logs\
      • The most recent server log in user\log
    • Dear DanW, please take a loot : https://drive.google.com/file/…zddCI/view?usp=drive_link Thank you!

    • It looks like you're using modified SPT files: [Warning: SPT.Core] Validation failed


      Please try again with a fresh SPT install.


      Also, you're using a lot of mods and others have exceptions too, which makes this problem challenging to troubleshoot. If this still happens with a fresh SPT install, please start with only Questing Bots, Waypoints, and BigBrain and then add other mods one-by-one until the problem starts happening. Then, please remove the last mod to confirm the problem stops and let me know which one it is.

  • Hello,


    Just saw that the mod got updated, but I get this message


    9412c07c702e45cc90f950a95f66cb75.png

    https://gyazo.com/9412c07c702e45cc90f950a95f66cb75


    currently using SPT 3.11 version

    • Upgrade to 3.11.3

    • Thanks for the reply, ill keep that in mind had no idea theres a new version of spt. Worried that other mods wont be compatible so i'll do it next time :)

    • Shouldnt have to worry about 3.11 mods. All 3.11 mods are compatible with any future versions of 3.11.x.

  • Thank you so much for this!!!!!!!!!!!!! You are my Bro!!!

  • thank you , amazing mod

  • thx

  • thanks so much!!!!

  • Thanks for the update <3

  • Damn thanks so much ^^

  • GOD

  • GOATed mods is back, thank you

  • Cheers! Thanks to you and your efforts!!! :D

  • You Rock! Thank you very much!

  • Here we go again.

  • THE GOAT IS BACK

    Heart 1
  • I'm so excited for what's bound to come soon...

  • hi one question is this mod working on spt 3.11?

    • Not yet

  • Yo, so if i disable the bot spawning, in the config file, will the mod let the spawning be handled by other mods? Will it still work?(questing):


    "bot_spawns": {

    "enabled": false, //This one.

    "blacklisted_pmc_bot_brains": [ "bossKilla", "bossTagilla", "exUsec", "followerGluharAssault", "followerGluharProtect", "crazyAssaultEvent", "bossKnight" ],

    "spawn_retry_time": 10,

    "delay_game_start_until_bot_gen_finishes": true,

    "spawn_initial_bosses_first": false,

    "eft_new_spawn_system_adjustments" : {

    "non_wave_retry_delay_after_blocked": 180,

    "scav_spawn_rate_time_window": 300

    },

    • Yes, that setting only controls bots spawned by this mod.