Posts by DanW

    DanW added a new version:

    Quote
    • Updated for SPT-AKI 3.6.0
    • Added whitelist_only config option (disabled by default) if you want to be REALLY hardcore and only allow traders to sell items that you explicitly whitelist
    • Updated server dependencies for SPT-AKI 3.6.0


    The config.json file from previous versions of this mod is not compatible.

    DanW added a new version:

    Quote
    • Bug fix for some inoperable doors being opened/closed by the mod (i.e. the door between Old Gas and the train tracks on Customs)
    • Bug fix for trader inventory changes not being reflected in their flea-market offers
    • When debug.enabled=true, the ID of doors will be logged in the bepinex console whenever you hover over them to show their context menu


    The config.json file from previous releases is NOT compatible.


    Thanks to Mark1502 for help with bug reports!

    Sorry to hear you're having trouble with the mod. I looked at the log file, and unfortunately I didn't see anything unusual. I've noticed that if I force-kill the game, not all of the console contents gets dumped to the log file, so that might be working against us.


    Which console has the errors? The server console or the bepinex console (which you have to manually enable)?


    One thing you could try is zipping the "Logs" directory in the root game folder after reproducing the problem and uploading that. The "traces" and "errors" files in that directory are the ones I'm most interested in seeing. As a backup plan, do you think you could get a screenshot of the errors if you can get them to stop scrolling?


    EDIT: Setting debug.enabled=true in the config.json file will add more messages to the log files, so that should also help with troubleshooting.

    DanW added a new version:

    Quote
    • Fixed incompatibility with The Blacklist mod
    • Show an error in the server console if it provides invalid data to the client
    • Show a warning in the server console if prices in prices.json and handbook.json are both invalid
    • Prevent items that don't have valid prices in either prices.json or handbook.json from being allowed in Fence's inventory
    • Bug fix for corrupted loot-ranking data causing significant performance issues (Issue #1)
    • Bug fix for the DLL constantly requesting loot-ranking data after it fails to retrieve it the first time (cause of memory leak in Issue #1)
    • Bug fix for many NRE's appearing in the bepinex console when leaving a raid
    • Bug fix for server failing to start when debug.enabled=true and some custom trader mods are used


    Config files from the 1.2.0 release are compatible with this release.


    Thanks to MusicManiac for help with testing!

    "Of course the purist in me has to point out that spawning into a half-completed raid with a map full of loot is just... unnatural! ;)" You are absolutely right here. I never thought about that. In that case I am assuming just change adjust_raid_times.can_reduce_starting_loot=true??

    That's the initial way the mod handled that problem, but I eventually moved to the loot-destroying system because it's still unrealistic to have less loot on the map that has the same range of desirability. It would be like everyone is picking up garbage loot and occasionally maybe some nice stuff.


    If you want the very simple solution, you can leave adjust_raid_times.can_reduce_starting_loot=true. However, my recommendation is leaving destroy_loot_during_raid.enabled=true. Of course, I'm biased because I spent months working on that system. ;)

    Sorry to bother you agian. I got SWAG figured out! Very much looking forward to a GUI in the future. In the meantime, I would still like to use this mod, is it even useable with the config that I had edited or would you recommend starting fresh with a new config?? Thanks again for all of your time!

    Glad to hear that!


    Honestly, I'd probably start with a fresh file. It looks like you deleted some options instead of changing them, and that will make the DLL fall back to default values for them (which I don't have listed anywhere).


    If you're just looking to change Scav spawn times, I'd make the following changes:

    • adjust_raid_times.can_reduce_starting_loot=false
    • destroy_loot_during_raid.enabled=false
    • open_doors_during_raid.enabled=false
    • adjust_bot_spawn_chances.enabled=false
    • adjust_bot_spawn_chances.adjust_bosses=false (this one might be redundant, but better safe than sorry)
    • trader_stock_changes.enabled=false

    Optionally, you can also set:

    • adjust_raid_times.adjust_vex_chance=false
    • adjust_raid_times.adjust_bot_waves=false (if you're using SWAG, probably this should be false)

    I think everything else you can ignore, but of course let me know if you notice anything strange that only happens when you're using my mod.


    Of course the purist in me has to point out that spawning into a half-completed raid with a map full of loot is just... unnatural! ;)

    **Please see EDIT on original support thread post.


    Reply to this post: I do not think that splitting the mod apart is necessary. If you had A GUI that would allow the user to enable/disable what they wanted to do I think that is a really good idea!

    Thanks for the update, and I appreciate you letting me know about the incompatibility update. That'll save me some testing time. :)


    While you were testing, I looked through your config changes for my mod, and without you saying anything, that answered my question. I could feel your frustration just by seeing some of the changes you made, so I think a GUI is something to add to my to-do list. It'll take some time to develop, but considering how much this mod has evolved over the last few months, I think it's necessary now.


    While I can't help you with your SWAG incompatibility, if you have any other issues/questions with this mod, feel free to reach out. It's good to hear from people with other perspectives to avoid getting tunnel vision with developing it.

    posting the config files that you asked about. I am attaching my config from SWAG and also LttP. Thanks a ton for the rapid response on this as well as coming up with a solution rather than just brushing me off. That is much appreciated!!


    Edit: I thought I should also note, I only did testing on Woods, with the goons and Shturman.

    You're welcome! I can't test every combination of mods, so ultimately I have to rely on other people to give me feedback to let me know what doesn't work. I looked at SWAG's code, and in theory it should be totally compatible. I'll see what I can find using your files. Maybe I overlooked something.


    Also regarding your feedback about the over-complication, I can definitely understand where you're coming from. It's easy for me to tweak my dozens of settings because I developed the mod, but it's probably information overload for most people. It's easy for me to get complacent because I know what every setting does.


    Realistically, do you think your feeling of the mod being too complicated would be alleviated if I included a GUI to help you tweak the config and turn systems on/off based on what you want from it? At this time, I'm still not interested in splitting this up into multiple mods (for several reasons), but I'm open to adding a GUI.


    Thanks.

    DanW added a new version:

    DanW added a new version:

    Quote
    • Whitelisted green flares for trader inventory
    • Updated minimum compatible SPT-AKI version to 3.5.7

    DanW added a new version:

    DanW added a new version:

    Quote
    • Airdrop loot is now able to be despawned starting destroy_loot_during_raid.min_loot_age seconds after the crate lands
    • Full backpacks/rigs are less likely to be despawned via new config parameters for child-item count and total weight limits
    • Slightly devalued weapons so they despawn later
    • When debug=true, a CSV file will be generated containing all loot generated during the raid and its spawn/despawn times. The CSV will be generated when leaving the raid.


    You can use your config.json file from the 1.1.9 release or later, but it's not recommended. If you do, the mod is more likely to despawn full backpacks/rigs.

    DanW added a new version:

    Quote
    • Further improved performance of loot-despawning system
    • Fixed possible race condition when despawning loot while leaving a raid
    • Removed deprecated client-side code
    • Fixed incorrect client-side namespaces


    config.json files from the 1.1.9 or later releases are compatible with this release.

    DanW added a new version:

    Quote
    • Updated for SPT-AKI 3.5.7
    • Improved performance of loot-despawning system
    • Fixed frequent NRE's in the bepinex console when ending raids
    • Added crash logs for unhandled exceptions (WIP)


    config.json files from the 1.1.9 or later releases are compatible with this release.


    This release is NOT compatible with SPT-AKI 3.5.6 or below.

    Sorry for the late reply!

    I'd be happy to help test - feel free to send a pre-release to me any time.

    Unfortunately, I had to give up on the approach I was working on, but I did implement some changes that should improve performance a little. Would you mind testing it when you get a chance? Here is a link to a pre-release version: https://github.com/dwesterwick…LateToTheParty-1.1.12.zip. Only the bepinex DLL has changed from 1.1.11.


    Regardless of how different performance is for you compared to 1.1.11, would you mind sharing your BepInEx\LogOutput.log file following the steps in post #29? Before bots spawn, I was getting almost ~115 fps on Customs using the new version, and I'm pretty sure I was only getting ~90 fps with 1.1.11.


    Thanks!


    EDIT: I just posted 1.1.12 (non-alpha) to work with SPT-AKI 3.5.7. If you're still finding performance issues, I'll try to deploy fixes for them in the next release.


    EDIT 2: I just posted 1.1.13, which should have even better performance compared to 1.1.11. However, it's only compatible with 3.5.7.

    FYI - I started working on this, and... it's harder to fix than I originally thought. It'll probably be another week before I'm able to post an update, but I haven't forgotten. ;)


    I was able to revise the way the loot processing runs to improve performance, but... now I'm causing random game crashes. Obviously I need to fix that. I might share a pre-release version with you to make sure the performance improvements actually work, but I want to make an honest effort to fix the crashing issue first. I'll keep you posted.

    My work is never done!


    You're right that new stuttering is almost definitely related to loot ranking. Fortunately, that isn't nearly as much code to sort through. I'm fairly busy the next few days, but I'll try to improve it by early next week. In the meantime, setting destroy_loot_during_raid.loot_ranking.enabled=false should restore the performance from 1.1.8.


    There is an easy way to generate log data that should confirm our suspicions:

    1) Set debug=true in config/config.json

    2) In BepInEx\config\BepInEx.cfg, change line 48 to Enabled = true

    3) Restart the server and reproduce the issue in the game. A new console with bepinex messages will also appear when the game starts.

    4) In the bepinex console, you should see a lot of yellow "Waiting for next frame" messages after the stuttering happens (having multiple monitors helps with this, but you can ALT-TAB out of the game to check). I attached an example of what it looks like for me. If your cycle times in those messages are more than ~20ms, that definitely explains the stuttering, and it means my code is trying to do too much per frame.

    5) Exit the game and share BepInEx\LogOutput.log before starting the game again.


    Another thing that will help me understand the issue: are you significantly increasing the amount of loot or bots in raids compared to vanilla SPT?


    Thanks for helping me troubleshoot!

    I tested v1.1.10 of my mod with Realism, and I was able to reproduce the bug you found. After some digging, I found it's caused by two issues:

    • A silly mistake in my server code
    • Realism making unorthodox changes to certain item properties


    I just posted v1.1.11 that should fix this. I would definitely recommend upgrading to v1.1.11 if you have destroy_loot_during_raid.loot_ranking.enabled=true because your loot-ranking data is likely corrupted. Please let me know if you still have issues with it.


    Thanks again for your help!

    DanW added a new version:

    Quote
    • Fixed incompatibility with SPT Realism Mod that would prevent the game from loading
    • Fixed enabled flag in config.json not actually disabling everything when set to false
    • Set destroy_loot_during_raid.loot_ranking.alwaysRegenerate=true by default to minimize chances of accidental loot-ranking-data corruption


    config.json files from the 1.1.9 or later releases are compatible with this release.


    Thanks to oshtwtf for helping with troubleshooting issues with SPT Realism Mod!