Featured Questing Bots 0.7.0

Please do not ask when mod authors will update their mods to 3.9.X
Bothering mod authors will lead to warnings and repeat offenses will lead to eventual bans.

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

The file structure has changed starting with the 0.6.0 release, so files from all previous versions of this mod must be removed before installing a new version!

SAIN 3.0.4 or later and Looting Bots 1.3.5 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.0.1 or later)
Waypoints (1.5.1 or later)
Highly Recommended
SAIN (3.0.4 or later recommended)
Looting Bots (1.3.5 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.

Traveler (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.)
CompatibleSWAG + DONUTS (Bot spawning in this mod will be automatically disabled)
Late to the Party
Fika (Requires client version 0.9.8962.33287 or later)


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.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.

  • Version 0.4.2

    This will be the final version for SPT-AKI 3.7.x. All future work will be for SPT-AKI 3.8.x. Limited support will be provided for this version.

    Only compatible with SPT-AKI 3.7.6

    SAIN 2.1.9 or later and Looting Bots 1.2.1 or later are highly recommended!


    Feature Changes:

    • Increased required SPT version to 3.7.6
    • Revised spawn-location selection algorithm for PMC's and PScav's that spawn after the beginning of the raid
    • Separate bots from their groups if they take too long to heal (>120s by default) or get stuck too many times (8 by default). If the boss of a group is separated, a new boss for the group will be selected. The timer for determining if bots take too long to heal will be paused when bots hear suspicious noises or are in combat.
    • Added new Snipe quest step type that operates the same as Ambush but allows bots to be interrupted by suspicious noises
    • Increased bot_spawns.max_alive_bots for Labs from 8 to 9
    • Updated SPT-version check when the game starts
    • Use raid-time-adjustment properties provided in SPT 3.7.6
    • If bots stop questing or following because they got stuck, show "IsStuck" for the reason why they stopped instead of "CannotQuest"
    • Bug fix for constant exceptions when the game starts that "break" bots and cause them to shuffle and not engage enemies
    • Bug fix for bots continuing to perform quests with maxBotsInGroup limits below their group size if followers are assigned to them after they started doing the quest
    • Bug fix for bots being able to unlock or open doors that would have no interaction options for human players (i.e. the Saferoom door in Interchange when the power is off)
    • Bug fix (for broken bug fix) for bots being able to join other bot groups (for real this time?)
    • Bug fix for player Scavs spawning next to each other during the raid
    • Added debug messages to help troubleshoot spawn issues
    • If a PMC or PScav spawn was prevented because it would be too close to another bot, show the distance to that bot in the game console

    Quest Changes:

    • Updated all sniping quests to use the new Snipe quest step type instead of Ambush
    • Changed "Bridge Sniping" on Customs from being considered a camping quest to a sniping quest


    config.json files from previous releases are not compatible.

  • Version 0.4.1

    Requires at least SPT-AKI 3.7.4 with the 2023/12/06 hotfix or newer!

    SAIN 2.1.9 or later and Looting Bots 1.2.1 or later are highly recommended!


    New Features:

    • Implemented bot hearing sensor to make them less oblivious and more proficient in CBQ. This system has the following features:
      • If bots hear enemy footsteps or gunfire within a certain range, they will stop questing for some time between 5s and 20s (configurable). By default, the threshold for them to detect enemy footsteps is 20m, and the threshold for gunfire (including suppressed gunfire) is 50m.
      • If they continue hearing suspicious noises (described above), they will keep being prevented from questing until a maximum time is reached, which is configurable for each map. By default, the maximum time for all maps is 120s except Labs (60s) and Factory (30s Day, 45s Night). The more PVP-focused maps have lower maximum times to discourage bots from staying in one location for a long time. After this maximum time is reached, bots will ignore suspicious noises for a certain time, which is 7s by default.
      • The hearing sensitivity for bots is higher if they're wearing headsets and lower if they're wearing helmets that block sound.
      • If the loudness of the sound is below a certain configurable level, bots will ignore it. Currently, bots will ignore you crouch-walking at the slowest speed even if they're wearing headsets. That way, you can still sneak up on them. In contrast, bots that are wearing helmets that block noise and not wearing headsets will likely not hear you walking at all. All bots will hear you sprint, and all bots will hear gunfire regardless of their loadouts.
      • When bots first hear suspicious noises, they will not be allowed to loot for some time between 5s and 20s (same as the setting above). This requires Looting Bots 1.2.1 or later.
      • Bots will ignore suspicious noises if they're closing doors, planting items, toggling switches, or in an ambush position
      • If a bot in a group stops questing to investigate a suspicious noise, all other group members will stop questing
      • SAIN is highly recommended to complement this system
      • This system can be disabled if desired
    • Adjusted default configuration to make bots in groups travel closer together:
      • Reduced questing.bot_questing_requirements.max_follower_distance.target_range.min from 10m to 7m
      • Reduced questing.bot_questing_requirements.max_follower_distance.target_range.max from 20m to 12m
      • Reduced questing.bot_questing_requirements.max_follower_distance.nearest from 25m to 15m
      • Reduced questing.bot_questing_requirements.max_follower_distance.furthest from 40m to 25m
      • Reduced questing.bot_questing_requirements.break_for_looting.max_distance_from_boss from 75m to 50m
    • Removed legacy code that doubled the number of bots allowed to do a quest if it was for an EFT quest in a large area (i.e. locations for Capturing Outposts)
    • Increased questing.bot_questing_requirements.repeat_quest_delay from 300s to 360s so bots are less likely to bounce between nearby quests that have many objectives
    • Allow bots to loot after completing EFT quests if there is a non-EFT quest objective within a certain distance (5m by default) that allows looting. However, bots will never be able to loot at quest objectives requiring them to plant items.
    • Allow bosses of bot groups to wander around and patrol if they're regrouping and they've reached their nearest follower. Previously they would stand still after reaching their nearest follower, making them easy sniping targets.
    • Added configuration options to adjust the desirabilities of quests that are marked as camping quests or sniping quests
    • Reduced the minimum distance above which bots can be disabled by the AI limiter if they're near other questing bots from 50m to 25m
    • Added new fields to bot overlays to show why they are not questing or following their bosses. Logic checks for determining if bots can quest or follow bots were reorganized so the most severe reasons are shown in this field.
    • Relocated search_time_after_combat in config.json but did not change its values
    • Removed the F12 option to disable time-gating because there's no benefit
    • Fixed special quests like "Boss Hunter" have unnamed quest objectives
    • Bug fix for slow bot generation (and related lag spikes) compared to the 0.3.5 release
    • Bug fix for not all members of a Scav group being converted to PScavs when using another spawning mod like SWAG + DONUTS and having adjust_pscav_chance.enabled=true
    • Bug fix for bots attacking other bots that are disabled by the AI limiter
    • Bug fix (for broken bug fix) for bots being able to join other bot groups
    • Bug fix for pausing of questing brain layers not working. This mainly affected the transition between bots unlocking and opening doors.
    • Disabled old debug messages
    • Refactoring and removal of unused code


    Quest Changes:

    • Reduced desirability of EFT quests from 65 to 60
    • Increased min_distance of "Boss Hunter" quests from 25m to 50m
    • Reduced max_distance of Airdrop Chaser quests from 500m to 400m
    • Changed "3rd Floor Office Rush" quest in Factory to have an ambush step instead of a hold-position step
    • Reduced desirability of "3rd Floor Bridge" in Factory from 35 to 25
    • Increased desirability of "Gate 3" in Factory from 10 to 15
    • Increased desirability of "Gate 3 Entrance" in Factory from 10 to 15
    • Increased desirability of "Gate 3 Camping" in Factory from 10 to 15
    • Separated ambush objective in "Cafeteria" quest in Labs into a new quest
    • Reduced desirability of "Medical Block Elevator Stairwell" in Labs from 30 to 25
    • Reduced desirability of "Ventilation Shaft Stairwell" in Labs from 20 to 10
    • Reduced desirability of "Parking Stairwell" in Labs from 20 to 10
    • Reduced desirability of "NE Stairwell" in Labs from 20 to 10
    • Reduced desirability of "Central Stairwell 1" in Labs from 20 to 15
    • Reduced desirability of "Central Stairwell 2" in Labs from 20 to 15
    • Reduced desirability of "Server Room SW Stairs" in Labs from 30 to 25
    • Reduced desirability of "Server Room NW Stairs" in Labs from 30 to 25


    config.json files from previous releases are not compatible.

  • Version 0.4.0

    Requires at least SPT-AKI 3.7.4 with the 2023/12/06 hotfix or newer!

    SAIN 2.1.9 or later and Looting Bots 1.2.1 or later are highly recommended!


    Huge update!



    Highlights:

    • Added and updated quests on every map, including new ones for the 0.13.5 Streets expansion
    • Added new questing features that instruct bots to loot, snipe, and camp. Requires SAIN 2.1.9 or later and Looting Bots 1.2.1 or later.
    • Implemented a new quest-selection algorithm that makes bots travel more naturally through the map
    • Implemented player-Scav spawning system. If the player-Scav spawning system is disabled (i.e. if you're using SWAG + DONUTS), the SPT player-Scav-conversion chance will adjust throughout the raid.
    • Allow player Scavs to quest without making all Scavs quest
    • Implemented advanced spawning system that tricks EFT into thinking bots spawned by Questing Bots are human players. This makes them not count toward the bot cap, and all other EFT spawns will work like they do in live Tarkov. This only applies to bots spawned by Questing Bots; it will not apply to bots spawned by mods like SWAG + DONUTS.
    • Added a system to wait for all PMC's and player Scavs to be generated before the raid starts. PMC's will now spawn immediately on all maps.


    Full Release Notes (too long to include here): https://github.com/dwesterwick…ngBots/releases/tag/0.4.0


    config.json files from previous releases are not compatible.


    IMPORTANT: If either the player-Scav spawning system or player-Scav conversion-chance adjustment system is active, the "/client/game/bot/generate" endpoint will be overwritten with a QuestingBots endpoint! This may affect compatibility with other mods!

  • Version 0.3.5

    Requires at least SPT-AKI 3.7.4 with the 2023/12/06 hotfix or newer!

    • Added "boss hunter" quest that instructs bots to search areas in which bosses may spawn. Bots must be level 15+ to select it.
    • Added "airdrop chaser" quest that instructs bots to go to airdrop crates within a certain time after they land (420s by default).
    • Instruct bots to extract based on raid time and the number of quests they complete. REQUIRES SAIN 2.1.7 or later. SAIN 2.1.8 or later is highly recommended.
    • Allow quests to instruct bots to extract immediately after completing them
    • Updated "Marked Room Rush" quest in Customs to instruct bots to extract after completing it
    • Display a notification in the EFT main-menu screen if SPT needs to be updated to support the current version of the mod
    • Abbreviate the ID's of doors being unlocked in the bot's "action reason" so they take up less space in BotDebug overlays
    • Added currently-unused method that can retrieve a CustomLayer object registered with BigBrain from another mod without adding it as a dependency
    • Changed inconsistent property name chanceOfHavingKeys to chance_of_having_keys in questing.bot_quests.eft_quests
    • Added debug option to force airdrops to occur at the beginning of every raid on applicable maps
    • Only show the "No custom quests found" server warning message if the user\mods\DanW-SPTQuestingBots\quests\custom directory exists but doesn't contain any quests
    • Added a server error message if no standard quests were found
    • Added more detail to the "/quests/standard/ directory is missing" server error message
    • Small performance improvement when initializing bots
    • Added more information to the message for exceptions thrown by LocationController.GetNearestSpawnPoint()
    • Bug fix for bots repeatedly trying to unlock or breach the same door
    • Bug fix for some properties not working when added to quests in questing.bot_quests
    • Bug fix for exceptions when loading quests added by mods that do not have any Conditions defined
    • Bug fix for exception thrown by LocationController.GetNearestSpawnPoint() saying that no spawn points are available, typically on Reserve
    • Bug fix for rare condition in which profile information is requested for a null bot
    • Bug fix for custom and standard quests being validated even if the mod is disabled


    config.json files from previous releases are not compatible.

  • Version 0.3.4

    • Increased required version of SPT-AKI to 3.7.4 (MUST have the 2023/12/06 hotfix or newer!)
    • Bots will now figure out how to unlock doors in locked rooms (i.e. the offices in Big Red)
    • Raid-time calculations changed to use methods in SPT 3.7.4
    • Added debug option to force Scav raids to always be full length
    • Minor performance improvement when multiple bots check if the same door can be unlocked
    • Replaced individual debug messages for locked doors that bots aren't allowed to unlock with one saying the total number of locked doors that bots are allowed to unlock
    • Added more details about bots in debug message written when a player kills another player
    • Removed "Initial PMC's remaining" part of the debug message written when a player kills another player if initial PMC spawns are disabled
    • Fail all objectives for killed bots after writing the debug message written when a player kills another player so reading the log makes more sense
    • Added null checks to be more flexible when processing quests added by other mods
    • Bug fix for exception thrown when bots try unlocking keycard doors that were just unlocked
    • Removed obsolete code
    • Refactoring for methods that can serve other purposes in the future


    config.json files from previous releases are not compatible.

  • Version 0.3.3

    Hotfix 1:

    • Fixed incorrect version in package.json


    Feature Changes:

    • Bots can now unlock doors
      • The ability for (questing) bots to unlock doors can be enabled independently for PMC's, Scavs, and bosses. Only PMC's are enabled by default.
      • If a bot cannot reach its objective location, it will automatically search for the nearest locked door to it within a certain radius (25m by default)
      • If the bot can reach the door, there is a configurable chance that the required key will be transferred to the bot (by default: 50% for EFT quests, 25% for all other quests)
      • If the bot is a PMC, the key will first be placed into its secure container if there is space. For Scavs and bosses (and PMC's will full secure containers), keys will be placed elsewhere in their inventories (backpack, rigs, or pockets) if possible. If there is absolutely nowhere to put the key, the bot will not be able to unlock the door. These keys are NOT found-in-raid (for now).
      • For debugging, the test positions used to determine locked-door accessibility can be outlined. See the README for more information.
    • Increased the required version of Waypoints from 1.3.2 to 1.3.3 to allow bots to interact with initially-locked doors
    • Prevented bots from doing any quest objectives on Lightkeeper island
    • When "planting" items, bots tend to aim toward the position where bots are most likely to be (based on averaging the positions of all alive bots on the map)
    • Reduced the search radius for valid NavMesh positions for quest items and quest zones from 2m to 1.5m to prevent locations from being incorrectly found on the floors above or below them
    • Added server warning message about known performance issues when using QuestManiac
    • Bug fix for "Boss xxx has not been added to the follower dictionary" exception when followers are initialized before their bosses
    • Bug fix for multiple quest objectives being failed at the same time
    • Bug fix for quest objectives being failed when the bot isn't actively questing
    • Bug fix for race condition that may cause questing brain layers to be infinitely suspended
    • Bug fix for the mod internally reporting that it was unable to delete a quest objective when it actually was
    • Bug fix for very unlikely condition causing bots to get stuck in the "Plant Item" action indefinitely
    • Bug fix for some spherical outlines drawn for debugging not appearing

    Quest Changes:

    • Reduced the maximum number of bots simultaneously doing the same EFT quest from 4 to 3
    • Added "Marked Room Rush" quest for Customs
    • Added "Engineer's Office", "Gate 0", "Gate 3", "Med Tent Gate", and "Cellars" quests for Factory
    • Reduced chance of bots selecting the "Scav Camp Area" quest on Interchange from 20 to 10
    • Reduced chance of bots selecting the "Goshan Interior Tents" quest on Interchange from 30 to 15
    • Reduced chance of bots selecting the "Goshan Lockers" quest on Interchange from 25 to 15
    • Reduced chance of bots selecting the "Lexos Director's Office" quest on Streets from 15 to 5
    • Reduced chance of bots selecting the "Lexos North Entry" quest on Streets from 30 to 15
    • Reduced chance of bots selecting the "Lexos South Entry" quest on Streets from 30 to 15
    • Reduced chance of bots selecting the "Lexos Center" quest on Streets from 30 to 15
    • Reduced chance of bots selecting the "Lexos Garage" quest on Streets from 30 to 15
    • Reduced chance of bots selecting the "Lexos Offices" quest on Streets from 30 to 15
    • Reduced chance of bots selecting the "Checkannaya 15" quest on Streets from 15 to 10
    • Reduced chance of bots selecting the "Checkannaya 15 Upstairs" quest on Streets from 20 to 10
    • Reduced chance of bots selecting the "Sparja" quest on Streets from 30 to 15
    • Reduced chance of bots selecting the "Pinewood Hotel Sparja" quest on Streets from 20 to 15
    • Reduced chance of bots selecting the "Sawmill Cabins" quest on Woods from 20 to 15


    config.json files from previous releases are not compatible.

  • Hey DanW,


    I'm having this issue where in the Plugin cannot communicate with the server. I do have everything pasted in the right order.


    https://imgur.com/mDmPd3U

    https://imgur.com/ExnvBRu

    https://imgur.com/YamWCjV


    I may have missed something when installing

    • Please attach the following:

      • LogOutput.log in BepInEx\
      • Everything in Logs\
      • The most recent server log in user\logs\
    • Here you go

    • Please read the first few server messages. There is a problem with another mod you're using, and that's preventing all other mods from loading (including this one).

    • Thank you!, I removed the mod and alongside other broken mods and all seems to be in working order now even other mods too.

  • what power processor do you need to play with this mod? I have an i5 12400 32gb ddr5. unfortunately it is not playable on the streets with 30 fps

    • This mod will have a performance impact, but I can't give you exact hardware specs.

  • Hey, awesome mod.


    Recently I updated to 3.9.8 from 3.9.3 and something seems to be causing this mod to break down during loading. Not sure if it's just this mod breaking from the update or if something else is causing it to break. Do you need the log file or will this stack trace help?


    • It looks like that error is related to Realism, not this mod.

  • First of all, this mod rocks and so do you.

    Earlier today i encountered the following error when booting up the SPT-FIKA Server.


    though after a full restart of the system it doesn't appear anymore. I'm sure it most likely wasn't your mod but thought it might still be good to bring up just in case others are also having this issue.

    • Glad you're enjoying the mod.


      You're correct that this error is not caused by this mod. This mod reroutes all bot-generation requests to adjust the PScav conversion chance, but it doesn't do anything with them otherwise.

  • Hello, if i want to make AI start spawning at around the 30min mark, is that possible to do with this mod ?

    • Sorry, no.

    • I meant stop spawning, not start lol, my bad, but, still bot possible ?

    • You can do that via the min_raid_time_remaining config options for PMC's and player Scavs, but it's not possible to do that with normal Scavs or bosses.

    • Can i use this timer somehow to make PMCs spawn ONLY at the start of the raid? Like in real game?

      If i set it to 60? Or would it disable spawning at the start too? The idea is that many maps have different timers so i would hope this setting would disable "respawning" of PMCs, but still allow them to spawn at the beginning of the map. I would love to sometimes "wipe the lobby" of the PMCs

    • No, if you want all PMC's to spawn at the beginning of the raid, you'll want to set the bot_spawns.max_alive_bots values to match the maximum lobby sizes for each map (minus one because you count as a PMC). For example, the lobby size for Customs is 10-12 players, so you would set "bigmap" to 11 for this setting.


      The reasons this isn't already done are:

      • This mod makes PMC and PScav spawns ignore the bot cap for the map, so allowing all PMC's to spawn at the beginning of the raid can have a performance impact.
      • If all PMC's spawn at the beginning of the raid, they tend to get into lots of early fights and die off quickly. Not only does this cause raids to be "dead" after the first 10-20 min, it's not realistic (besides Factory and Labs) because some human players in raids are actively avoiding combat.
  • Hi i really like this mods spawn system and behavior but i would like to have more pmcs in a raid and i have tried to figure it out but i dont really understand how to do it and if its possible.


    Also im using SAIN and i have noticed that pmcs die quite a lot to scavs so i was wondering is it possible to change scav difficulty separately to make them worse just like in swag and donuts ?

    • You'll need to add a fraction_of_max_players field under bot_spawns.pmcs to scale the number of PMC's that can be in the lobby for each map. You can refer to bot_spawns.player_scavs.fraction_of_max_players as an example.


      You cannot change Scav difficulty by itself using the spawn system in this mod. It's designed to mimic EFT Scav and boss behavior as much as possible. You can change the overall difficulty to "Easy" in the raid settings, but that will change all bots (Scavs and PMC's) to easy.

  • I'm getting this error:


    [Error :DanW-QuestingBots] Aborting coroutine iteration for Tech Heist

    [Error :DanW-QuestingBots] System.StackOverflowException: The requested operation caused a stack overflow.

    • This is caused by some kind of trader mod that's adding a quest called "Tech Heist" that has invalid quest prerequisites. Basically, there is some prerequisite that's a prerequisite of itself. You'll need to remove that mod (assuming the author hasn't fixed it in a newer version).

  • I stay at infinite Generating Bots loading and get this error:

    Warning:DanW-QuestingBots] Could not find a static path from (-40.5, 29.7, 56.1) to (-11.4, 29.7, 56.4) for TerraGroup Office Upstairs: Objective #6 in TerraGroup Office Upstairs

    [Warning:DanW-QuestingBots] Could not find a static path from (-40.5, 29.7, 56.1) to (-17.8, 29.7, 53.5) for TerraGroup Office Upstairs: Objective #7 in TerraGroup O

    Help please

    • The static-path warnings are normal, and you can ignore them.


      If it's taking a long time for bots to generate, please ensure nVidia Reflex is turned off. That's typically the culprit.

    • Oh ok, by the way, the new trader mod Yilmaz makes so your mod gets stuck at Generating PMCs forever, at 0%, not sure why, i already told the mod owner , hopefully you guys can find a fix so they are compatible 🙏🏻

    • If bots are failing to generate, it's beyond this mod's control. The other mods responsible for the generation failures will need to resolve those problems first.

  • Dan, good day!

    I found interesting staff in console while starting server, it echos like that

    "Questing Bots] Adjusting PMC spawn chances (0): assault: 0-0%, cursedassault: 0-0%, pmcbot: 0-0%, exusec: 0-0%, arenafighter: 0-0%, arenafighterevent: 0-0%, crazyassaultevent: 0-0%,"


    as you can see all chances are 0%

    but several time I saw different values, like 25% or 30%


    I wonder if all zeros is OK or it is glitch?

    • That's normal. The mod sets all chances to 0% so it can determine where PMC's spawn instead of SPT, and the message with non-zero numbers is just to record the previous values.

      Thumbs Up 1
  • "By default this system is only active for PMC's and player Scavs, but it can be enabled for normal Scavs..."


    sorry if the question sounds stupid but what do you mean by player scav? when i play as scav I can't see any quests on the map

    • SPT emulates player Scavs by adding a player nickname to the Scav's name. That way, it feels more like live with "other people" playing as Scavs on the map.


      Also, "quests" in this mod aren't strictly the EFT quests you receive as a PMC. It's a more generic term for "tasks that bots do", some of which happen to mimic the EFT quests.

      Thinking 1
  • Just downloaded the mod and like it so far, definitely made bots appear in more unpredictable locations. Left things at default and the one issue I find is I get swarmed by scavs. Is there any way to fix that? I eventually run out of meds and ammo killing so many lol.


    Any help would be appreciated, the only mods I'm using are SAIN 3.1 and this one.

    • Scav and boss spawns are completely vanilla EFT using this mod for spawning. Unfortunately, that's just how BSG designed it. I added one config option to increase the time that EFT waits before checking if it should spawn more Scavs, bot_spawns.non_wave_bot_spawn_period_factor. The default setting for this is 3 (meaning 3X the default EFT delay).

      Thumbs Up 2
    • Thanks boss, will look into messing around with that and appreciate the mod!

    • Sorry to jump on this, but does that mean I should use the default EFT "AI amount" setting to reduce the number of bots?


      I just tried using your mod without SWAG + DONUTS since I saw that you have a way to stop PMCs spawning mid-raid which was the main reason I tried the other mod. At one point I counted 23 scavs on Interchange, with about 10 minutes left in the raid. I'd personally killed 16 by then...

      By the way, I love the behaviour you've added to the bots and it really makes them feel more life-like.

  • Is there any way to apply the AI limiter to scav bots as well? The AI Limit mod isn't compatible with Questing Bots and I've been having issues with scavs dropping performance significantly, especially when bosses and their guards spawn in and bypass the bot limit set via Donuts/SWAG.

    • Scavs are disabled by the AI limiter by default. Any non-questing bot (besides the types selected to always keep active) will be disabled if it's outside of the distances you specify from human players (namely you) or questing bots (PMC's and PScav's by default).

    • My bad, I wasn't properly checking it. I'm now using Dynamic Maps overlay to double-check and the AI limiter works perfectly!

      One issue I'm facing is with the bot spawns however (I'm trying to lean on your system over DONUTS because I couldn't get any consistency out of it whatsoever). For clarification I've tested Questing Bots in isolation with no other mods besides its dependencies, Dynamic Maps and BotDebug.


      Per my understanding max_alive_bots controls the max number of PMCs + playerscavs, and at raid start every single PMC upto max_alive_bots is spawned, after which bots/rogues(capped by max_initial_bosses/rogues) and then AI scavs (max_total_bots) are spawned with bosses and rogues also consuming slots from max_total_bots. As the raid goes on an increasing proportion of the PMC pool can be taken up by player scavs.


      My first issue is that no matter what config I've run, the number of PMCs+player scavs seems soft-capped 9-11 regardless of max_alive_bots. Setting it to below 10 works properly however.


      The second issue is when add_max_players_to_bot_cap is true, AI scavs respect the max_total_bots value, however they are no longer affected by bot_cap_adjustments at all. Setting add_max_players_to_bot_cap to false results in max_total_bots being completely ignored - they just keep spawning until the total number of all bots (PMC, scavs, bosses) hits some sort of soft-cap that seems map dependent. About 32 on shoreline and woods, 23 on customs. bot_cap_adjustments somewhat seems to affect it, with negative values reliably reducing the apparent soft-cap, while positive values increase it but only by a couple bots, likely due to some other background constraints.



      Testing mainly done on Woods, Shoreline, and Customs with player scavs off, all min_distance_from_players values set to 10, and the below settings. Max bot counts, bot_cap_adjustments, and add_max_players_to_bot_cap were the only parameters changed for testing.


      Also these changes I've made were done to \user\mods\DanW-SPTQuestingBots\config\config.json.

      Edit: After doing some further testing observing bot counts across a couple raids (with add_max_players_to_bot_cap set to true) PMCs sdon't seem to be replenished whatsoever. Any time one dies or exfils, another one is never spawned in. There's no correlation with fraction_of_max_players_vs_raidET that I can see.

    • max_total_bots and pretty much the whole bot_cap_adjustments section is obsolete, and I should remove it. I left it in for a while because I didn't know how well my "new" spawn system would work, but that was many months ago. I would leave that section disabled (as it is by default).


      As you said, max_alive_bots controls the maximum number of PMC's and PScav's on the map. However, the total number of PMC's is still limited by the lobby size for the map (and you count as one of them). That's why for Factory, you'll never have more than 5 PMC's spawn. For PScav's, there is also a spawn schedule for each of them that's created dynamically (defining the earliest they can spawn). The lobby size for PScavs is also increased by 1.5X by default using the fraction_of_max_players config setting. You can copy that setting over to the pmcs section if you want to increase the lobby size for them too.


      For all other bots (Scavs and bosses), EFT manages everything using whatever bot caps you apply. By default, Questing Bots changes bot caps to closely match live EFT's (the use_EFT_bot_caps setting), but streets is slightly reduced due to performance concerns.


      What are you trying to accomplish? You've changed so much in the config file that it's a bit hard to understand what's happening.

    • Sorry, I should have clarified my goals. Essentially I want to tune both PMC and scav counts to specific values for each map that they more or less maintain across most of the raid so there's a good balance of engagements without giving my CPU more bots to deal with than it can handle. The different sizes of each map and how bots get spread out across them means performance varies a great deal with either too much dead air with too few AI around me, or too many all engaging with each other nearby causing framerate to tank.


      I also prefer having the number of PMCs vs PScavs+Scavs be closer to each other than they are, but I couldn't work out where exactly the bot cap for regular scavs is defined besides max_total_bots which is evidently deprecated. Is there a way I can control that or should I just set fraction_of_max_players to something like 0.5 and hope that balances things out?

      Ideally DONUT should have met my requirements but somehow it didn't seem to stick to the numbers I set there at all, so I figured I'd try and accomplish it with less mods if possible before reattempting to wrangle it.

    • Honestly, I'm not sure if this spawning system is the right fit for your goals. I designed this spawning system to mimic live, and what you're trying to achieve is a pretty large deviation from that. I never really meant for it to be customized that much. Playing with max_alive_bots, fraction_of_max_players, and bot caps is probably the way to get what you want, but I'm not sure exactly how. Sorry.

  • If I have SWAG+Donuts installed I get the "Questing Bots spawning disabled" message on server load - so far so normal. If I then disable Donuts in the F9 (formerly F12) menu, does that turn QB spawning back on, or is it permanently off based on the existence of Donuts, whether Donuts is enabled or not?

    • That happens if SWAG is installed.

    • Just so I'm clear; if SWAG is installed but I turn Donuts off in its own menu, Questing Bots will not take over spawning?


      (I thought SWAG was for bosses only, and Donuts was for "regular" AI, that is PMC's and Scavs)

    • Correct, Questing Bots only checks for SWAG.

      Thumbs Up 1
  • Not sure why SAIN have disabled comments as I wanted to ask there. But maybe DanW may know something about my issue.
    From what I understand if SAIN is used then QB mod EXFIL features are forced to be disabled?
    Is it true?
    Params like:

    "extraction_requirements": {

    "min_alive_time": 60,

    "must_extract_time_remaining": 300,

    "total_quests": {

    "min": 6,

    "max": 12
    I have issue that bots spawn and straight away decide to EXFIL but this start to happen after about 60 min in raid as I have my raids set to 120min. I noticed that SCAVs do it the most. So bots ignore params like min alive time and minimum quests before extract?
    SAIN exfil params for bots are set to max being at about 80% and min is set to about 1-2% So they should not be forced to EXFIL right after spawn right? I have no clue why they do this. And SAIN page is not alowing to post comment to ask SAIN creator about this.

    Is there a way to force QB params on top of the annoying SAIN exfill but without disabling SAIN completely? I would like my bots to quest for some time before going to extract when raid times are set to be longer than silly default 45min. Seriously I have no idea what to try next to make bots stay for longer than 60 min. And as i mentioned it seems that only SCAVs are suffering to this as PMCs seem to stay beyond 60min untill they "decide" to leave as they already did some quests and also pick some loot so they seem to behave correctly and the way I want them to behave. But those poor scavs that waste time to spawn just to go straight into EXFIL area makes me sad inside ;(
    Anyone can help those poor bastards to stay longer than 60+ min? :saint:

    • It's the other way around; if SAIN detects QB, it doesn't automatically extract bots after a certain time. In that case, bots will only extract based on the settings you referenced (QB), heavy injuries (SAIN), or if they find a sufficient amount of loot (SAIN).


      You can review your LogOutput.log file to see if QB is telling bots to extract. Just search for the phrase "quests and is ready to extact". Speaking of, I just noticed that "extract" is misspelled there, so I'll fix that in the next release. SAIN also has debugging messages when bots extract.

      Thumbs Up 1
    • Could not find "quests" and "ready to extact" in LogOutput.log located in BepInEx folder. Weird?

      I am confused as time after time I see that most of the bots after some raid time mostly 50% of raid which is 120min so after about 60 min they mostly stop doing important things like questing and stuck on some layer state instead of making minimum quests set in QB config.json and exfill.
      As I have 2 h raids and experienced weird bot lack of interest to either quest or exfill I edited some values in QB config. For example

      "extraction_requirements": {

      "min_alive_time": 60, to 300

      "must_extract_time_remaining": 60,

      "total_quests": {

      "min": 6, to 8

      "max": 12 to 16
      all that to try to make them stay longer after 60min instead of spawn and go to exfil.
      On last raid I tried to change this:

      "bot_spawns": {

      "enabled": true, to false to see if this will help in any way because I use donuts spawn. BTW it started to annoy me that donuts spawn bots mostly clumped in very near areas instead of spawn them randomly all around the map.

      I am runing out of ideas in case of bots going into lazy mode and ignore questing and not trying to just leave. I also lowered requirements for questing


      "bot_questing_requirements": {

      "exclude_bots_by_level": true,

      "repeat_quest_delay": 360,

      "max_time_per_quest": 300,

      "min_hydration": 20, to 10

      "min_energy": 20, to 5

      "min_health_head": 50, to 15 ( not sure but is it percentage or hp points? Head at 50 default? Is it percent or HP?)

      "min_health_chest": 50, to 30

      "min_health_stomach": 50, to 30

      "min_health_legs": 50, to 40

      "max_overweight_percentage": 100,

      I think that majority of people will never have mentioned issues as they play on vanilla 45 min raids. Maybe one of the mods do not like prolonged raids or something?

      Seriously I am running out of ideas how to make bots (mainly SCAV) ( I set "allowed_bot_types_for_questing": "scav": false, to true) to make them not leave map instantly after 60+ min raid and make them follow quests and looting and then leave and also part of them that was spawned before 60min mark not to stay put with layers like combat while noone is around and instead go to exfill if they have full inventory. Some bots have "noablebodied" state and also not deciding to leave.

      P.S. Mods that alter bot decision and behaviour QuestingBots-0.4.2, SAIN 2.1.9, LootingBots-1.2.2

      I am on SPT 3.7.6 so I cannot update those mods to new versions of SPT and there is no guarantee that it would be different outcome.
      It is weird that on paper all values should make them act as on raid start till 55-65 min mark. Most of the time I spent more time than that in raids so seeing bots not knowing what to do next after 60 min mark and just looking around in many cases standing in open is just immersion breaking. Would be cool to at least figure out why they are like that when raid is longer than default EFT. Some bots like PMC but about half of them still doing some quests and bosses also wander around in their zones. So why half of overall bots on map just decide that they do not want to have fun anymore and new ones just go to exfill after 1 sec after spawning.
      I think one last thing I will try to disable SAIN exfill ability for bots and see what they will do after 60+ min mark.

    • I'm not sure what to tell you. Only QB and SAIN make bots extract, and they only extract for the reasons I mentioned above. You'll have to be methodical about finding out the cause:

      • To see if QB is the cause -> Set min_alive_time to a high value like 9999
      • To see if looting is the cause -> uncheck that bot type in the Looting Bots F12 menu options
      • To see if heavy injury is the cause -> Check their health via BotDebug when you see them extracting. You should also see a related message in LogOutput.log when this happens.

      I think you're over-complicating the issue with your other changes.

      Thumbs Up 1
    • Thanx I will try those suggestions.
      I will mention as earlier that weirdly they act fine till about 60 min and after that they start to get "tired" or something xD Some just not quest just make few steps here, there not even longer patrols. Others spawn and say f*** it im out xD Sorry but it is weird and funny at the same time :D

    • Not sure why I did not specify reason of EXFIL as it was obviously shown to me from information I see on overlay... Sorry :S
      Yellow text Layer:Sain ExtractLayer
      This is clearly SAIN issue. And as I mentioned SAIN bot setting is set up to allow bots consider EXFIL around 82-97% which for each bot difficulty I set it up differently this value (SCAV and PMCs)
      And minimal raid percentage to around 1%
      As SAIN states they will consider leaving relying on health status and loot weight ETC.
      But clearly SAIN is full of BS then about what it states in mod description as it force them to exfill second after spawn at about 50+ minutes of raid.


      So damn SAIN is forcing its way before all other values from Questing Bots like minimal alive time and all health settings etc :cursing: Now, is there a way to make this damn sain feature to not be forced as the first decider about any bot type to go to exfil? Because I see no other way besides disabling EXFIL feature in damn SAIN mod. Any ideas?

  • Recently I am using bot questing overlay to see what bots are doing so I can tweak my changes to my custom quests. And i have quite many CTDs. Practically every raid. May it be because I use overlay?


    v. 0.4.2

    SPT 3.7.6

    • Update:
      After this comment I went to test raid where before starting it I disabled bot questing overlay.
      My raids are 120min (2h) and I was able to last for 119min 30sec before going to EXFILL, mostly hiding without engaging with enemy as I did in raids where I observed questing on bot overlays.
      So there was no CTD. And as I mentioned on 2 hours ago all my earlier raids (at least 6 ) were with questing bots overlay and all just gone CTD mostly after 40-90min into raid.

      Obviously 0.4.2 is old and I do not expect fix. I only wanted to know if questing bot overlay was causing CTDs. After my 1 test raid I am more than 90% sure it was the issue of questing bot mod especially overlay feature on.

      So maybe new versions potentially still have this issue so if it was not fixed then all I could ask for is looking into this issue :)

    • Both the Questing Bots and BotDebug overlays are known to cause memory leaks. You're likely running out of RAM. Because they're creating new strings for every bot multiple times per second, there isn't much you can do about. They're not really intended for you to have turned on for 40+ minutes.

    • Oh I understand. Thanx for claryfying it to me :)

  • Hello there. I have a problem. Whenever I try to get into a Raid, the loading gets stuck while Generating PMCs. It progresses, but it takes way to much. (15 mins app and still in generating PScavs). I don't know where to ask but since I see in the server's log that there's a loop of 3 or 4 commands that repeats over and over again related to QuestingBots, I guessed it had something to do about it.


    The commands are:


    [Client Request] /QuestingBots/GenerateBot/0

    [Client Request] /QuestingBots/GenerateBot/0

    [Client Request] /launcher/profile/info

    [Client Request] /launcher/server/version

    [Client Request] /QuestingBots/GenerateBot/0

    [Client Request] /launcher/profile/info

    [Client Request] /launcher/server/version

    [Client Request] /QuestingBots/GenerateBot/0

    [Client Request] /QuestingBots/GenerateBot/0

    • Please try the following:

      • Ensure nVidia Reflex is off
      • Try toggling VSync on or off
    • It worked! Thank you.

      It's a shame those things must be off because performance is somewhat worse in 3.9.5.

    • Seriously? But is it BSG failure or specific SPT 3.9.5 version?
      I am sticking to what I found stable which is 3.7.6 and also I despise some changes after BSG stupidity in 0.14

    • This has been an issue for a while, but the severity seems to change from one SPT version to another. Maybe it's just coincidence. SPT is not the cause of it.

  • Has anyone encountered a situation where when a PMC group spawns (with a boss and followers), they consider each other as enemies, aim at each other, etc., but do not shoot, or sometimes shoot somewhere nearby. At the same time, there are no other enemies nearby. Because of this, they do not go to do quests, naturally, because "group in combat" for followers and "search" for leader. QB is responsible for spawning bots. I noticed it recently and am not sure if this is an incorrect enemy table for the bot at spawn or something else.

    • How do you know they're considering each other enemies? Aiming at each other could just be coincidence.


      SAIN has a few quirks that cause bots to search based on stimuli far across the map. That's likely the cause.

    • view

      I checked the BotDebug and QB overlay, this problem is repeated regularly, and I can’t say for sure whether it was there before SPT 3.9.*.

    • That looks like a SAIN bug. What version of SAIN are you using?

    • The last test one, but it was also on the previous release. SAIN 3.1 and 3.1.1. I wrote the same thing in the SAIN thread in Discord, because it is not clear what the reason is, there are no errors of any kind in the logs.

    • OK, I'm not sure I can do much else then. I don't think it's an error; I think it might just be a bug in SAIN. Sorry.

  • Hi there


    I notice in the debug menu my raids that almost half the bots are in the 'holdincover' mode and never change from that and don't move around the map. Is there a setting to shorten the amount of time they can have that status so it gets the moving again?


    Also I've set bot_spawns.max_alive_bots to the map maximum of players, however I'm still getting less PMCs than what the map maximum says e.g. bot_spawns.max_alive_bots set to 13 for woods but only getting 10 PMCs including me spawning and 13 scavs.

    • That behavior is caused by SAIN, so this mod has no control over it. As of SPT 3.9.0, SAIN takes priority over Questing Bots.

    • Thansk for the reply! Is it possible to make Questing bots take priority again how would I change that?


      Also I've set bot_spawns.max_alive_bots to the map maximum of players, however I'm still getting less PMCs than what the map maximum says e.g. bot_spawns.max_alive_bots set to 13 for woods but only getting 10 PMCs including me spawning and 13 scavs.

    • You can make the following changes, but I can't guarantee everything will work correctly:

      Code
      "brain_layer_priorities": {
      "questing": 26,
      "following": 27,
      "regrouping": 28,
      "sleeping": 99
      },


      Woods has a lobby size of 10-14 players, so it's possible that you'll only get 9 PMC spawns.

    • I'll give that a go hopefully it gets them moving a bit more. Ideally I'd like them moving quite often, even all the way across the map sometimes as I notice they tend to stick to zones when or if they're not in holdincover mode.


      Ahh that makes sense no problem thanks so much for your help!

    • Hmm that didn't seem to make a difference most of the bots are still in holdincover. Would there be a setting in SAIN that would be affecting this?

  • Dan, hello


    can you tell me if it is possible to regulate what fraction of PMC will spawn in the raid?

    for example can I make all Bear or all USEC?

    or chances like 30% Bear and 70% USEC?

    • Currently, no, it's hardcoded to be 50/50. However, it wouldn't be hard to change that to use the isUsec SPT setting so other mods can change it. I'll include that in the next release.

      Thumbs Up 1
  • Having done some testing with 3.9.5, it seems there is some interaction between this mod and ODT's Softcore that prevents the server from starting. The server doesn't reach the point where the logs about bot count and delay appear. I don't mean to sling blame at you - just wanted to illuminate the conflict.

    • I'm not able to reproduce this problem. There may be a problem with your SPT install.

    • Re-downloaded Softcore and the issue seems to have gone away. So sorry to have expended your time trying to reproduce - maybe the first download was corrupted in a non-obvious way.


      Really appreciate your work, this mod is indispensable!

      Thumbs Up 1
  • [Questing Bots] Updated BotSpawnPeriodCheck for Streets : 42

    does this instruction mean that during the period (raid) there will be a wave of approximately 42 bots?

    • No, that's the time (in seconds) that EFT will wait before checking if it should spawn more bots. Questing Bots triples that delay by default to reduce the feeling of being swarmed by Scavs.

      Thumbs Up 1
    • Please, I'm just trying to understand how things work so i cam enjoy it to the best of my ability.


      [Questing Bots] Original bot counts for Streets - SPT: 14, EFT: 23

      - I CHANGED THE NUMBER OF BOTS IN THE BOT.JSON
      [Questing Bots] Updated bot counts for Streets - SPT: 10, EFT: 23

      - ONLY SPAWN 10 BOTS AT THE START OF THE RAID, RIGHT?

      [Questing Bots] Updated BotSpawnPeriodCheck for Streets : 42

      - EFT WILL WAIT 42 SECONDS BEFORE CHECKING WHETHER TO GENERATE MORE BOTS,

      A NEW WAVE OF BOTS WILL BE CREATED IF NECESSARY, RIGHT?


      Sorry for my English, I'm using Google Translate.

    • The "bot counts" are used by EFT spawns, which are Scavs and bosses. EFT will regularly spawn bots to try and approach (or reach) that total number during the raid. It won't spawn bots immediately as the raid starts; it will be more gradual. PMC's and player Scavs spawned by this mod do not count toward that limit. Instead, the maximum total number of PMC's and player Scavs is specified by the bot_spawns.max_alive_bots values in config.json. The total number bot bots allowed on the map at any given time is the sum of EFT's bot cap ("SPT bot counts" shown in the server messages) and the bot_spawns.max_alive_bots value for the map.


      As you said, after waiting for "BotSpawnPeriodCheck" seconds, EFT will spawn more bots if it determines it should. I'm not sure how its algorithm works.

      Thumbs Up 1
    • Thank you very much for the information, I'm doing some tests and getting good results.


      Thumbs Up 1
  • Hi, I am using i5-13600kf+4070+3200hz32gddr4 got about 15-16ms gameupdate time and 8ms render time in tkvstreets. Without questing bot the gameupdate is about 8-9ms. Ai limit imporve a lot only when most of ai are far from you, like at the edge of the map. If you run through the whole map, fps wont be stable 60


    here is my modlist:

    spt 3.9.0

    way points \ big brain \ sain \ looting bot \ questing bot \ ai Hostility fix \ custom quest loader \ Dynamic map


    From 60-70fps to 40-50fps really confuse us a lot. I do like the design of the mod, but low fps is unplayable. Is there any way to minimize the influence like disable some brain-layer or other way to solve this?

    • The only thing you can really do is reduce the number of bots (especially those that quest). Sorry.

    • By the way, I got about 20 bot in the whole map with questing bot and about 10 bot without questing bot. I dont know is the bot number or the brain-layer influence the performance most.

    • They both have a significant impact.

  • Hello, after I completely installed this mod and all the latest versions of related mods, when I ran the server, the command line showed a red error: "[Questing Bots] Please remove BepInEx/plugins/SPTQuestingBots.dll from the previous version of this mod and restart the server, or it will NOT work correctly." I can't understand this error logically at all, because I downloaded the latest version, and I know that your mod is a two-port mod, which requires the files in the BepInEx directory.


    I need help because I can't wait to experience the whole set of AI-related mod systems brought by such great authors.thanks!

    • If BepInEx/plugins/SPTQuestingBots.dll exists, then either the mod wasn't installed correctly or that file is from a previous installation. If it's from a previous installation, all old files need to be removed.

    • Thanks

  • been getting this error but game still launches and bots spawn n seem to b questing but wasnt sure if you knew what this was doing or if its an issue (3.9.4 btw)


    TypeError: Cannot read properties of undefined (reading 'experience')

    TypeError: Cannot read properties of undefined (reading 'experience')

    at BotGenerator.generateBot (C:\snapshot\src\generators\BotGenerator.ts:159:29)

    at BotGenerator.prepareAndGenerateBot (C:\snapshot\src\generators\BotGenerator.ts:116:21)

    at BotController.generateSingleBotAndStoreInCache (C:\snapshot\src\controllers\BotController.ts:335:46)

    at BotController.generateWithBotDetails (C:\snapshot\src\controllers\BotController.ts:312:35)

    at BotController.generateBotsFirstTime (C:\snapshot\src\controllers\BotController.ts:226:41)

    at BotController.generate (C:\snapshot\src\controllers\BotController.ts:180:25)

    at QuestingBots.generateBots (Z:\Single Player Tarkov 3.9.4\user\mods\DanW-SPTQuestingBots\src\mod.ts:530:47)

    at Object.action (Z:\Single Player Tarkov 3.9.4\user\mods\DanW-SPTQuestingBots\src\mod.ts:176:45)

    at DynamicRouterMod.handleDynamic (C:\snapshot\src\di\Router.ts:55:61)

    at HttpRouter.handleRoute (C:\snapshot\src\routers\HttpRouter.ts:59:69)

    TypeError: Cannot read properties of undefined (reading 'experience')

    TypeError: Cannot read properties of undefined (reading 'experience')

    at BotGenerator.generateBot (C:\snapshot\src\generators\BotGenerator.ts:159:29)

    at BotGenerator.prepareAndGenerateBot (C:\snapshot\src\generators\BotGenerator.ts:116:21)

    at BotController.generateSingleBotAndStoreInCache (C:\snapshot\src\controllers\BotController.ts:335:46)

    at BotController.generateWithBotDetails (C:\snapshot\src\controllers\BotController.ts:312:35)

    at BotController.generateBotsFirstTime (C:\snapshot\src\controllers\BotController.ts:226:41)

    at BotController.generate (C:\snapshot\src\controllers\BotController.ts:180:25)

    at QuestingBots.generateBots (Z:\Single Player Tarkov 3.9.4\user\mods\DanW-SPTQuestingBots\src\mod.ts:530:47)

    at Object.action (Z:\Single Player Tarkov 3.9.4\user\mods\DanW-SPTQuestingBots\src\mod.ts:176:45)

    at DynamicRouterMod.handleDynamic (C:\snapshot\src\di\Router.ts:55:61)

    at HttpRouter.handleRoute (C:\snapshot\src\routers\HttpRouter.ts:59:69)

    • The Questing Bots endpoint doesn't do anything with bot generation besides adjusting the PScav conversion chance. Everything else is handled downstream of it. This is likely caused by a mod that changes bot loadouts.

    • yea its alp more than likely just wasnt sure if this is an error i should worry about lol, they all still spawn and have the alp loadouts so doesnt appear to be messing with anything

  • An update might be needed because this and SPT Realism create walls of errors constantly that reads 'this.getHighestRelativeBotLevel is not a function' on the new 3.9.5 update and leads to no bots spawning in


    My bad can be ignored, it looks like it was mainly SPT Realism's fault as when 'Bot Changes' are turned off all the bots spawn in as they should and questing bots does not cause any errors. It still could if anybody who doesn't have SWAG and uses the bot spawning of Questing Bots, I'm not sure it just seems to not like having that above command being used in 3.9.5

    • Realism is currently not compatible with SPT 3.9.5.

    • Yeah, I mean a good portion of it is still okay, but yeah the Bot stuff just completely messes stuff up currently

    • I can confirm Realism does work with 3.9.5 but not with Questing Bots. I believe something was changed with the most recent patch hence the wall of error messages. A fix will come out soon, just give the mod authors some time to release it.

    • @RadRoach I don't have QuestingBots mod and I'm still getting bot errors. The errors I'm getting is for Realism.

    • Yeah to clarify btw they work both work just fine, it's mainly Realism that's the problem and it only creates issues currently when 'Bot Changes' are turned on in their settings. You can have both mods running just fine.

  • Just updated MOAR, thanks for including the code to automatically turn off spawning in QB!
    Working like a dream.

    Thumbs Up 1
  • Hello. I've been getting the generating for a long time bug, and found that it was caused by the

    "LobbyFramerate" setting defined in the server's user/sptSettings/Graphics.ini being somewhere over 310. I've limited my main menu fps for the time being. I've also tested this with RivaTunerStatisticsServer to limit the frame rate to 60 externally, and it still caused the generation to take very long with the "LobbyFramerate" setting at 360, even with the "actual" frame rate capped to 60.


    Do you plan on fixing this issue?

    • The issue is typically caused by nVidia Reflex being on. It causes other EFT issues too, and nobody understands why. Please ensure that setting is off. If it is, please try toggling VSync.

    • ah, I see. I should've mentioned this earlier, but both settings were turned off in both the nvidia control panel and in the game prior to the issue even occuring. I found that I could consistently trigger the issue when the cap in the Graphics.ini was set to around 325, even if the fps never got there, it DOES work at 310. turning on nvidia reflex turns off the FPS cap altogether, using whatever your computer can churn out instead of the cap, which seems to trigger the problem in the same way that making the fps cap too high does.

      That is quite strange, though.

    • I have no idea. Mine is always set at 60fps and I never have issues. It's likely related to the nVidia Reflex issues.

  • ok thankyou for replying

  • is there ever a chance of being able to limit only certain ai types? i want to be able to limit just scavs and leave pmcs as they are normally which would be nice

    • By default, bots that quest (PMC's and PScavs) are not disabled by the AI limiter except on the maps you specify (Streets only by default). Effectively, that does what you're asking.

  • Hello Dan!

    I've been using Questing Bots for its spawn and questing features without Donuts for several patch already and your mod perfectly recreates Tarkov vibe for me.. in raids you can encounter enough PMC and amount of SCAVs was just right. Raids ends like with 2-3 kills of PMCs and 4-6 kills of SCAVs, for me it is just right composition!


    I really appreciate your tune for SPT!


    But since last update 3.9.0 and beyond something drastically changed, I patiently waited till Questing Bots will be updated for 3.9.0 and SAIN and Looting Bots and BigBrain and Wayponts.


    Now all set and I'm ready to go


    But in raid now I have swarms of SCAVs, they are coming in groups of 2-3 , after I kill 1 or 2, more to come, like 2-4 more.. PMCs are a rarity now.


    typical raid end now looks like this - 1-2 pmc kills, and 12-15 SCAVs ( with like 30% of that SCAVs are Player SCAVs). wayyy too much scavs..


    the raids are really busy. it is very hard to move to the direction you need cause always on gunfight.


    Is there a way to tune down amount of scavs in raids?


    Once again, thank you for your mod!

    • Unfortunately, that difference is caused by EFT and is the same as the experience you'll get in live PvE. I already increased the "cooldown" timer between Scav spawns by 3X by default, but you can increase it further using the bot_spawns.non_wave_bot_spawn_period_factor parameter in config.json. You can also reduce your bot caps because PMC's and PScavs don't count toward them using this mod's spawning system.

      Thumbs Up 1
    • thank you, Dan!

      will try to play with that parameter and see how it goes


      update : where I can find that BOT CAPS parameter? could you advise?

    • You can either tweak the bot_spawns.advanced_eft_bot_count_management.bot_cap_adjustments adjustments, or you can use another mod like SVM to change them.

      Thumbs Up 1
    • Sorry to jump in, but is there a way to have different bot cap for different map. I managed to have a 12 bot cap in all maps, but certain maps are too small for this amount.


      These are my setting for bot cap adjustement, but I have no idea what they truly do;


      "bot_cap_adjustments": {

      "default": 0,

      "factory4_day": 13,

      "factory4_night": 13,

      "bigmap": 7,

      "woods": 0,

      "shoreline": 0,

      "lighthouse": 7,

      "rezervbase": 5,

      "interchange": 5,

      "laboratory": 10,

      "tarkovstreets": 6,

      "sandbox": 10,

      "sandbox_high": 10

    • Those adjustments are applied to the bots caps for each map. For example, your adjustment of "7" for Customs means that you'll increase the bot cap for that map by 7.