[Tool] GD Stash

The win32 executable comes with an installer. I chose the default locations of the installer. No other game or application I’ve installed that is in a sub-folder of “c:\program files (x86)” requires admin. privs. Nor should they require admin privs. unless they perform some admin. function. The issue could be a Java or JVM thing where Java apps. run with reduced privs. by default in Win 7. I’m not sure about Win 8.x.

Lastly, I don’t run apps. from the “My Documents” folder because I don’t use that folder. I don’t store data files on drive C: either. Keep data/preferences on a separate drive, and programs on Drive C:. These are old habits that allow me to efficiently:

  • backup data/preferences (centralized data storage)
  • nuke and reinstall windows at will, without fear of losing data/preferences
  • never worry about a corrupted profile/profile folder
  • never worry about M$ breaking/changing/altering the “My Documents” functionality.

Hey Mamba,

So Grim Dawg has released a mod that provides a Transmogrification feature for Grim Dawn.

I am interested in using this mod for my main play through. I am happy to delete my current character and start a new in a Custom Campaign so I can make use of his mod.

What I was wondering and hoping was whether there had been any further progress on whether GD Stash was able to be used with mods as of yet?

If there is a way to use GD Stash with Grim Dawg’s mod, could you please let me know what I must do as I really do not want to lose the ability to use your amazing tool.

Thanks, bud!

Syn

it writes into the db sub-dir of its installation dir. The Program Files dir does not allow this unless you run it as an Administrator, so in this case it does need them due to Windows idea of whst is protection.

Install it anywhere else and it will not need them.

It would be really good for 3rd parties, like me, to be able to inspect the actual code. Making the source available to the community means more eyes on the code and bugs are discovered more quickly. It also means more feedback and potentially more contributions to the utility (features, bug fixes).

possibly, most people will not be coders though and the user base is rather limited, so I do not expect much here. It certainly means I lose control though, which I am not (yet ?) interested in.
For example, I did not allow the crafting of the bonus items, changing a few lines of code would make this possible.

Personally I would like to understand why the utility malfunctions in the executable but not when run directly in a Java VM.

obviously because it lacks privileges as the executable :wink: I never installed the Java vereion under Program Files either, does it work there ?

…and yes I’m the paranoid type.

obviously :wink:

If you give the program the permission to write in its installation dir you should be good / not need to give it admin privileges, it does not do anything else

there has been some progress, but there is more to do and my time is limited :wink:

Currently I support reading / writting mod stashes and chars, you can also change which mod a stash belongs to (so far I do not then move the file to the corresponding location however, same for the char dir)

I also do not yet read in the actual mod arz and arc, so if the mod had new items, they would be considered errors when loading the stash / char. I started some initial groundwork on the mod import.

There are a few more things to consider though, which makes the whole thing complex, so we see there that goes (when you import GD’s database.arz again, it will create the tables anew, which means all imported mod data is gone, it then updates the stored items with the latest information - and deletes all items it no longer finds, which would be all mod items… during GD development that was good as some items were removed again in the next build, but now that would be an issue :wink: )

The illusions(transmogs) from my mod are also stored in GD Stash, you just can’t see it in the interface. And if you use the custom character solution I suggested to you in my own thread you can find your character without any problems in GD Stash.

So I read your solution, Grim Dawg.

I do not mind starting completely afresh with a brand new LVL 1 character in a Custom Campaign to use your mod.

Please excuse my ineptitude and lack of confidence when it comes to the requirements to get things like this to work without my hand being held by more educated individuals such as yourself and Mamba.

What I am wanting to know is if I need to change any of the following locations so that GD Stash works exactly as it did in the Main Campaign when playing a Custom Campaign.

  • Grim Dawn Installation Directory
  • Grim Dawn Save Game Directory
  • ARZ Extraction Directory

If it helps, I will not have any desire to swap in and out of Main Campaign and Custom Campaign. Once I get GD Stash working correctly with Custom Campaign mode, I will exclusively use that.

Is there anything else I need to do to set this up correctly?

I am just wanting to action the necessary steps so that GD Stash is working correctly with Custom Campaigns.

Any advice would be hugely appreciated, bud.

Thank you.

Syn

Didn’t realize you had made a setup.exe for the 32-bit version. I guess that was to resolve whatever issue people had with 32-bit version of Java?

Can you use the windows environment variable to save data in the user’s profile folder, i.e. c:\users\USERNAME\Documents\My Games\GDStash? This would resolve the permissions issue. Of course, i don’t know how much work that would take. :slight_smile:

Not writing data to program files was recommended since windows 98 or so, long before it ever even became an issue.

AppData is there for a reason :wink:

Yes, that was my point. :undecided:
Currently, mamba’s app does not do that, it writes data to the directory where the application is installed.

possibly, most people will not be coders though and the user base is rather limited, so I do not expect much here. It certainly means I lose control though, which I am not (yet ?) interested in.
For example, I did not allow the crafting of the bonus items, changing a few lines of code would make this possible.

Lose control of what? We aren’t dealing with copyrighted Intellectual Property or a product bound to patents. You can continue to develop and enhance the mod if you make the code accessible to the community. There would be nothing impeding your continued development of mod.

