Mod Details

AutoCompatibility Framework

AutoCompatibility Framework 1.3.2

Created by  Solid-Rhoads

6.0K Downloads

SPT 3.11.4 Compatible

A mod that (semi) intelligently creates cross compatibility between modded weapons, attachments, and ammo; Using various data-points and logic to determine what "should" be compatible. "Compatibility with patented curse-reduction magic".

Latest Version 1.3.2
SPT 3.11.4

Updated Aug 31, 7:20 PM

Version Notes

Tiny Update:

non-critical for non-Linux users

Fixed:

- Case sensitivity discrepancy causing issues for penguin-fetishists (Linux users 🐧).

Added:

- Blacklist entries for Raid Overhaul’s Multi-Caliber M4 Parts.

This download is externally hosted.
Always scan for viruses.

AutoCompatibility Framework

⚠ This Mod is Experimental ⚠

  • Firstly, I do want to thank everyone that’s checked out the mod so far. The response has been far greater than I expected from a mod I uploaded on a whim.

  • In the interest of tempering expectations, I want everyone to know that this mod is very experimental. Please see the various tabs on this mod page for more information.

  • Also, PLEASE PLEASE PLEASE do not report bugs re:attachments, ammo, filters, et cetera, to weapon and equipment mod authors after installing this mod, without first uninstalling this mod and seeing if the bug is still present. They’re already annoyed at me enough

Brief Description

This mod calculates compatibility between modded items so that they work together, but only in the places that they “should” work together based on the mod logic. This is not an “every attachment on every weapon” mod. For now only weapons, weapon attachments, and ammo are supported. In the future I may add support for gear mods like armor plates, helmet mounted gadgets, etc. TBD


Full Description 📖

So I threw this mod together for personal use on my own server and decided to share it with the community. It started out as just a way to try to determine magazine compatibility based on caliber, but it just kept growing as I decided to add more and more. Now it serves as a wider framework for automatically determining and implementing compatibility between modded weapons and parts.

WnJOc3A.png
WTT Armory Wages of Sin AR with Moxopixel attachments from MagTape and Tactical Gear Component as well as optics and components from EpicRangeTime’s All In One and SamSwat Optic Port.


How it Do That?…


The script performs a web of comparisons between modded and vanilla items using their metadata, the _props of the items those modded items were cloned from, other modded weapons in your database, and pretty much cross references everything in the web. It was the best way I could think of to help the game logic answer the questions that would be simple for a human being (like: “Is this a 5.56 AR magazine? And if so, which of these other modded guns are 5.56 AR’s and therefore should be compatible?”) The actual workings of it are less complicated than you might think, but largely because I used LLM’s to help me distill down my own initially overly complicated approach and come up with the least common denominators.

SaVRcwG.png

The mod SHOULD only add attachments that SHOULD be compatible. As we see here, the mod has by-and-large only added modded 5.56 AR magazines to saintdeer’s MCX Virtus.


Advantage/Disadvantage


The Advantage with this approach is firstly that there is a huge reduction in bloat over broad strokes ‘every item compatible’ type mods, especially in modlists with many custom weapons and attachments. Secondly, the other advantage over other more specific compatibility patches/mods is that this mod should not need to be updated every time an equipment mod is updated and new items are added or removed, or their id’s are changed; This is because the mod calculates and applies compatibilities every time the server boots. The drawback is that, as such with any automation, it wont be as perfect as painstakingly curating and creating compatibility “by hand”. And there will absolutely still be some mistaken and “cursed” compatibilities applied. To that end, I’ve implemented a config file that has some options for adjusting the scripts behavior a bit when it comes to specific items; although it will take some know-how on the part of the user.

SB3V5w7.png

Selecting optics on the WTT Armory ACR with new compats.


Installation 🔧

How to Install


Same way you install every mod, pinky… Actually though, the one caveat is that this mod ABSOLUTELY needs to load after all your weapon and gear mods. I’ve included an ASCII Greek character at the front of the folder name so it SHOULD load after every other mod, even the ones where authors have prepended their folders with “zzzzzzzz”. The greek character worked well for me, but may cause issues on non-windows machines or in languages other than english, idk; lmk if it does. If all else fails just use Load Order Editor to make sure the mod loads after all your other gear mods.

vKRw58b.gif


Config ⚙

Configuration


There is a configuration file in the mod folder - config/config.jsonc where you’ll find the following:

