Mod Details

RUAF Come Home!

RUAF Come Home! 1.0.1

Created by  TacticalToaster

749 Downloads

SPT 4.0.3 Compatible

RUAF have finally returned to resolve the Norvinsk conflict.

Latest Version 1.0.1
SPT 4.0.3

Updated 1:00 AM

49.73 KB

Version Notes

Download the new hotfix for MoreBotsAPI alongside this. That will fix the dying bug, and this update will fix the agression/retaliation issues when you shoot at RUAF bots and they don’t shoot back.

(There may still be orange warnings about loading types, there are no problems being caused and it’s just a debug message I have to remove)

This download is externally hosted.
Always scan for viruses.

RUAF Come Home! adds RUAF as a proper faction to SPT. Encounter patrolling squads of soldiers. They have orders to shoot USEC on sight, so be careful! If you’re a BEAR, they’ll show you more tolerance, but keep your distance.

INSTALL INSTRUCTIONS

Download the .7z file. Unzip in your SPT install directory. Play SPT!

RUAF Come Home! requires BigBrain, MoreBotsAPI, and WTTCommonLib to run. Waypoint is not required currently but recommended. I also recommend SAIN for enhancing the combat behavior of the RUAF bots and for configuring their characteristics. There is also support for Couturier, using some clothes from that mod!

Features

New Bot Types

RUAF Come Home adds completely custom bot types that don’t replace existing bots, each with their own loadouts and roles. They are neutral to BEAR, giving warnings to anyone who strays too close and only firing when ignored or fired upon. Meanwhile, if you’re USEC, expect to be fired upon. They don’t take kindly to tourists. Also scavs, they hate scavs.

RUAF Rifleman

Your typical rifleman, equipped with an AK-74M. They make up the bulk of RUAF units.

RUAF Senior Rifleman

An NCO or Junior NCO in charge of a squad of RUAF soldiers. They’re equipped with the most recent equipment being fielded by RGF, using AK-12s, modernized kits for the AK-74M, and UBGLs.

RUAF Autorifleman

Soldier equipped with an RPK-16 to give mobile fire support. Capable of laying down suppressive fire so the rest of the unit can move. Uses 45-round RPK mags and 95-round drum mags.

RUAF Machinegunner

The autorifleman’s bigger brother, packing a PKM or PKP. Be very careful when you take on a RUAF squad that has one of these, or you’ll be swiss cheese.

RUAF Marksman

Capable of suppressing and eliminating threats to the RUAF squad before they become a problem. They’re equipped with the SVD-S with scopes, making them a priority target if you want to be able to flee without getting shot in the back.

RUAF Patrols

Patrols can spawn across several maps in randomly generated patrols at random times during the raid. Their size and composition varies, with a specialized role mixed in with every few rifleman, and always lead by a senior rifleman who can use UBGLs.

Maps

Settings related to patrols can be adjusted in the config/main.json server file. This includes adding new maps and zones! Patrols will pick a random available spawn zone found in the config file and a time in a defined range. Maps can be configured to have multiple patrols rolled (which also means you can encounter multiple patrols in one raid).

RUAF Checkpoints

These checkpoints spawn at the start of the raid in areas affiliated with RUAF, typically near or at extracts. You might have to change your exfil route if you were planning on an easy escape! Config settings allow you to add your own checkpoints or edit existing ones.

Planned features
  • Quests from multiple traders and services through Prapor. Quests will change RUAF aggression and hostility with both the player and other factions (vanilla and my mods). -GRU Spetznaz squads that hunt down USECs and other factions, depending on what questlines you complete.

Not specific to this mod, but related things I want to work on that you might like if you enjoy my faction mods:

  • Dialogue mod. I don’t want to spoil too much since I still need to do some prototyping to make sure it’s feasible, but there will be integration with my other mods if it is.

Config

The config folder in the server mod lets you configure things such as patrol spawning and supported maps. Adjust the conditions for different roles to spawn in patrols or add the chance for patrols to spawn on other maps. I’ll add detailed explanations of the config options later but they’re fairly self-explanatory at the moment.

Compatability

SAIN

These bots function with SAIN and through the MoreBotsAPI there is support for customizing the bots characteristics like you would other bot types.

Spawn Mods

