Native SPT Manager 1.0.3

A fleshed out mod manager for SPT-AKI mods and other functionality. Has been in the works since around November of 2022.

IMPORTANT!

I have decided to up the version from 3.5.0 to (latest).

This tool has been postponed over the summer as I have prioritized other projects that I want to work on. I will pick this tool up again after summer has passed most likely. If you need an "in-house launcher" please refer to my SPT Launcher.

This tool should be good to use even with (latest) SPT-AKI. It hasn't been updated since February of 2023, so no guarantees. Use at your own risk!


PLEASE NOTE: University classes have started for me so updates for this tool will be slower than usual.

Thank you for your understanding <3


Full image gallery of the tool: https://imgur.com/a/ofBXtq1


PLEASE report bugs/errors in the support thread OR via a comment!


[tabmenu]

Images

  • Version 1.0.3

    Native SPT Manager | Changelog (V1.0.3)

    VirusTotal result: No false positives, damn boi!


    Here comes another update! I won't waste your time on reading stuff you don't wanna read. There are other words in the new built-in changelog.


    Full changelog:


    Profile page:

    • Revamped health displays (thanks to SPT-AKI Profile Editor for the UI inspiration hehe!)


    General:

    • Added a dedicated in-house launcher! Very W.I.P but it does what it says, code practically copied from my Mini Launcher tool lmao.
    • Added "Module panel" to Settings page in an attempt to cluster a control panel together; this allows you to toggle profile editing and the in-house launcher. Why? Dunno man, I asked myself that as well. Enjoy it.
    • Moved "Clear cache" and "Refresh UI" to Module panel window for organization.
    • Added a nifty little changelog window.
    • Fixed duplicating modlists when deleting mods (Server, Client, Disabled pages).
    • Fixed mods not deleting properly which were causing duplicating modlists.
    • Moved "Restart" to the main view next to total mods counter for convenience.
    • Removed "Actions" dropdown, replacing it with the "Module panel" on the Settings page.


    Coming:

    • Modpack profiles; Confirmed, not started.
    • Dark mode (about 50% complete); Confirmed, on its way.
    • Proper in-house launcher UI; Confirmed, on its way.
    • Functional profile editor (perhaps more features); Confirmed, on its way.


    Known issues:


    * Swapping between SPT installations and trying to enable or disable mods will confuse the manager. I advise that you only use the manager with one installation, or keep a good eye on which mods are from which installation. There will be a feature to manage this later.


    * Mods packaged with WinRAR (particularly ".rar" extension) can not be dragged & dropped into the interface. I'm experimenting with libraries to support RAR archives, but for now they cannot be installed automatically, so you'll have to manually extract any mods packaged with WinRAR.


    Thank you for downloading! <3

    Images

  • Version 1.0.2

    I present to you, Native Manager 1.0.2!

    VirusTotal result: One false positive, as usual


    Not much as changed since 1.0.1, but I also haven't had a lot of time to work on this. Enjoy nonetheless!


    Here's the changelog:


    Server page:

    • Fixed editing server metadata (package.json) info erroring with 'Illegal characters in path.'

    General:

    • Fixed all buttons to have consistent Hand cursor.
    • Added "Clear server cache" option to the Action dropdown menu. If there is no cache, the tool will let you know.
  • Version 1.0.1

    VirusTotal: The usual false positive

    Native Manager has updated to 1.0.1!

    A lot of stuff has changed since the first release.

    Image of updated UI below.


    READ THE CHANGELOG HERE:


    Server page:

    • Fixed server config editor erroring when empty. (Thanks to Jiblet and a few others)
    • Fixed server config not loading properly if it was in a sub-folder (i.e ModName/config/config.json).
    • Fixed server not detecting config if it's in the same folder as the mod itself. (Thanks Jiblet)
    • Fixed server config not being saved. (Thanks Jiblet)
    • Streamlined validation & saving functionality into "Save Config".
    • Added separators for visual sectioning.
    • Added config editing content to prepare for future update.
    • Added button to restore initial config from memory.
    • ^ Config content will save to memory on config load.


    Client page:

    • Fixed "Delete permanently" button not enabling when selecting a client mod.
    • Added separators for visual sectioning.


    General:

    • Fixed visual bug of mod counters not updating when enabling/disabling mods. (Thanks Jiblet)
    • Disabled mod counter relabeled "unloaded mods".
    • Swapped out the color quad, unloaded counter is now red and client counter is now green.
    • Disabled dark theme switch for now.
    • Icons on buttons for streamlined design.
    • Waylon#6969 has been added to Credits for helping with a variety of things, including icons.


    Planned:

    • Advanced config control panel.
    • Listbox-based instead of text-based config editor.

    Images

  • Version 1.0.0

  • A change has been made since my last comment. Please see the Overview.


    Thanks for your understanding! <3

  • Does anyone know if this manager works on 3.7.1?

    • It does not as some of the pathing has changed. I haven't had neither time or energy to work on this, sorry.

      Heart 1
    • No need to apologize sir, I completely understand this is a hobby, and do not hold it against anyone who steps back from it. At the same time, I greatly appreciate all the work all of the modders put into the mods available.


      Thank you, and I wish you the best in whatever you are doing at this time.

    • I am in the works of a smaller version of this, however I have no ETA for it. It's more of a pet project.

      Thumbs Up 1
  • To those of you who read comments:


    Hi there. I've been away from working on this for a while to avoid burnout, since I worked non-stop on this for almost two months across Christmas and New Years.


    With my Mini Launcher now running on a stable release, I'm gonna resume working on this mod manager to also get it to a stable release stage.


    The planned features right now are the following:

    - Theme Toggle

    - Improved in-house launcher

    - Functional profile editor


    How long it will take to finish those three is unclear, but I plan on actively working on finishing them after today.


    Thank you all for sticking around on this project, it's been a blast!

    // Devraccoon

    Heart 1
    • Looking forward to a new version 🥳🥳

  • The manager is great. My only gripe is that the launcher timing is off and times out since the mod manager forces the database to reload for some reason.


    I tried launching the server without it and the mods were cached so there was a shorter start up time

    • I just tried to reproduce what you mentioned. Funnily enough I think that I forgot to implement the timer that is supposed to wait for the server to finish loading up. It shouldn't be touching the database at all either, I don't think I have any code that directly accesses it.


      Regardless, I'll take a look at the first point you mentioned. In my debug sessions the timer completely froze and suspended the whole app for at least five seconds, yet when reproducing the other two buttons don't even enable. Something's definitely not working properly.


      Thanks for letting me know!

  • I cant figure this out.

    Was restarting the server after installing some new mods and now Native SPT is finding or recognizing 3 duplicates of every mod now? No idea what I did, was working perfect for hours.


    Anyone seen this before?

    https://imgur.com/a/JcLzovH

    • Well that's humorous. I predicted this in some sense.


      When did/does this duplication occur? Is there anything specific you do when this happens?


      Regardless, Refresh UI on the Settings pages should fix this. I'll look into it lol

    • I think its caused by "\user\mods\order.jsod". Try to delete it and restart manager, it will create new one.

  • I dragged a mod with Bepindex dll's onto the launcher and it installed the bepindex file to the wrong location

    Tarkov SP\BepInEx\plugins\BepInEx\plugins\RealismMod.dll

    the *Modsname* folder was no copied to user\plugins either.


    The Mod Archive is laid out like

    [Archive Root]

    --------Bepindex\plugins\*dll*

    --------Mods\*modsname*\


    Maybe best to just manually install mods?
    Do you have plans to enable mod profiles? I e one Profile for realism mod, then i can switch to a completely different set of mods on another profile? Ah, never mind, I see Presets are coming

    • Thanks for reporting! Out of curiosity, which mod were you trying to install? I'd like to try to reproduce your issue. I skim-read it too fast. I'll try to reproduce the issue myself!


      I can what went wrong though, I'll see to fixing it.


      The issue appears to be that SPT Realism is shipped in a .rar format, which is currently not supported by the manager as it works with a built-in Zip library. I'll work on trying to fix this for the next update.

      Thumbs Up 1
  • Lmao, I somehow managed to break it.


    So, I had migrated my 341 mods manually to the documents folders. I then did my 350 install, opened the manager which I had also pulled out and migrated manually to the new 350 install and opened it.


    I was able to transfer mods from disabled to active and vice versa no problem. However, when I wanted to delete a mod through the manager, it would give the dialog for it, I'd say yes, but the mod would stay in the list, both on disabled and active lists. I tried restart. Still there. Tried to delete again. Still there. Tried refreshing. Still there. Tried to delete again. Still there. So I had to manually delete the mod out. Now when I did this and reopened, the mods are still in the list, but when I click on them, only the title populates. No other fields show any data. So then when I try to hit delete, the mod is still in the list and, get this, the whole drop-down list gets duplicated, i.e: all of the mod titles appear twice in the dropdown!


    At this point, I tried clearing the server cache as I figure that's the issue, but I get an error stating that the server cache isn't empty and everything is still all fucked up. Have tried redownloading and rezipping to that folder and no dice. Have even tried resetting the app and also no dice.


    Very incredibly niche scenario of me being a little brain dead, but figured I'd share this here in case anyone else pulls their hair out wondering what's going on. I think it's just fucked now and I can't use it, lmao. Unless you know of some folder or file somewhere I can alter or delete that will solve this mess I've made.

    • Thanks for reporting! I think I see the problem in this, both the malfunctioning delete and repopulation.


      I'll see to fixing it. :)

  • What are the odds getting the ability to update mods would be possible? I'm imagining that might be a tricky one to work on hey?

    • That would require a lot of networking to connect to the workshop and then request stuff, which, honestly, is something I'm not too keen on trying my hand at as I suck at it. It might pop up as a possibility in the future.


      I do have plans to implement a compatibility check between mod and installation.

      Happy 1
  • Immediate suggestion I have to add a simple enable/disable all button. Helpful when trying to debug which mod is causing issues.

    • This is in the works as I find myself needing the same feature. Definitely coming.

  • I saw that you had a "Launch SPT-AKI" dropdown action planned for the manager. You should get together with Askime to get permission to use their Launcher AIO, which is a pretty sweet product all by itself.

    • I already have a finished in-house launcher ready to go! I haven't updated to that version yet because I plan on shipping it alongside dark theme. Dark theme is proving to take some time due to other projects I'm working on at the same time. I'll get around to it sometime next week.


      Thanks for the recommendation, I'll check that one out!

  • I like this mod. Very useful little program that's not too hard to use. Is it possible to have presets that use different collections of mods? For example one preset that uses Realism and another that does not?

    • That's coming soon! Check the Features tab.

      Server profiles (for modpack-like functionality) - Looking into it

    • Sweet!

    • Planned! The status is because I can't guarantee that it will come in the next update, or even the one after that. It'll come when I have time to implement it, because I have other priorities.


      Definitely coming though. ^^

    • Of course, take your time. I know how it is, life has a way of taking us multiple directions. Thanks for the awesome work and good luck with things.

      Heart 1
  • Hi can you add buttons the ui hurts my eyes


    I like the buttons. :D

    Crying 1
  • 1. Fired it up, pointed it at my SPT instance, everything seemed to be working.

    Went to disable one of my own mods, clicked on "Disabled Mods" to see the list and got:



    2. It doesn't find config.json files if it's held in the mod's own folder rather than a config folder within it.

    2a. Some JSON syntax colouring in the config screen would be super nice.

    2b. Put the save button and validate button near one another. It's not clear that you need to validate before you can save.


    3. Also can I just say that using green for disabled and red for enabled mods is rather counter-intuitive ;)


    4. Reporting bugs in public like this means other people can see them and not report the same thing. Or handle it through Github or something. Not a private 1 to 1 Discord :/


    5. My own preference but I have 40 server mods currently so would prefer to see them out in an open list rather than in a scrolly dropdown. Maybe extend left, making the GUI wider and have a panel in there showing as many as it can in the space available?

    Perhaps something like the addon manager for MS Flightsim 2020: https://i.imgur.com/ZzHSMzZ.png


    6. Button(s) somewhere that opens my Mod/BepInEx folder would be nice. Clicking the purple "XX total mods", shows a finger pointer mouse icon but does nothing :)



    I'm aware this might all sound rather negative so I also want to add that you've done a nice job here. Bugs will be bug and annoyances will annoy :)



    Edit:

    7. Having re-enabled my one disabled mod, it still shows "1 mod disabled" - that text hasnt refreshed - but the list of disabled mods is (rightly) empty: https://i.imgur.com/Ayze8Mr.png - this one is repeatable


    8. I can make a config file change, then validate, then save the config - I get no errors but the actual config file has not been altered so my changes via this tool are lost.

    • Yeah, this is one of the two issues i mentioned in my 2nd comment. I was made aware of it in DMs and I fixed it in code. I'll release an update for it later today.


      EDIT*: I realized that I didn't read your comment properly; It's weird that the config editor fires an event when you're not on the server page. I'll look into that when class is done today. Thanks!

      Thumbs Up 1
    • 1. Should have been fixed yesterday. I haven't uploaded that yet.

      2. That's because it assumes that the mod has a dedicated config folder. I wrote it that way because I prefer when mod authors organize their mod. It's a subjective thing, so I'll see what I can do about recursively searching from the mod folder itself, rather than a sub-folder.


      2a:

      Short answer: Agreed, however with the framework and IDE that I use, it would introduce performance issues.


      Long answer: Agreed. However, due to limitations that I face with performance, adding this functionality on top of the foundation that I use with Visual Studio's .NET framework, it would cause sluggish and laggy behavior. Source: I tried this a while back on a clean slate. It obviously depends on the package used and how the code is written, but it's not something that I will prioritize. I also wanted this functionality initially.


      2b. Will do, I have been a little back and forth with myself about how the save and validate functionality affect each other.


      3. Will be changed.


      4. I agree. However, I don't particularly enjoy forums like WoltLab for error fixing. I much prefer an open Discord, which is not a viable choice here. I'll consider redirecting people to post bugs in the actual support thread for this page.


      5. Initially, an open list was used. However, the component with the best functionality for this has some really garbage design and is not viable for a clean UI. I have considered writing my own component for this, as I have successfully done in the past, however it comes with performance issues which I want to minimize for the sake of user-friendly performance.


      To add to this: I went with a dropdown as it can hold a lot of info and still take up minimal space. I agree that having an open list enables you to more directly edit mods when you have a lot of them. However, even as someone who typically runs 10+ mods, it's not something that I'm 100% on yet. I will keep it in mind.


      6. Clicking the number that counts the respective mods opens up the actual mods/plugins folder. I understand that this is not very intuitive design (and it was moreso designed for modder convenience in mind) so I'll probably change this in a coming update. I will add a button to allow opening the folder of the mod itself. That's quite odd. I will look into why that doesn't function properly, thanks!


      7. It's a visual bug. I'll look into it, thanks.

      8. Interesting. I haven't tested that as much as I wanted to, so I'll take a look at that as well.


      I think I responded to all your points. Apologies if I missed one or two, I was replying to this in the middle of class. :P I'll sit down and have a better look later tonight. Thank you for using the tool!

      Heart 1 Thumbs Up 1
  • I've been made aware of two issues so far from bug-testing, they seem to be relatively non-critical. I'll release an update tomorrow as I'd like some more feedback before I start updating every hour!

    Thumbs Up 3
  • If you get a .NET error, you may need to download the .NET frameworks:

    dotnet-framework/net48 - Microsoft.com

    Thumbs Up 1