{ 
  //---------------- 
  // Basic Settings: 
  //---------------- 
  // Enables or disables the mod. 
  "enabled": true, 
  // Enables detailed logging for debugging. Very verbose, only enable if you need to troubleshoot an issue. 
  "verboseLogging": false, 
  // Enables or disables fallback file parsing to find missing IDs. Can create new compatibilities, but can take a long time on large mod lists. 
  // Recommended for Moxopixel TGC and a few other mods but otherwise not needed. 
  "modFileParsing": true, 
  // ----------------------------------------------------------------- 
  //------------------ 
  // Conflict Handling: 
  //------------------ 
  // If true, modded items inherit conflicting items from the base game item from which they were cloned. Potential for curse reduction in heavy mod lists. Disable if you notice lots of unexpected conflicts (cannot install both (item 1) and (item 2) at the same time). 
  "inheritBaseConflicts": false, 
  // If true, modded items inherit conflicts from other modded clones. Potential for curse reduction in heavy mod lists. Disable if you notice lots of unexpected conflicts (cannot install both (item 1) and (item 2) at the same time). 
  "inheritCloneConflicts": false, 
  // List of item IDs to exclude from all new conflict inheritance (normal conflicts still remain). 
  "VoidConflicts": [ 
    "686a5a6247c881f613196f91" // EoT Canted aim 
  ], 
  // ----------------------------------------------------------------- 
  //------------------ 
  // Manual Additions: 
  //------------------ 
  // List of manual additions to force compatibility between specific weapons/attachments/ammo and target items. 
  // For when the algorithm misses something due to cloning quirks, mismatched or incomplete data. 
  // Each entry specifies attachmentId(s) (e.g., ammo or mod) to add to the targetItemId(s) appropriate filter(s). 
  // Each value for for both attachmentId and targetItemId accepts a single ID string or array. Enclose strings in quotes and enclose arrays in brackets. Enclose the entire entry in curly braces, separate multiple entries with commas. 
  // Example: "ManualAdd": [{ "attachmentIds": "672e2e75ea372126f4fcb874", "targetItemIds": ["6761b213607f9a6f79017d42", "676b5088bc973cdc82247b3f", "676c3d1dcf722dad840e520b"] }, { "attachmentIds": ["672e2e757efbbef26ff61046", "672e2e7546454a975e0b7a3b"], "targetItemIds": "6761b213607f9a6f79017d42" }] 
  "ManualAdd": [], 
  // ----------------------------------------------------------------- 
  //------------------------- 
  // Whitelist and Blacklist: 
  //------------------------- 
  // List of item IDs to bypass proprietary slot restrictions, allowing all potentially compatible items to be added. 
  "whitelist": [], 
  // List of item IDs to exclude from compatibility processing entirely - Keeping them from propigating to new slots. 
  // For when the algorithm erroneously pushes something, usually due to cloning quirks. 
  "blacklist": [ 
    "6683957f2e516f6146af483d", // WTT Patriot rear sight carry handle 
    "683a4e266a0c93630610d794", // WTT Wilson Combat EDC X9 slide plate for extended slide 
    "6761b213607f9a6f79017d5b", // WTT Wilson Combat EDC X9 tactical slide plate 
    "684374be10b9487f8bd998cc", // WTT UCP Comp 
    "66a47ed0df2ffbca58ebe5ed", // WTT IWI Tavor X95 front sight 
    "66a47ed3f97061a20b99f188", // WTT IWI Tavor X95 rear sight 
    "67a01e4ea2b82626b73d10a5", // WTT ACR PMAG 762 
    "68448c3ea713d53905743800", // EoT AR-15 A1/A2 Gooseneck Carryhandle mount 
    "66713838ca123f9df8e7584e", // EoT Precision Reflex Carry Handle Mount "Gooseneck" 
    "68448bf2f4f9b64cb687698d", // EoT AR-15 A1/A2 Carryhandle Piccatinny mount 
    "685097dbb9aa83c9e35c5027", // EoT Glock MOS slide cap 
    "684b271ce72d12cf50b2a0dd", // EoT TTI Pit Viper rear sight 
    "68340d1d407f065e9c181c4b", // EoT AR-15 7.62x39 mag 
    "683410a82481761ba836b719", // EoT AR-15 7.62x39 mag FDE 
    "683427e8e0e4e228b35746b2", // EoT AR-15 7.62x39 mag banana 
    "685986e77e1518fb3729a164", // EoT AR-15J .366 TKM 20 inch barrel 
    "685986ffb813072ae5e3a91c", // EoT AR-15J .366 TKM 16 inch barrel 
    "8af8534244b4e4189d53bec2", // Epic's Magpul M-Lok bipod 
    "690458c8c8f726648b11ac19", // Epic's Harris 1A2-BRM Bipod with picatinny mount 
    "23878a19adddf4afbbcc0537", // Epic's Carry Handle Tactical Picatinny Riser mount 
    "04D04D10AB10AB4D00000000", // Massivesoft Longbow Rear Sight (why is this id so weird? It makes me uncomfortable...) 
    // Shrapnels (EFT is cursed...) 
    "5943d9c186f7745a13413ac9", // Shrapnel 
    "5996f6cb86f774678763a6ca", //RGD-5 Shrapnel 
    "5996f6d686f77467977ba6cc", // Mon50 Shrapnel 
    "63b35f281745dd52341e5da7", // F1 Shrapnel 
    "5996f6fc86f7745e585b4de3", // M67 Shrapnel 
    "67654a6759116d347b0bfb86", // V40 Shrapnel 
    "66ec2aa6daf127599c0c31f1" // O-832DU Shrapnel 
  ] 
}