Currently, the app. doesn’t behave as you intended it to (the Win32 executable), it was never intended to perform any administrative function, so there is no need to grant it admin. privileges. If the code is harmless but malfunctioning then I see no reason to prevent peer review. To stall or prevent peer review would only serve to raise suspicion. Forgive me but I don’t see a point in trying to keep the code secret.

Its free and simple to publish your code and development tool details via github. You have nothing to lose.

This horse will soon be bloody…

If the code could be peer reviewed there is a good chance I, or another community member, would have discovered this behavior. As of now it is just conjecture as to what the app. is doing. The only thing concrete is that the app. is malfunctioning and does not produce any output. Task manager doesn’t show it in the list of running applications. From the developer’s replies, it would seem that he had no idea that the app. would exhibit unintended behavior, which is all the more reason for peer review. The code and development tool details could have already been published in a fraction of the time it took to produce all of these replies. This is not a criticism of the developer.

A clean solution would be to place the configuration data in a plain text config. file. The config. file should be read from and written to a neutral location such as: “c:\users\USERNAME\Documents\My Games\GDStash”. The user can then use the UI to specify the DB location. I suggest using something like:
“c:\users\USERNAME\Documents\My Games\GDStash\db”
…as a default value. The DB location would be in the config. file.

I was joking when I wrote that I’m the paranoid type, but my curiosity is quickly transitioning to concern.

The only real issue is that the data file isn’t in the users directory. If this was done then the need to run the application with an administrator account would be resolved as it would no longer be needed. You only need admin rights because of the location you installed it in.

TBH - you don’t know what any of the applications that you have ever installed really do - that includes the OS you are running. That is unless you’ve reviewed all the code to all of those applications and the OS - highly doubtful. You should only install applications from vendors or people you trust.

So, if you don’t like the way the application runs as it currently stands, or you don’t want to reinstall the application in your Documents directory (for example), and/or mamba decides not to store the users data file in their directory - then don’t use the application.

yes, and for those not comfortable installing Java. Was not sure if it would work, given that the 32bit JVM had the heap issue, but it did (all the more proving that it is a JVM issue, not a 32bit issue) :wink:

Can you use the windows environment variable to save data in the user’s profile folder, i.e. c:\users\USERNAME\Documents\My Games\GDStash? This would resolve the permissions issue. Of course, i don’t know how much work that would take. :slight_smile:

might look into that

there is an even higher chance a user discovers it simply by using the tool :wink:

As of now it is just conjecture as to what the app. is doing. The only thing concrete is that the app. is malfunctioning and does not produce any output.

BS. The fact that running it as administrator solves it, as does installing it elsewhere, proves that the issue is exactly what I said it is.

Also, at one time I did get a Windows popup asking me for permission, but that was not reliably reproduced :wink:

Task manager doesn’t show it in the list of running applications…

because it is terminated…

From the developer’s replies, it would seem that he had no idea that the app. would exhibit unintended behavior, which is all the more reason for peer review.

not really, anyone installing it in Program Files would have discovered that, which is a lot simpler and more easily done by more people than a peer review.

It shows that I did not test every eventuality though.

The code and development tool details could have already been published

neither of which is really relevant here at all, the code maybe, for the peer review, but as I said, users simply using it have a much better chance of finding it than a peer review

A clean solution would be to place the configuration data in a plain text config. file. The config. file should be read from and written to a neutral location such as: “c:\users\USERNAME\Documents\My Games\GDStash”. The user can then use the UI to specify the DB location. I suggest using something like:
“c:\users\USERNAME\Documents\My Games\GDStash\db”
…as a default value. The DB location would be in the config. file.

or just place the DB data there directly instead of a config file which then contains the actual location :wink:

I was joking when I wrote that I’m the paranoid type, but my curiosity is quickly transitioning to concern.

this is ridiculous, if this gets you concerned you are paranoid and not joking about it

of course this is copyrighted IP, no idea why you would think it is not. Every software is unless the author decides otherwise…

Lose control of what features it offers, I gave an example of an intentional restriction I do not want to get rid off

You can continue to develop and enhance the mod if you make the code accessible to the community. There would be nothing impeding your continued development of mod.

and none of this helps me in that regard either…

I loaded the app. into a clean Win 7 VM while logged in as an administrator. The app. still the exhibits the unintended behavior, when installed using the default paths. The VM is just Win 7 64bit, anti-virus and all windows updates.

I’ll leave you to your work.

Yes, as I said, it saves its data in the db subdir. That is true for the Java and executable version (because they both share the same code…).

I now have a version that saves the data in <userdir>\GDStash\db and moves the current items into the new location. Will be in the next release.

You know, you could be a bit more friendlier. Mamba is nice enough to share his hard work. It’s not like you bought the application, nor does he get any revenue stream from this.

Thanks mamba! I look forward to trying it out!

I said that I would leave him to his work… as in his work on fixing/updating the mod instead of continuing this back-and-forth discussion. Mamba is not interested in releasing the code at this time so there is no point in continuing that conversation. My last post was a polite and graceful end to the conversation, which included my final test and feedback. You may not have read it that way.

There will be a new GDS release from Mamba soon enough.