GoMule for D2 Resurrected

OK I'm still a bit confused but I also have a little update. I'm posting so that maybe some of you guys with a better understanding can help me understand what is going on and how to proceed.

1 - I went into D2R and created a series of mule characters (mXXIV_{roman numeral}).
2 - I copied the contents of the shared stash to those mule chars (I believe it was 7 mule chars in total).
3 - I backed up my D2R saved game folder and the "D2R_ATMA_Data" folder that contains all of my pre-2.4 stashes that are apart of my v1.06_D2R project
4 - I renamed the standard shared stash file in the saved game folder to "__pre2.4_SharedStashSoftCoreV2_d2i.old"
5 - I launched D2R, allowed it to created a new 2.4 shared stash, dropped in a TP scroll and an ID scroll, and exited the game
6 - I have a folder "D2_GameData\GoMule_D2R_Data". I backed this folder up and then deleted it contents. I copied the 4.14-BETA extracted files into this folder.
7 - I launched GoMule and it loaded with no errors and I switched its look to the New Light GoMule (easier on the eyes with larger font).
8 - I created a new project (with the old project name), added the new 2.4 shared stash and my Blizz Sorc that I opened in 2.4, and my Summon Necro that I have yet to open in 2.4.

At this point I can see the 2.4 shared stash's contents and my Sorc's contents, which is now a 2.4 char. I cannot see my Summon Necro's contents. I added one of the pre-2.4 stashes to the project and when opening it I get the following error message:


Error Stash Version Incorrect! at gomule.d2x.D2Stash.readAtmaItems(D2Stash.java:153) at gomule.d2x.D2Stash.<init>(D2Stash.java:78) at gomule.gui.D2FileManager.addItemList(D2FileManager.java:1618) at gomule.gui.D2ViewStash.connect(D2ViewStash.java:352) at gomule.gui.D2ViewStash.<init>(D2ViewStash.java:286) at gomule.gui.D2FileManager.openStash(D2FileManager.java:1525) at gomule.gui.D2ViewProject$CharTreeNode.view(D2ViewProject.java:402) at gomule.gui.D2ViewProject$3.mouseReleased(D2ViewProject.java:126) at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source) at java.awt.Component.processMouseEvent(Unknown Source) at javax.swing.JComponent.processMouseEvent(Unknown Source) at java.awt.Component.processEvent(Unknown Source) at java.awt.Container.processEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Window.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.EventQueue.dispatchEventImpl(Unknown Source) at java.awt.EventQueue.access$500(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source)

So does this mean that all of my pre-2.4 stashes have to manually transferred/converted to 2.4? After re-reading part of the discussion, it seems that manual transfer/conversion will be required (via shared stash files). Am I reading it right?
 
You could make a new self-found character and worry about moving items forward later. :D
I could do that but I am mostly working on re-building my already existing characters. Plus, I want everything to be in place before I start otherwise my brain won't stop bothering me.
 
I want to thank you for this amazing tool. But I need a "for dummy" version of a tutorial on how this is done..

How do I "Load up this empty pre 2.4 shared stash in pre 2.4 GoMule" ? When I Open Shared Stash, find the Saved Games .d2i file, a shared stashed graphic appears but it is "disconnected"

I'm able to open my character in GoMule2.4, also my shared stash in GoMule2.4, but not my character stash. Please help~~
 
@gtpoestorage1: Yes, anything in old GoMule stashes will need to be manually moved via character or shared stash.

@Fruitvendor: It sounds like maybe you're mismatching your versions between game/stash files and the GoMule version. (It can get confusing really fast.)

You'll need to be running two different versions of GoMule. The new 2.4 version, and the previous version (which for sanities sake I'm going to call 2.3.)

Anything you open in the D2R game will be converted to 2.4 and will not be readable in the 2.3 GoMule. (Likewise, any old 2.3 shared stashes/characters/GoMule stashes can't be read by 2.4 GoMule.)

To convert characters and shared stashes to the newest version you just need to open them in game. (As Snickersnak observed, the shared stash gets "opened" whenever you load a character with access to that stash into the game. The character doesn't have to actually open the stash in game.)

The hard part is GoMule stashes, as the game can't open a GoMule stash to convert the items. So, in order to update the items, they need to be loaded onto a character or shared stash to be converted by the game. In order to move items from a 2.3 GoMule stash, you need a 2.3 character or stash file. Below is basically a wordier version of what Silo posted for the procedure. (Sometimes I find that wording something a bit differently can help clarify stuff as different people's brains work differently.) The real trick is to keep everything's versions strait.

  • First, put your current in game shared stash file in a safe place so you don't accidentally overwrite it. (You can probably just temporarily rename it, or move it into a different folder for safe keeping.) If you're paranoid and want to avoid any possible mistakes, you can also just move everything in your 2.4 Shared Stash into a 2.4 GoMule stash (using 2.4 GoMule) so it's empty and safe to be deleted/overwritten.
  • In 2.3 GoMule, you load up any 2.3 GoMule stashes and the 2.3 Shared Stash file that Silo provided.
  • Move stuff from the 2.3 GoMule stash to the 2.3 Shared Stash.
  • Move the 2.3 Shared Stash file into your Saved Games folder.
  • Load up a character in game that will have access to that shared stash (so, basically if it's a SC stash, open up a SC character.)
  • Now, load the newly converted 2.4 shared stash into 2.4 GoMule, and move that stuff off into a 2.4 GoMule stash.
  • You can now delete the Shared Stash file you used to do the transfer.
  • If you have more stuff to move, load up a fresh copy of the 2.3 Shared Stash Silo provided and repeat.
  • Once you've converted all of your stuff, just restore your original 2.4 shared stash by moving it back or restoring the original name depending on what you did with it for safe keeping. (Or if you just emptied it and deleted/overwrote it, you don't have to anything at this point.)
 
Thanks for the hard work Silospen! Decided to start D2R singleplayer as 2.4 dropped and the latest GoMule version works wonders yet again.
 
  • Like
Reactions: snickersnack
@gtpoestorage1: Yes, anything in old GoMule stashes will need to be manually moved via character or shared stash.

@Fruitvendor: It sounds like maybe you're mismatching your versions between game/stash files and the GoMule version. (It can get confusing really fast.)

You'll need to be running two different versions of GoMule. The new 2.4 version, and the previous version (which for sanities sake I'm going to call 2.3.)