I can’t recommend enough using a program like Notepad++ or a similar application with syntax highlighting for the editing of config files. It will make your life so much easier.


Known Issues/Support ❗

Known Issues


  • Some items don’t quite sit right. Sometimes its just a wash and there’s nothing you can do, but for some instances you can use Tyfon’s Weapon Customizer to fix alignment issues.
  • In my testing I noticed that certain mods, like MassiveSoft Weapons, add some layers of compatibility to their own items in a later hook from my mod, so you may get some warnings about items already being listed in filters or something like that. All this is telling you is basically that ACF already added the item to the slot filters. This shouldn’t pose an issue.
  • EFT/SPT is cursed in so many ways… Like, for example, this shit:

g8NfhV0.jpeg

To be clear, my mod is NOT EVEN ENABLED in this screenshot (so don’t blame me for every instance of curse you encounter with this and other mods installed lol). Yeah, nah, this is pure, good old fashioned EFT BS. Its all mod_scope… why is it all mod_scope??

  • And finally just note that the mod isn’t perfect and will occasionally add things that shouldn’t be added or miss things that should. Its not infallible and is at its core somewhat rudimentary - For now you can blacklist items from compatibility calculations if they end up in the wrong places, but this nukes all their added compatibilities, so its not the best solution. I haven’t added a granular way to do a “manual remove” in the same way I implemented “manual add”.

Conflicts


  • I tested this mod in my current server setup which is running 100 server mods and didn’t notice any incompatibilities or conflicts, other than the small one listed above. At its core this is a item database edit mod, so its compatibility should be relatively extensive.
  • The mod should also only make additions, not subtractions to filters, and only on modded items, not vanilla ones. So it should be relatively low impact on mods adjusting vanilla items.
  • The mod relies heavily on caliber for computing magazine and ammo compatibilities, so if a mod adjusts calibers may not work the best in tandem with ACF, just be aware.
  • I’m not sure how this will interact with bot generation mods when they have custom item imports on, because in my testing I always loaded this last. Theoretically if you put it in the load order before a mod like APBS or ALP and enable custom weapons and attachments in those mods, the new compats from this mod may propagate to the bot generation. But it depends on how those mods handle bot loadout generation and when.

Support


  • Support on this mod is going to be limited because, again, I made it for myself, for my personal server build, and for my friends. I’m sharing it with the community just because I thought it was neat and I wanted it for myself so I figured some other folks might want something like this too. So I’m providing it “as is” and if it gets updated it will probably be because I added functionality to it for myself first.
  • That said, if there’s something truly broken or something like that, I’ll try to address it. I’m deep into trying to configure a new custom configured server build for SPT and my satisfaction with it really determines if I’m going to jump back in to the deep end of SPT.
  • Also if you’re here to ask about my trader mod and if I’m going to update it to SPT 3.11… I might. I’m not sure. I have really big plans for it that I currently don’t have time to execute on, and I knew I wouldn’t be satisfied with just updating to 3.11 with no new content. If an update is coming for it I’ll post something on the mod page. (also if its your first time looking at that mod page, I need to apologize for how bat shit insane it is SPT was kind of a madhouse when I dropped that mod, fresh off the chaos and mass exodus resulting from the unheard edition controversy, so I came at it with an energy that seems wildly unnecessary for the current (much chiller by comparison) SPT community. lolz)

FAQ ❓

Q1: Why isn’t ‘Modded Attachment X’ appearing on ‘Vanilla Item/Weapon Y’?


This mod only uses vanilla items as a reference point in calculating compatibility between modded items. It doesn’t (or shouldn’t) be affecting the filters of vanilla items. This is because in theory the mod authors of those modded items already have their items being added to the vanilla filters that they want them added to. This mod will absolutely not remove anything from vanilla filters either.

Q2: Manual Add is not adding ‘Modded Item X’ to ‘Vanilla Item/Weapon Y’?


Essentially the same answer as Q1. As of right now ManualAdd does not override the core limitations of the mod to affect the filters of vanilla items. This may change in the future, but right now enabling modifications to vanilla item filters is a secondary objective. This has changed in v1.3.0 and manualAdd can be used to add to vanilla filters. This remains the only way this mod will touch vanilla filters, if you explicitly enter it in a manualAdd entry.

Q3: Can’t you just accomplish the same thing this mod does with load order?


Answer is Yes and No; You can have your weapon mods load first in your load order then have the attachment mods load after, and as long as the attachment mod is compatible with the vanilla weapon from which the new modded weapon was cloned, the attachments should appear (I’ve had two people so far tell me its the other way around, but don’t take my word for it, just try it yourself**). This is actually why some of my example images are bad examples, because yes, you could get the WTT WOS AR with those moxopixel attachments and EpicRangeTime attachments by just having the attachment mods load after WTT Armory.

