Posts by DanW

    "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!

    Very interesting! This was not a waste of time at all; clearly there's a problem with either my mod or Fontaine's. I'll try running my mod alongside his and see if I can reproduce the problem. Ultimately, I'm sure both of us want for everybody to be able to use our mods with as little headache as possible, so any improvements to make them more robust are welcome.


    Thanks for your help!

    Interesting... I get the same message, but my server doesn't freeze there. Here is what I see:


    [2023-05-16T03:46:47.885Z] info: [Late to the Party] Could not find FN40GL Mk2 grenade launcher in trader assorts.

    [2023-05-16T03:46:47.886Z] info: [Late to the Party] Creating preset for FN40GL Mk2 grenade launcher...

    [2023-05-16T03:46:47.886Z] info: [Late to the Party] Creating preset for FN40GL Mk2 grenade launcher...found FN40GL Mk2 grenade launcher

    [2023-05-16T03:46:47.887Z] info: [Late to the Party] Getting properties for FN40GL Mk2 grenade launcher... Final: Width=3,Height=1,Weight=2.92

    [2023-05-16T03:46:47.887Z] info: [Late to the Party] Found weapon FN40GL Mk2 grenade launcher: Width=3,Height=1,Weight=2.92


    Those messages are written by the server code, but it's certainly possible that something could be deadlocked (i.e. my mod doesn't play nicely with others).


    It looks like the server log you attached doesn't contain the messages in your screenshot. Maybe you attached a log generated after disabling the loot-ranking parameter? If you open the log file, you should be able to search for "FN40GL" and see the messages in your screenshot. If you find that log file from today, could you please share it? Maybe there are some messages that were logged but not shown in the console because the program was frozen.


    Also, I know this is a total PITA considering your extensive mod list, but... if you have time, could you try disabling the other mods one-by-one to see which one has the incompatibility with mine? Based on what you just found, searching for the "mechSKSv1" template might be a dead end for me. I'm a bit afraid of going down a rabbit hole without actually understanding the problem.


    Thanks for your help!

    Thanks, I must still be overlooking something.


    If you have time, could you please try doing the following to help me understand where it's hanging?

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

    2) Open src/LootRankingGenerator.ts and change line 15 (const verboseLogging = false;) from false to true
    3) Also in src/LootRankingGenerator.ts, uncomment line 462 (by removing the leading "//")

    4) Restart the server and try running the game. You should see a ton of messages appear when it's generating loot ranking data.

    5) Share the most recent server log file in user/logs/ after it crashes (or freezes for longer than you want to wait).

    6) After sharing the log, if the extra messages are distracting you can revert the changes in steps 1-3 if you'd like.


    You'll need a program like Notepad++ to see line numbers in the files, so hopefully I'm not signing you up for too much extra work!


    I'll have to look through those mods and try to find that template so I can test it, but it'll probably take me a few days to find a solution. In the meantime, setting destroy_loot_during_raid.loot_ranking.enabled=false should allow the mod to work for you with the latest changes besides loot ranking.


    Sorry it's still not working correctly, and thanks for helping me troubleshoot!

    With V1.1.9 my game is loading to a blank main menu.

    Here is a snippet of what's showing up in the logs:

    Could you please try v1.1.10 when you get a chance? It should hopefully fix the issue with the "mechSKSv1" template. If not, could you please let me know what other mods you're using?