Should work with most spawn mods as long as they don’t override boss spawns that aren’t vanilla. My previous UNTAR mod was tested with ABPS and MOAR and it worked with those. I haven’t tested with any of the new 4.0.0 spawn mods so let me know if there are incompatabilities I might be able to address.

Also, if you disable bosses in any way these bots won’t spawn. They use the vanilla boss spawn system.

Credits and Thanks

Thanks to GrooveypenguinX and nameless___ for letting me reference yalls code, and specifically Groovey for giving me the run down on what I needed to do to get custom bots working. This mod wouldn’t exist without that starting point.

Thanks to Solarint for making a mod I felt was necessary to have compatability for before publishing this mod. No, seriously, SAIN is amazing and if you don’t already have it installed give it a look.

Thanks DrakiXYZ for BigBrain, absolutely necessary mod for anything bot-related. The less I have to touch BSG’s code the better lmao.

Goes without saying that thanks should be given to the SPT team for enabling any of this in the first place. Yall rock!

Support Me!

Buy me a Java Monster so I can fix my broken releases faster after I get back home from work. Or don’t, I’ll still do it for free. https://ko-fi.com/tacticaltoaster

Version 1.0.1
Download Mod Version
SPT 4.0.3
Latest Compatible SPT Version

49.73 KB

324 Downloads

Created 12:53 AM

Updated 1:00 AM

Virus Total Results

Dependencies:

Download the new hotfix for MoreBotsAPI alongside this. That will fix the dying bug, and this update will fix the agression/retaliation issues when you shoot at RUAF bots and they don’t shoot back.

(There may still be orange warnings about loading types, there are no problems being caused and it’s just a debug message I have to remove)

Version 1.0.0
Download Mod Version
SPT 4.0.3
Latest Compatible SPT Version

49.66 KB

425 Downloads

Created Yesterday at 6:56 AM

Updated Yesterday at 7:03 AM

Virus Total Results

Dependencies:

Initial release. Contains similar features to UNTAR Go Home! (patrols and checkpoints) alongside more varied squad member types.

TacticalToaster Pinned

Everyone that’s facing major errors (orange warnings are fine and I’ll be suppressing excess ones that don’t actually cause problems. Accidentally left those in), try a few things for me so I can make sure I know what to look at once I have access to my PC. If you’re using UNTAR Go Home, make sure you’re using the latest version of the mod. Do a full reinstall if not. Make sure MoreBotsAPI and RUAF Come Home both are fully installed, with plugin, patcher, and server files in the correct paths. From there test to see what breaks and causes errors and then send logs to me on the SPT discord. My user is tacticaltoaster there and I have a thread in the mod-development channel you can post the logs too.

0 Likes

IF YOU’RE ALSO USING UNTAR GO HOME MAKE SURE TO DELETE THAT MOD’S FOLDERS AND FILES BEFORE UPDATING IT TO THE LATEST VERSION. There is an issue with files that no longer exist in the new version remaining if you just override existing files causing the loading issues. When updating any mod it’s good practice to delete the old files before installing the updated version in case there’s been changes to the file structure of the mod, like in this case. I should’ve left a warning but there’s one up now on Untar Go Home. Let me know if that does or doesn’t fix issues you’re having.

1 Like

how about this Shared bot type file ruafRifleman not found at C:\Games\SPT 4.0.3\SPT\user\mods\RUAFComeHome\db\bots\sharedTypes Shared bot type file ruafAutorifleman not found at C:\Games\SPT 4.0.3\SPT\user\mods\RUAFComeHome\db\bots\sharedTypes Shared bot type file ruafGrenadier not found at C:\Games\SPT 4.0.3\SPT\user\mods\RUAFComeHome\db\bots\sharedTypes Shared bot type file ruafMarksman not found at C:\Games\SPT 4.0.3\SPT\user\mods\RUAFComeHome\db\bots\sharedTypes Shared bot type file ruafMachinegunner not found at C:\Games\SPT 4.0.3\SPT\user\mods\RUAFComeHome\db\bots\sharedTypes is that safe to play with it? ty

0 Likes

As long as it is only orange you should be good. I’ll be fixing that in the next minor version of the API. Also, make sure you update to the latest fix versions of the API and RUAF, alongside UNTAR if you use that too. Just posted them!

0 Likes
adishee

plz sir 3.11 port sniff sniff

0 Likes