First issue with this though, is that a lot of people don’t know about the way load order works when it comes to this topic - And WTT Armory starting with a “W” means if people aren’t actively editing their load order, they often never see other attachments added to WTT weapons, because it loads near the end of their server mods. I’ve also seen SPT staff actively discourage people (with good reason) from mucking around with their load order too much unless they know what they’re doing. So that’s point one of this mod, it seeks to be plug and play without needing to mess with your load order.

Now if you DO alter your load order to add compatibility, this works fine if you are only using a couple mods that handle mostly just weapons or mostly just attachments. The problem with this though is that the compatibility through load order is linear. So when you have a lot of mods, like I do, some adding weapons AND attachments in a single mod, only the weapon mod that loads first will receive the attachments from the mod that loads after and not the other way around; So on and so forth down the chain. For example: Take WTT Armory and Echoes of Tarkov, both add weapons AND attachments. If you load WTT first, its weapons may inherit attachments from EoT, but EoT’s weapons will not inherit attachments from WTT, and vice versa if you flip the load order. This mod seeks to be omnidirectional in this regard, at the cost of accuracy and a (hopefully only) slight increase in the potential for cursed guns.

Oh and I’m not even going to get deep into the fact that even in your “strictly weapon” mods, most of those components are technically attachments. Like the lower receiver of an AR is “the gun” but even the upper receiver is technically an attachment, so even two “strictly gun” mods may have the potential for cross compatibility that would be limited by load order.

Case and point: If you want simple compatibility between a few mods and don’t mind missing out on a few things, use load order to create that compatibility by loading weapons first, then the attachments you want propagated to those weapons after. If you’re a goblin and want it ALL (at the cost of maybe a couple misses and some slightly spooky guns) with omnidirectional compatibility and no need to mess with load order, use this mod. Pros and cons to each. As always:

e7xl7V4.jpeg

Q4: This:


JPlC15m.png

Already addressed this at bullet point 4 under known issues. Its harmless. Another mod is trying to retroactively add compatibilities to its items at a later hook than mine, but ACF already added them.

Technical details on this one point in case you are a dev (nerd) and are wondering why: So as I understand it, when you create a cloned item via custom item service it inherits everything from the item you clone it from, then you alter props and locales to meet the desired values of your new item. If you explicitly define, for example, new filters for “mod_scope” it overwrites the base items filters and now you’ve only whitelisted those attachments for “mod_scope”. If you load your weapon first, you define that list, but things like the “name” (not the one from locales, that’s the one you usually change) actually remain the same as the item you cloned from (I actually didn’t realize this until I began developing this mod and output every detail of all my modded items to a log). So when you load attachments after your new weapons and parts they still show enough info from the original item to have those attachments added to their filters. BUT, if you load your new weapon AFTER the new attachments, and you explicitly defined the filters for those mod slots, it will overwrite whatever has been added and once again explicitly white list only the attachment id’s that you’ve added. I hope this makes sense, I had to do a lot of digging and really figure out SPT’s “order of operations” for this stuff to make this mod work the way it does.


Credits and Donations 💜

Credits


  • AcidPhantasm — Looking at their code really helped me figure out the best way to isolate modded items from vanilla ones in the script; Without that this mod probably wouldn’t exist.
  • MoxoPixel — Again, some of the main reasons I wanted to make this was to use their mags with any weapon; But also because in development I looked at and reverse engineered some of their methods to use in propagating compatibilities.
  • All the amazing modders making custom weapons and equipment for SPT. They drove me to do this. This is their fault.
  • The heralds of the apocalypse. I mean, Copilot, Chat GPT, and Grok ; For helping me boil down my insanely over complicated approach to this mod into much more organized and condensed steps. I feel like I lost a bit in the process, but hey…

7d7.gif


Finally,


If you like my mods and wanna show me a little support, you can:

kofi6.png

Also in lieu of donations to me, I also fully endorse donating to the Lupus Foundation of America and the National MS Society. I personally have Systemic Lupus, and my mother had MS for most of her life before she passed - so these causes mean a lot to me. Giving is appreciated.

Version 1.3.2
Download Mod Version
SPT 3.11.4
Latest Compatible SPT Version

2.1K Downloads

Created Aug 31, 7:20 PM

Updated Aug 31, 7:20 PM

Virus Total Results

Tiny Update:

non-critical for non-Linux users

Fixed:

- Case sensitivity discrepancy causing issues for penguin-fetishists (Linux users 🐧).

Added:

- Blacklist entries for Raid Overhaul’s Multi-Caliber M4 Parts.

Version 1.3.1
Download Mod Version
Unknown SPT Version
Latest Compatible SPT Version

491 Downloads

Created Aug 29, 11:59 PM

Updated Aug 29, 11:59 PM

Virus Total Results

Update Notes:

This update should only expand support from the previous version – but if you are updating from a pre-1.3.0 version, please first see the changelog for that version.

Fixed:

- An oversight causing modded items that use vanilla assets (models) to sometimes be overlooked for compatibility processing.

Added:

- Support for some modded item database files that use a very “non-traditional” schema (now supported via mod file parsing).
- Sneaky AK-50 dust cover to the blacklist.

Notes:

- Delete your cache folder in user/mods/Ίutocompatframework/src to allow the cache to refresh.
- Some mods that are now supported, like Olympus, can add significant time to mod file parsing due to the sheer number of modded items added, but caching is still in effect.

Version 1.3.0
Download Mod Version
Unknown SPT Version
Latest Compatible SPT Version

482 Downloads

Created Aug 28, 11:17 PM

Updated Aug 28, 11:17 PM

Virus Total Results

Substantial Update:

Please see the notes at the end of this change log for details on updating from a previous version, and avoiding any potential item disappearance.

Changed A LOT in this update so I do expect some bugs and spooky stuff; As always, backup your profiles folks.

Added:

  • New supplemental mod file parsing method for finding ID’s not found by the mod’s core logic. Works very well with mods like TGC that have a slightly different method of cloning items.
    • Parsing all your mod files looking for missing ID’s can take a while, so a caching function has been implemented. *See update notes for details on this function.
    • Enabled by default, but can also be disabled entirely in the config.
  • Patch for Choccy and WTT .300 WinMag compatibility is now baked into the script. No more manualAdd defaults. Patch simply removes “mm” from all instances of any caliber that includes it, then the mod does the rest**.
  • Stronger protections against altering vanilla filters, but with balancing changes to manualAdd (see changes).
  • A few default blacklist entries (also see fixes).

Changed:

  • Slightly stricter rules for propagating attachments, but balanced out by other additions and changes.
  • Altered the way manualAdd works:
    • manualAdd now supports arrays so you can add multiple attachments to a single item, a single attachment to multiple items, or multiple attachments to multiple items with a single entry. See comments in the config file for an example. (Didn’t think I would pursue this but did anyway, thanks for the suggestion hellchickens).
    • manualAdd can now affect vanilla item filters and override the mod’s core protections against altering vanilla filters. This is the ONLY way that this mod should be affecting vanilla filters, assuming everything is working correctly. If something is missing by default from a vanilla weapon or item, it is because the original mod author did not push it to that slot.
  • Conflict inheritance has been completely disabled by default in the config. It seemed to be creating more confusion than actually reducing curse factor. May be outright removed in a future update.
  • Some functions of the mod have been split off into supporting scripts; mod directory structure has changed.

Removed:

  • Second pass function has been removed entirely; from script and config.
  • Default manual add entries removed and supplanted by the Choccy patch.

Fixed:

  • Ammo handling:
    • Ammo compatibility calculations no longer mistakenly have clone mapping applied. Caliber is the prevailing factor for ammo propagation, as it should be. (Sorry, no more jamming a .50 BMG round into the chamber of your .338 LM rifle… you sicko…).
    • Added shrapnel to blacklist. I don’t know why it was even propagating the vanilla ID’s for shrapnel, anything in items.json should be excluded… but it was adding shrapnel to chambers and cartridges because, guess what, apparently shrapnel is “Caliber9x18”… EFT is so cursed I swear…
  • Fixed manualAdd function looking in the wrong location for base ID’s. This was breaking a lot of manualAdd’s functionality.

Notes:

Updating from a previous version:

  • Updating may result in some items disappearing if they are in a filter that they would no longer be added to. The mod is a bit more discerning, but not overly so; still, there is a small chance something that was reasonably compatible before may not be anymore.
    • If there are any important attachments or ammo’s you are worried about possibly disappearing, first detach them from the component or weapon, or unload the magazine/chamber.
    • When in doubt, if you are really paranoid, disassemble the entire weapon and put it into a cluster or container in your stash for easy reassembly after the update.
  • Ammo is the real concern in this update, because ammo handling was pretty broken by the previous update. However, you would probably know if you had packed or chambered something you shouldn’t have (e.g., the .50 BMG in a .338 example from the fixes section). Again, when in doubt eject from chambers or unpack mags.
  • Make a backup of your configs if you’ve customized, but note that formatting has changed, so only copy entries and adjust their format if necessary. Do not try to replace the new config file with the old one — it will not end well.

File parsing and caching:

  • *As stated, file parsing can take quite a while on large modlists and slower machines. Luckily you only need to do it once as long as you don’t change your weapon/attachment/ammo mods.
  • On first run the file parsing will create a cache and read from the cache on subsequent runs, which should only take a few seconds by comparison.
    • If the mod finds a cache it will not attempt file parsing.
    • If you add new weapon/attachment/ammo mods you will need to delete the cache folder inside: user/mods/Ίutocompatframework/src/ to allow the mod to parse those files and regenerate the cache.
  • File parsing can be disabled entirely through the config if it doesn’t find any additions, or if it’s taking way too long for you.