Anything you open in the D2R game will be converted to 2.4 and will not be readable in the 2.3 GoMule. (Likewise, any old 2.3 shared stashes/characters/GoMule stashes can't be read by 2.4 GoMule.)

To convert characters and shared stashes to the newest version you just need to open them in game. (As Snickersnak observed, the shared stash gets "opened" whenever you load a character with access to that stash into the game. The character doesn't have to actually open the stash in game.)

The hard part is GoMule stashes, as the game can't open a GoMule stash to convert the items. So, in order to update the items, they need to be loaded onto a character or shared stash to be converted by the game. In order to move items from a 2.3 GoMule stash, you need a 2.3 character or stash file. Below is basically a wordier version of what Silo posted for the procedure. (Sometimes I find that wording something a bit differently can help clarify stuff as different people's brains work differently.) The real trick is to keep everything's versions strait.

  • First, put your current in game shared stash file in a safe place so you don't accidentally overwrite it. (You can probably just temporarily rename it, or move it into a different folder for safe keeping.) If you're paranoid and want to avoid any possible mistakes, you can also just move everything in your 2.4 Shared Stash into a 2.4 GoMule stash (using 2.4 GoMule) so it's empty and safe to be deleted/overwritten.
  • In 2.3 GoMule, you load up any 2.3 GoMule stashes and the 2.3 Shared Stash file that Silo provided.
  • Move stuff from the 2.3 GoMule stash to the 2.3 Shared Stash.
  • Move the 2.3 Shared Stash file into your Saved Games folder.
  • Load up a character in game that will have access to that shared stash (so, basically if it's a SC stash, open up a SC character.)
  • Now, load the newly converted 2.4 shared stash into 2.4 GoMule, and move that stuff off into a 2.4 GoMule stash.
  • You can now delete the Shared Stash file you used to do the transfer.
  • If you have more stuff to move, load up a fresh copy of the 2.3 Shared Stash Silo provided and repeat.
  • Once you've converted all of your stuff, just restore your original 2.4 shared stash by moving it back or restoring the original name depending on what you did with it for safe keeping. (Or if you just emptied it and deleted/overwrote it, you don't have to anything at this point.)
Thank you Cattleya. This is very demotivating as it seems we are bound to experience this again some time in the future.
 
  • Like
Reactions: snickersnack
Will we need to go through this with every update?
Maybe not every update, but I'd be pretty shocked it if didn't happen again. Blizzard doesn't tend to worry too much about how changing file format stuff affects things like mods/utilities and such.

I've been using some in game mules in D2R because I like not having to exit the game entirely to mule when my stashes get full. I'm thinking I'll probably lean more heavily into this going forward.
 
Maybe the way to do things in the future is to use multiple instances of the D2R shared stash file as bulk item storage as opposed to GoMule's .d2x files.
 
  • Like
Reactions: snickersnack
Ty, man this is so annying, probably even more annoying then it was to move them from d2 to d2r... rly unmotivated to do this/play d2^^
I chose not to move many items from D2L to D2R, and in fact I made a fresh start in D2R and only moved a few things as I got impatient in D2R. I think I moved <20 items.

It seems to me like the presence of the shared stash would make it easier than with those previous transfers, but I didn't do it much, so lucky me, I guess.

Maybe not every update, but I'd be pretty shocked it if didn't happen again. Blizzard doesn't tend to worry too much about how changing file format stuff affects things like mods/utilities and such.
I was thinking about this, and my thought was that it would probably be pretty trivial for blizz to make/release an official SP muling option. Hell, they could even just offer to buy silo's work and then add the functionality that we want (not that I'm assuming he'd want that). I have to imagine that most of the work that silo does is figuring what changes to make. Since blizz ofc knows what those changes are, how hard could it be for them?
 
Last edited:
Due to the third round of RFL I couldn't wait and decided to go through the procedure to update the items. It took me about 2 hours. Everything worked flawlessly and Gomule opened every stash that I moved.

Now I am all ready to enjoy the new changes. :)
Thank you @silospen for the new version and for the empty shared stash!
 
I was thinking about this, and my thought was that it would probably be pretty trivial for blizz to make/release an official SP muling option. Hell, they could even just offer to buy silo's work and then add the functionality that we want (not that I'm assuming he'd want that). I have to imagine that most of the work that silo does is figuring what changes to make. Since blizz ofc knows what those changes are, how hard could it be for them?

I think Blizzard's answer to this would be "we already implemented the shared stash as your SP muling option". The packrat habits that we're kind of accustomed to thanks to ATMA and GoMule are a long way outside how the game was designed to be played.
 
I think Blizzard's answer to this would be "we already implemented the shared stash as your SP muling option". The packrat habits that we're kind of accustomed to thanks to ATMA and GoMule are a long way outside how the game was designed to be played.
Probably, which I find kind of silly, but that's their prerogative. You can't please everyone, and if they did something more like my preference, then someone else wouldn't like ... or would want more somehow.

I seem to recall that one of the reasons that the original stash was so small was that they wanted players to have to be choosy.
 
PurePremium
Estimated market value
Low
High