Nice, let’s goooo!

1 Like
bondiboi9mm

Shared bot type file ruafRifleman not found at C:\SPT\SPT\user\mods\RUAFComeHome\db\bots\sharedTypes Shared bot type file ruafAutorifleman not found at C:\SPT\SPT\user\mods\RUAFComeHome\db\bots\sharedTypes Shared bot type file ruafGrenadier not found at C:\SPT\SPT\user\mods\RUAFComeHome\db\bots\sharedTypes Shared bot type file ruafMarksman not found at C:\SPT\SPT\user\mods\RUAFComeHome\db\bots\sharedTypes Shared bot type file ruafMachinegunner not found at C:\SPT\SPT\user\mods\RUAFComeHome\db\bots\sharedTypes

is this normal for in the server ?

0 Likes

As long as it is orange it should be fine. Just extra debug messages I haven’t removed. They’ll be gone when I make a new minor version for MoreBotsAPI. Make sure you download the updated version of that and this mod if you haven’t already also, it fixes the actual game-breaking stuff!

0 Likes
Wretched_K

FYI If you are getting the error about the mod not being able to find a loadout in sharedTypes You can copy over the respective file from the Loadout folder I’m not a programmer so I’m not sure if this is a permanent or even functional fix, but it does stop the error from being thrown in the console

0 Likes

The orange messages don’t cause any problems and are just warning messages that I’ll be getting rid of in the next update for the bot api. Your fix may cause issues with the bot generation so I cannot recommend other people try it. As long as the only messages you see in the console are orange you shouldn’t have to worry.

0 Likes
xantos12

Does this support FIKA?

0 Likes
Clog

I have fixed all the major issues in the server with the newest versions of all your mods. Im running into an odd issue where the RU and UNTAR refuse to shoot at me now or anyone now. They throw grenades but its like they are out of ammo or have the wrong ammo type. I am using SAIN.

1 Like

What other mods do you have installed? I need to see if there’s a conflict because the mod is working fine for other people while you and one other person are the only runs who have encountered this problem.

0 Likes
ThatDesGuy

Hi, Is it possible to add all maps to the spawn list?

1 Like

The config file has comments that explain what’s necessary to add both patrols and checkpoints to new maps. Make sure you use the correct name for the map. For example, ground zero internally is called sandbox and sandbox_high (lvl 21+ version of the map). There should be a reference for the map names somewhere in the spt discord. Lmk if you need any more help!

0 Likes
Groza_Nato

The game can’t find any objects, so it’s impossible to start a raid.

0 Likes