Known issues:

  • Massivesoft and a few other mods still try to add items in a later hook, so you’ll still get the “WARNING … addAttachment … slot type same item already exists”. Again, remains harmless. ACF just added what they were trying to add already.

    • RE the above: different authors use different methods of pushing their own attachments to slots: “addAttachment”, “addToExistingItemFilters”, “addtoModSlots”, etc. This mod shouldn’t conflict with any of them but may add some redundancy. The Massivesoft weapons mod is the only one that “complains” about it lol.
  • manualAdd still remains a little finicky. Should actually work for the most part now though. Not every item of every base class may map to the correct slot. Needs extensive testing to see.

  • ******A very rare edge case could theoretically exist where another mod relies on the exact naming of a caliber that includes “mm”. It’s highly unlikely, but there is a non-zero chance, so it’s worth mentioning.

  • ‘mod_scope’ and ‘mod_stock’ remain the most cursed slots in existence due to stacking attachments… have mercy.

Version 1.2.1
Download Mod Version
Unknown SPT Version
Latest Compatible SPT Version

1.0K Downloads

Created Aug 23, 5:13 AM

Updated Aug 23, 5:13 AM

Virus Total Results

Fixes:

- Restricted manualAdd and other non-critical warnings to only show in verbose logging, preventing log spam for people that don’t have mods with configured defaults installed.

Version 1.2.0
Download Mod Version
Unknown SPT Version
Latest Compatible SPT Version

219 Downloads

Created Aug 22, 10:27 PM

Updated Aug 22, 10:27 PM

Virus Total Results

Fixes:

- Fixed modded ammo not properly being added to the cartridge filters of modded magazines that handle the same caliber(s).

- Fixed manualAdd not properly handling ammo, chambers, and cartridges.

Changes:

- Changed config.json to config.jsonc file for comments, organization and clarity. Check your existing configs against the new defaults to see if you need to transfer anything.

- Descriptions of config options can be found as comments directly in the config now.

Additions:

- Added several manual add entries to the config to force compatibility between Choccy’s 300 WinMag (Caliber762x67mmB) and WTT’s 300 WinMag (Caliber762x67B) due to the naming incongruity. Band-aid fix until I can figure out a caliber normalization method without breaking everything. Thanks hellchickens for bringing this to my attention.

- A couple default blacklist entries have been added, and labeled with comments for clarity.

Other:

- Refactored with AI assistance for efficiency.

- Stupid quotes and stuff in the terminal. I could have spent my time on much more productive things, but I have ADD.

Version 1.1.1
Download Mod Version
Unknown SPT Version
Latest Compatible SPT Version

1.2K Downloads

Created Aug 16, 8:15 PM

Updated Aug 16, 8:15 PM

Virus Total Results

Changes:

- updated the config to include a few more default blacklist entries

- no other changes

Notes:

- If you’re already running v1.1.0 you can just grab the new config file from here as the core mod hasn’t changed. Then just copy the blacklist entries or replace the config if you made no other changes.

- Version 1.0.0 has been removed from the hub since one of my core functions was half broken in it.

EDIT: Originally uploaded config for this version was incorrect, updated to correct config on 08/17/2025 08:45 EST

Solid-Rhoads Pinned

Edit: to save space in comments, I’m just gonna say, see the known issues and support section of the overview for details on support (but also don’t be afraid to comment something).

Edit 2: Added a FAQ’s section to the overview to answer a couple questions that I’ve heard several times already.

1 Like
Blitz#5673

I’m trying to add a few things manually but having little luck. I’m not sure if my formatting is wrong because there are no changes in game. I’m trying to make the two gooseneck adapters from EOT interchangeable with all carry handle uppers, and trying to get the vanilla M4A1 FSP to be compatible with the Daniel Defense rails + 20“ M16 barrel from Epic’s AIO. These are the lines I wrote out:

“ManualAdd”: [{ “attachmentIds”: “672e2e75ea372126f4fcb874”, “targetItemIds”: [“684489fe2cc79fb0b0fd98af”, “684488b1c9ead5b831d49ac8”] }], “ManualAdd”: [{ “attachmentIds”: “5ae30e795acfc408fb139a0b”, “targetItemIds”: [“59126f13e8bf4e9db57a14d5”, “b9acede708b1c97d3c895862”, “6581a57dfb78e9f0f816c845”] }],

0 Likes
Blitz#5673
[deleted at 2025-10-05 21:37:29]
[deleted at 2025-10-05 21:37:26]
skYman

Just wanted to let you know that I am using 1.3.2 on a heavily modded headless setup with all known (to me at least) supported content mods and ABPS + APBS and it works beautifully in combination. There is an extreme variety in bot-loadouts and so far there have been no issues that have not been taken care of by fallback logic.

At least that is what I could gather from the console / logs. I am 20 raids into this playthrough and it’s the best SPT-experience I have had in years. Big Ups!

1 Like
tempandspam

Sorry if this has been asked/mentioned anywhere, a lot of it is like rocket science to me.

I have a mod that isn’t listed on this site that I want to make compatible with other mods that are on this site, how would I go about making this work?

0 Likes

There’s no official support provided here or on the SPT discord for mods not listed on the SPT mod Hub or Forge.

If it is a certain mod that alters the way SPT handles connected clients, they have their own discord that you can go to for more guidance on creating compatibility, but be forewarned, its generally viewed as NOT a simple task.

If it is a different mod, the same still applies, and official support is not provided here, and I can’t provide much more guidance beyond that without more details. Generally speaking; Check if the mod author has info on compatibility provided anywhere, see if they have a discord or other public space for communication and discussion, and if all else fails make a polite inquiry with the unlisted mod’s author(s) themselves.

0 Likes
Deftoner976

This mod dont do anything for me, am I supposed to change something in the settings file?

0 Likes

You shouldn’t need to alter anything. Check the terminal during server boot, you should see a message from ACF that says something like:

AutoCompatibility Framework: Beginning Calculations… Cache found: Loaded X entries from cache Delete cache folder from user/mods/autocompatframework/src if you update or add new weapon, attachment, or ammo mods to allow the cache to regenerate. AutoCompatFramework Summary: - Added X ammo to chambers - Added X ammo to cartridges - Added X attachments to slots - Added X base conflicts - Added X cloned conflicts - Voided X conflicts - Added X manual additions AutoCompatFramework: Mod Cross-compatibility applied successfully.Where X is the value for each of the entries. If there is nothing, or very little being applied then ACF is either loading too early or you just don’t have any (or many) compatibilities to be applied. This may just be because you are only using a small number of modded weapon and attachment mods and/or they already have some level of compatibility. Depends on the situation.

0 Likes

Yeah… I dont see that.
I use SPT 3.11.3 with FIka.

0 Likes

Oh, if you’re not seeing that in the terminal at all during server boot then there’s two possible scenarios; The most likely scenario is that the mod isn’t installed in the right place. The second possibility is that at some point you disabled the mod functionality in the config using the first config option.

0 Likes
Vercinaigh

Works brilliant on my Linux box now, thanks!

1 Like
hellchickens

Added modded ammo 66c01f72d8e7493c154a39c5 (.50 BMG M1022 long-range sniper) to deee28079e76d537f532021c (Surgeon Rifles 1581 XL action .338 LM bolt-action sniper rifle) chamber slot patron_in_weapon Added modded ammo 66c01f72d8e7493c154a39c5 (.50 BMG M1022 long-range sniper) to f1b1a0db4986e718711a8e80 (MDT AICS style 3.715 inch 5-round magazine) cartridge slot cartridges Added modded ammo 66c01f72d8e7493c154a39c5 (.50 BMG M1022 long-range sniper) to 05d4400c84ab3eb0e7722625 (MDT AICS style 3.715 inch 10-round magazine) cartridge slot cartridges ———— in .308 mag? srsly?

why? It wasn’t even clone parent

and still not added to same caliber AK-50 and it’s bundled M82 mag. Ammo from AK-50 mod:

686e90abd63bee9a05dcf5db HP

686e93d861bcbeca0b805201 m33 HP

686e959752397d5b3485ad75 m903 slap

not even processed (really ZERO records in logs), ammo from bmg expansion mod added as well as one ammo object from AK-50 mod (as it was modified in expansion mod) to M107 chamber and all of them are not added to M107 mag

0 Likes

Added modded ammo 68561ab84857b945e0ce85e9 (.338 Lapua Magnum RIP) to 66c01f675cc8f74d1ceaa066 (Barrett M107 magazine) cartridge slot cartridges Added modded ammo 6859749fb61f50b920ae5a2a (.338 Lapua Magnum Raufoss) to 66c01f675cc8f74d1ceaa066 (Barrett M107 magazine) cartridge slot cartridges

feels like there is some mess, like setting wrong IDs for exact loop cycle, like processed ID updated too late or updated too early xD

0 Likes

That’s really weird, because I can’t replicate that in my current version. It sounds like the issue that was fixed in version 1.3.0+. I have a clean install for a testing environment set up, only weapon and gear mods (including WTT Armory, AK-50, 50bmg expansion) + autocompatibility, and the MDT AICS style 3.715 inch 5-round magazine only accepts .338LM and .338 Norma as it should, as revealed via linked search. Same goes for the inverse. No 338 ammo showing in the M82 mag for the AK-50, and the ammo from 50bmg expansion is there.

I would totally uninstall the mod, reinstall making sure its the current version, and check your load order.

0 Likes

That logs are after I did reinstall. Clean 1.3.2, mod last in order xD

I too have 0 idea how 3 ammo object were just ignored. Idk, I’ve sent u in pm barrett mod, try with it, maybe it breaks smth. As I have no free space now to do super-duper-clean spt install to check it.

Also tried with caching disabled, still the same

0 Likes