Shared bot type file ruafRifleman not found at D:\ээээ\SPT\user\mods\RUAFComeHome\db\bots\sharedTypes Shared bot type file ruafAutorifleman not found at D:\ээээ\SPT\user\mods\RUAFComeHome\db\bots\sharedTypes Shared bot type file ruafGrenadier not found at D:\ээээ\SPT\user\mods\RUAFComeHome\db\bots\sharedTypes Shared bot type file ruafMarksman not found at D:\ээээ\SPT\user\mods\RUAFComeHome\db\bots\sharedTypes Shared bot type file ruafMachinegunner not found at D:\ээээ\SPT\user\mods\RUAFComeHome\db\bots\sharedTypes Faction ‘untar’ not found when setting warns for bot type ‘BotType { BotAppearance = Appearance { Body = System.Collections.Generic.Dictionary2[SPTarkov.Server.Core.Models.Common.MongoId,System.Double], Feet = System.Collections.Generic.Dictionary2[SPTarkov.Server.Core.Models.Common.MongoId,System.Double], Hands = System.Collections.Generic.Dictionary2[SPTarkov.Server.Core.Models.Common.MongoId,System.Double], Head = System.Collections.Generic.Dictionary2[SPTarkov.Server.Core.Models.Common.MongoId,System.Double], Voice = System.Collections.Generic.Dictionary2[SPTarkov.Server.Core.Models.Common.MongoId,System.Double] }, BotChances = Chances { EquipmentChances = System.Collections.Generic.Dictionary2[System.String,System.Double], WeaponModsChances = System.Collections.Generic.Dictionary2[System.String,System.Double], EquipmentModsChances = System.Collections.Generic.Dictionary2[System.String,System.Double] }, BotDifficulty = System.Collections.Generic.Dictionary2[System.String,SPTarkov.Server.Core.Models.Eft.Common.Tables.DifficultyCategories], BotExperience = Experience { AggressorBonus = System.Collections.Generic.Dictionary2[System.String,System.Double], Level = MinMax { Type = , Max = 1, Min = 0 }, Reward = System.Collections.Generic.Dictionary2[System.String,SPTarkov.Server.Core.Models.Common.MinMax1[System.Int32]], StandingForKill = System.Collections.Generic.Dictionary2[System.String,System.Double], UseSimpleAnimator = False }, FirstNames = System.Collections.Generic.List1[System.String], BotGeneration = Generation { Items = GenerationWeightingItems { Grenades = GenerationData { Weights = System.Collections.Generic.Dictionary2[System.Double,System.Double], Whitelist = }, Healing = GenerationData { Weights = System.Collections.Generic.Dictionary2[System.Double,System.Double], Whitelist = }, Drugs = GenerationData { Weights = System.Collections.Generic.Dictionary2[System.Double,System.Double], Whitelist = }, Food = GenerationData { Weights = System.Collections.Generic.Dictionary2[System.Double,System.Double], Whitelist = }, Drink = GenerationData { Weights = System.Collections.Generic.Dictionary2[System.Double,System.Double], Whitelist = }, Currency = GenerationData { Weights = System.Collections.Generic.Dictionary2[System.Double,System.Double], Whitelist = }, Stims = GenerationData { Weights = System.Collections.Generic.Dictionary2[System.Double,System.Double], Whitelist = }, BackpackLoot = GenerationData { Weights = System.Collections.Generic.Dictionary2[System.Double,System.Double], Whitelist = }, PocketLoot = GenerationData { Weights = System.Collections.Generic.Dictionary2[System.Double,System.Double], Whitelist = }, VestLoot = GenerationData { Weights = System.Collections.Generic.Dictionary2[System.Double,System.Double], Whitelist = }, Magazines = GenerationData { Weights = System.Collections.Generic.Dictionary2[System.Double,System.Double], Whitelist = }, SpecialItems = GenerationData { Weights = System.Collections.Generic.Dictionary2[System.Double,System.Double], Whitelist = }, LooseLoot = } }, BotHealth = BotTypeHealth { BodyParts = System.Collections.Generic.List1[SPTarkov.Server.Core.Models.Eft.Common.Tables.BodyPart], Energy = MinMax { Type = , Max = 100, Min = 100 }, Hydration = MinMax { Type = , Max = 100, Min = 100 }, Temperature = MinMax { Type = , Max = 40, Min = 36 } }, BotInventory = BotTypeInventory { Equipment = System.Collections.Generic.Dictionary2[SPTarkov.Server.Core.Models.Enums.EquipmentSlots,System.Collections.Generic.Dictionary2[SPTarkov.Server.Core.Models.Common.MongoId,System.Double]], Ammo = System.Collections.Generic.Dictionary2[System.String,System.Collections.Generic.Dictionary2[SPTarkov.Server.Core.Models.Common.MongoId,System.Double]], Items = ItemPools { Backpack = System.Collections.Generic.Dictionary2[SPTarkov.Server.Core.Models.Common.MongoId,System.Double], Pockets = System.Collections.Generic.Dictionary2[SPTarkov.Server.Core.Models.Common.MongoId,System.Double], SecuredContainer = System.Collections.Generic.Dictionary2[SPTarkov.Server.Core.Models.Common.MongoId,System.Double], SpecialLoot = System.Collections.Generic.Dictionary2[SPTarkov.Server.Core.Models.Common.MongoId,System.Double], TacticalVest = System.Collections.Generic.Dictionary2[SPTarkov.Server.Core.Models.Common.MongoId,System.Double] }, Mods = System.Collections.Generic.Dictionary2[SPTarkov.Server.Core.Models.Common.MongoId,System.Collections.Generic.Dictionary2[System.String,System.Collections.Generic.HashSet1[SPTarkov.Server.Core.Models.Common.MongoId]]] }, LastNames = System.Collections.Generic.List1[System.String], BotSkills = BotDbSkills { Common = System.Collections.Generic.Dictionary2[System.String,SPTarkov.Server.Core.Models.Common.MinMax1[System.Double]], Mastering = } }’. Faction ‘untar’ not found when setting warns for bot type ’BotType { BotAppearance = Appearance { Body = System.Collections.Generic.Dictionary2[SPTarkov.Server.Core.Models.Common.MongoId,System.Double], Feet = System.Collections.Generic.Dictionary2[SPTarkov.Server.Core.Models.Common.MongoId,System.Double], Hands = System.Collections.Generic.Dictionary2[SPTarkov.Server.Core.Models.Common.MongoId,System.Double], Head = System.Collections.Generic.Dictionary2[SPTarkov.Server.Core.Models.Common.MongoId,System.Double], Voice = System.Collections.Generic.Dictionary2[SPTarkov.Server.Core.Models.Common.MongoId,System.Double] }, BotChances = Chances { EquipmentChances = System.Collections.Generic.Dictionary2[System.String,System.Double], WeaponModsChances = System.Collections.Generic.Dictionary2[System.String,System.Double], EquipmentModsChances = System.Collections.Generic.Dictionary2[System.String,System.Double] }, BotDifficulty = System.Collections.Generic.Dictionary2[System.String,SPTarkov.Server.Core.Models.Eft.Common.Tables.DifficultyCategories], BotExperience = Experience { AggressorBonus = System.Collections.Generic.Dictionary2[System.String,System.Double], Level = MinMax { Type = , Max = 1, Min = 0 }, Reward = System.Collections.Generic.Dictionary2[System.String,SPTarkov.Server.Core.Models.Common.MinMax1[System.Int32]], StandingForKill = System.Collections.Generic.Dictionary2[System.String,System.Double], UseSimpleAnimator = False }, FirstNames = System.Collections.Generic.List1[System.String], BotGeneration = Generation { Items = GenerationWeightingItems { Grenades = GenerationData { Weights = System.Collections.Generic.Dictionary2[System.Double,System.Double], Whitelist = }, Healing = GenerationData { Weights = System.Collections.Generic.Dictionary2[System.Double,System.Double], Whitelist = }, Drugs = GenerationData { Weights = System.Collections.Generic.Dictionary2[System.Double,System.Double], Whitelist = }, Food = GenerationData { Weights = System.Collections.Generic.Dictionary2[System.Double,System.Double], Whitelist = }, Drink = GenerationData { Weights = System.Collections.Generic.Dictionary2[System.Double,System.Double], Whitelist = }, Currency = GenerationData { Weights = System.Collections.Generic.Dictionary2[System.Double,System.Double], Whitelist = }, Stims = GenerationData { Weights = System.Collections.Generic.Dictionary2[System.Double,System.Double], Whitelist = }, BackpackLoot = GenerationData { Weights = System.Collections.Generic.Dictionary2[System.Double,System.Double], Whitelist = }, PocketLoot = GenerationData { Weights = System.Collections.Generic.Dictionary2[System.Double,System.Double], Whitelist = }, VestLoot = GenerationData { Weights = System.Collections.Generic.Dictionary2[System.Double,System.Double], Whitelist = }, Magazines = GenerationData { Weights = System.Collections.Generic.Dictionary2[System.Double,System.Double], Whitelist = }, SpecialItems = GenerationData { Weights = System.Collections.Generic.Dictionary2[System.Double,System.Double], Whitelist = }, LooseLoot = } }, BotHealth = BotTypeHealth { BodyParts = System.Collections.Generic.List`1[SPTarkov.Server.Core.Models.Eft.Common.Tables.BodyPart], Energy = MinMax { Type = , Max = 100, Min = 100 }, Hydration = MinMax { Type = , Max = 100, Min = 100 }, Temperature = MinMax { Type = , Max = 40, Min = 36 } }, BotInventory = BotTypeInventory { Equipment = ] The whole error will not intervene

2 Likes

You have all three mod dependencies that were added right?

I have the mod working fine, so that’s the only thing I can think of.

1 Like

Yes, I think I realized it’s not this mod’s fault; the MoreBotsAPI mod is preventing me from starting a raid.

1 Like

I just pinned a message to the comments with some instructions if you have time to test something real quick so I can fix this faster. I won’t be at a computer for several hours today but I’m trying to collect as much data as possible so I can get a hot fix our later tonight.

0 Likes
IRememberJeep

I was hoping this was your next release. UNTAR GO HOME! is so damn good.

1 Like

Details