I haven’t looked in game, but I don’t think that mod is correctly reassigning the caliber for the ammo. On the cloned ammo is says: “ammoCaliber”: “Caliber127x99” should be “Caliber”: “Caliber127x99” for ammo. Its trying to overwrite a prop that doesn’t exist on the original. So in game the round is probably still a .338 lapua magnum round, in terms of caliber.

0 Likes

hmmm, gonna take a look into, thanks

0 Likes

yep, u are right, that’s the problem for 66c01f72d8e7493c154a39c5 (.50 BMG M1022 long-range sniper) in M107 mod, now it is suitable everywhere it should be.

Though

686e90abd63bee9a05dcf5db HP

686e93d861bcbeca0b805201 m33 HP

686e959752397d5b3485ad75 m903 slap

are still the same, not even a record in logs. Feels like it wasn’t correctly added to chambers and cartridges. Gonna manually add it to “Edits” and check if it starts to work…..

Aaaaaand it didn’t help, still ur mod have 0 records for those 3 IDs. Fun part that 1.2.0 at least “saw” it and wrote in log

0 Likes

also it’s weird looking xDDDDD

https://drive.google.com/file/d/1otC5F9VKps1RMNGyF7nYtL_hCAY2DtfN/view?usp=sharing

the fun part here is that if compatibility done on _props level and left “ammoCaliber” in M107 for ammo in mods itself - things look like it should be, but now…. can’t stop laughing xDD

0 Likes

It IS “ammoCaliber” for weapons, and just “Caliber” for ammo… Welcome to the sanatorium.

0 Likes

yeah, i’ve changed for m107 and it went working… Other staff stood the same, though stopped touching .338

0 Likes
hellchickens

ps, bro, looks like things went missing, so repeat here once more:

Can u please add option to write log output to dedicated file, not into whole server output? That log auto archive function of server makes me mad af when I do testing xD

0 Likes

Oh, I must’ve missed when you requested the log split, yeah I can do that. What do you mean by “things went missing” though?

0 Likes

things went missing

literally about log split request))))))))))))))) looks like I’ve wrote it somewhere deep inside long messages

How mod itself works I’m testing right now, so have nothing to blame for now

0 Likes

OHHHHHH, you scared me lol. I thought maybe I accidentally packed the wrong build in that little Linux update and broke everything. Yeah, I’ll make a note and look at making that adjustment to logging at some point in the near future.

1 Like
Vercinaigh

This mod prevent server start up on my Linux machine. It might be due to the special character but am unsure, can send a error print out if needed.

0 Likes

I anticipated that Linux might have an issue with that. Think I mentioned it in the installation tab. But yeah, try changing the name of the folder first (change the special character to an “a”) and see if that fixes it. If so, then just create an order.json file so it loads last.

If that doesn’t fix it then it may be an issue with pathing related to caching, but at that point I’d say just create a GitHub issue and send me your logs.

Unfortunately the only Linux machine I have access to test on right now is a Raspberry Pi, but I did have an SPT server instance running inside a docker container at one point, and I may still have it. I’ll let you know if I can test and resolve it on my own.

0 Likes

Will give it a go tonight, if not I’ll throw the error up on github for you. I am pretty sure the later is more the issue the more i think about it as I’ve had this mod for awhile, since it’s always been that way I do think it’s worked before.

0 Likes

Yeah, let me know. I looked at the paths and they should be cross-compatible with linux. It could be a case sensitive thing too… I had to tweak a few mods ts files when I was hosting on linux. I’m assuming you’re using a docker container too. Oh, another thing to check, if it is related to the caching function, is to make sure your spt.server executable has write privileges to the directories in question, since its being commanded by a script to create a directory and a file.

0 Likes

Ran into the same issue as Vercinaigh.

Look to have been a filename casing issue.

In errors when trying to import a resource within the following file:
..user\mods\Ίutocompatframework\src\mod.ts

It’s trying to find:
“./references/vanillaitems.json“;

File it tries to find on linux:
..user\mods\Ίutocompatframework\src\references\vanillaitems.json
File that actually exists
..user\mods\Ίutocompatframework\src\references\vanillaItems.json

Changing the case fixed the issue and allowed the server to load. Left the main mod folder name untouched, special character isn’t causing an issue for me on Linux Via Docker.

Hope this helps anyone else who may be running into the issue.

0 Likes

Yeah case sensitivity is one of the things I suspected. I’ll make a note of it so in the next update that file name is consistent and won’t cause an issue on Linux for other folks. Thanks for the find.

Edit: yeah I found it. The actual code itself is consistent with the existing file name being “vanillaItems.json” the discrepancy is just in my import statement in mod.ts where I wrote import vanillaItems from “./references/vanillaitems.json”;, instead of import vanillaItems from “./references/vanillaItems.json”; … So in the next update it will all be “vanillaItems” with the uppercase I. But for now changing the file name to lower case will fix it and bring it in line with the import.

0 Likes

Awesome thanks!

0 Likes

Details