GoMule for D2 Resurrected

As a brand new gomule user (i had used it in the past d2 awhile ago, prior to ressurected though). I am on 2.5 of d2r, and was wanting to mess around and start a grail collection, but with this latest patch it seems I downloaded wrong gomule, and about to get the 2.5.
my question is, if my stash is fresh/new then when i start collecting items on the new gomule, will i need to do anything else? Like this post talks about converting 2.4 etc over to 2.5 but if my items drop now in 2.5, will it be as simple as starting fresh in 2.5 and everything moving forward will be proper? Right now i loaded a few toons into 2.4 gomule and its blank/disconnected, so thats when i googled it, and found this site/forums. just looking to farm on offline and play around with 2.5 as I have not played much in months, get back into things. But i need a way to export items and make a database for sure.
 
The thing that scares me is if this continues to happen every patch, do we know that Silo is gonna be able to continue being our savior when we know they aren't playing the game anymore? I love the work Silo's done, couldn't be more thankful that they're here making GoMule function. I just.....worry one day Silo won't be around anymore, and I'm gonna have a stash that can't be saved when a new patch comes out.
 
  • Like
Reactions: coju
As a brand new gomule user (i had used it in the past d2 awhile ago, prior to ressurected though). I am on 2.5 of d2r, and was wanting to mess around and start a grail collection, but with this latest patch it seems I downloaded wrong gomule, and about to get the 2.5.
my question is, if my stash is fresh/new then when i start collecting items on the new gomule, will i need to do anything else? Like this post talks about converting 2.4 etc over to 2.5 but if my items drop now in 2.5, will it be as simple as starting fresh in 2.5 and everything moving forward will be proper? Right now i loaded a few toons into 2.4 gomule and its blank/disconnected, so thats when i googled it, and found this site/forums. just looking to farm on offline and play around with 2.5 as I have not played much in months, get back into things. But i need a way to export items and make a database for sure.
If you patched your game to 2.5, you just download Gomule 2.5 and there's nothing else you need to do. Obviously, you can't load your characters in 2.4 anymore, that's why you get a blank character.
 
I had to transfer 28 shared stashes which took about one hour. It's important to have organization in the process, to avoid distractions and to keep concentration, else you might overlook something and you probably don't want to lose something like your rune stash. KEEP ZE DISZIPLIN!

This is how I did my mass transfer (yes, another explanation, but I wasn't 100% satisfied with the others :)):

  1. Close D2R. The launcher doesn't have to be closed.
  2. Make enough copies of the pre-2.5 shared stash from Silospen's link, named like A01.d2i, A02.d2i etc. Put them into the D2R saved games folder right away. The following steps all refer to that folder.
  3. Start your old, pre-2.5 Gomule and put all stuff from your Gomule stashes on the shared stashes. Make use of the pick all and drop all buttons, it speeds up things a lot!
  4. Rename SharedStashSoftCoreV2.d2i to X.d2i (the original shared stash used by D2R itself, there's probably stuff in it which you don't want to lose).
  5. (This is the tedious task) Rename A01.d2i to SharedStashSoftCoreV2.d2i, start D2R, open a character, check the shared stash quickly (perhaps pick up and put back an item in it), quit D2R again (goes the quickest by pressing Alt-F4), rename SharedStashSoftCoreV2.d2i to B01.d2i. Repeat this with all shared stashes until done. Your Bxx.d2i files are 2.5 shared stashes now.
  6. Check if there are Axx.d2i files left (i.e. you ferget to include them in step 5) and if all Bxx.d2i files have a proper modification date (if not, D2R did not convert them). If yes, repeat step 5 with them.
  7. Rename X.d2i back to SharedStashSoftCoreV2.d2i.
  8. Rename the old Gomule directory to Gomule-backup or whatever, install new Gomule. Don't bother with transferring the old Gomule stashes (which won't work with the new Gomule and are empty now anyway), old settings etc., you still have the backup of the whole Gomule directory. Just install it from scratch.
  9. With the new Gomule, open all Bxx.d2i shared stashes, create new Gomule stashes and put back everything where it belongs to. Again, make use of the pick all and drop all buttons.
Thanks for that method, that helped out.
As my prevuious transfer files from 2.13 > 2.14 seemed, I could transfer my 2.13 orginal files to 2.15 via the shared stash. Hardly played 2.14 , so looking forward to diving into 2.15.

@silospen thanks for keeping SP alive!!
 
  • Like
Reactions: BBS_Agonistes
What you'll need to do is something like:
- Load up your pre 2.5 regular stash in pre 2.5 GoMule
- Load up this empty pre 2.5 shared stash in pre 2.5 GoMule
- Transfer items from your regular stash to the shared stash
- Move the pre 2.5 shared stash to your saved game folder
- Open D2R 2.5
- Now your shared stash is a 2.5 shared stash!
- Open 2.5 GoMule
- Create a new regular 2.5 stash
- Open the 2.5 shared stash
- Transfer your items from the 2.5 shared stash into your new regular 254 stash.

This is insane, Blizz must be having a laugh
 
  • Like
Reactions: NorthDakota
We spend hundreds of hours at playing the game and doing MF like addicts at slot machines, and an hour or two of moving Gomule stashes back and forth is ridiculous? That isn't really convincing, is it?
 
  • Like
Reactions: maxicek
We spend hundreds of hours at playing the game and doing MF like addicts at slot machines, and an hour or two of moving Gomule stashes back and forth is ridiculous? That isn't really convincing, is it?
I mean I don't think it's ridiculous but it's certainly not fun, and while doing it you get this sense that something is going to go wrong and you're going to delete a bunch of items by accident or whatever, so it's a little nerve wracking, you have to focus.
 
We spend hundreds of hours at playing the game and doing MF like addicts at slot machines, and an hour or two of moving Gomule stashes back and forth is ridiculous? That isn't really convincing, is it?
I mean I don't think it's ridiculous but it's certainly not fun, and while doing it you get this sense that something is going to go wrong and you're going to delete a bunch of items by accident or whatever, so it's a little nerve wracking, you have to focus.
As we all know, technically speaking, we are using a third party program to save these items with. It isn’t supported by Blizzard. If we had done what Blizzard “expected” (in game mules) we wouldn’t have issue when updates happened.

To be inconvenienced is inconvenient, but worth it to keep doing what we are doing and have done. There’s no need to mule thousands of items over each time: are you using those 300 chippies or 450 random rares each patch? No.

It’s nice to have it all done, so I get moving everything over each time. But, as we have experienced, I don’t think it’s going to be fruitful.
 
  • Like
Reactions: BBS_Agonistes
Blizz could totally scramble the savefile if they want to. Or a little joke, changing the checksum algorithm for example would freeze the whole system for a while..

I thing they have done as little harm that is possible.

m4ke
 
Hi.

Just wanted to post, that my GoMule was working fine until suddenly my character was "Disconnected". I started the jar file via the command prompt and when I tried opening the character, a lot of error messages popped onto the command prompt (null pointers). The error message said something about an item was not found yadayada. The thing is, that my character had the Scroll of Inifuss in his inventory and GoMule was not happy about that. The problem was resolved as soon as I finished the Rescue Cain quest.

Created an account here to share if others had similar problems.

G'day
 
Hi.

Just wanted to post, that my GoMule was working fine until suddenly my character was "Disconnected". I started the jar file via the command prompt and when I tried opening the character, a lot of error messages popped onto the command prompt (null pointers). The error message said something about an item was not found yadayada. The thing is, that my character had the Scroll of Inifuss in his inventory and GoMule was not happy about that. The problem was resolved as soon as I finished the Rescue Cain quest.

Created an account here to share if others had similar problems.

G'day
Yes, a few others have had that problem! A nice problem in that it's easily fixed. :)
 
@silospen is it possible to post a 2.4 version of a harcore shared stash? Or do I just change the filename?

EDIT: I tried renaming the file and it worked...in case anyone else is wondering
 
Last edited:
I finally got my new computer (Windows 11 if that makes a difference) and D2R seems to play nicely when I copied my files across but GoMule didn't come to the party. At first it said that my characters and stashes were disconected, which they were because they are on a different drive partitian now. I deleted the characters from the project reloaded the characters and stashes nothing. The stashes say they are disconceted with the following measage:

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.D2FileManager.handleStash(D2FileManager.java:1497)
at gomule.gui.D2FileManager.openStash(D2FileManager.java:1455)
at gomule.gui.D2FileManager$26.actionPerformed(D2FileManager.java:901)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
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)
And characters with:
Character disconnected
at gomule.d2s.D2Character.readChar(D2Character.java:141)
at gomule.d2s.D2Character.<init>(D2Character.java:132)
at gomule.gui.D2FileManager.addItemList(D2FileManager.java:1604)
at gomule.gui.D2ViewChar.connect(D2ViewChar.java:446)
at gomule.gui.D2ViewChar.<init>(D2ViewChar.java:425)
at gomule.gui.D2FileManager.openChar(D2FileManager.java:1338)
at gomule.gui.D2ViewProject$CharTreeNode.view(D2ViewProject.java:400)
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)

I downloaded the Java Run time program (hence GoMule actually opening [that was the first problem I overcame]), I even downloaded a fresh version of Gomule without sucuss. Any answers greatly accepted.

EDIT: For reasons I cannot explain, I downloaded the beta file a second time, installed it and lo and behold it's working. I have no idea what I did differently, but I'm not arguing!!
 
Last edited:
The item file was stable for a long time in the past (1.10 to 1.14d) so we are a bit spoilt. This is the same process we have to use Time Travelling.

The real problem is that D2R forces the upgrade and you can't change at you leisure. I know it isn't huge effort, but thought of tackling the tedium has kept me away from the game for a few weeks.

Edit: Migration done. Thanks @silospen for supporting this.
 
Last edited:
The item file was stable for a long time in the past (1.10 to 1.14d) so we are a bit spoilt. This is the same process we have to use Time Travelling.

The real problem is that D2R forces the upgrade and you can't change at you leisure. I know it isn't huge effort, but thought of tackling the tedium has kept me away from the game for a few weeks.

Edit: Migration done. Thanks @silospen for supporting this.
Yeah, I really wish we could change and stay in versions in D2R. Gotta have it locked down with DRM though. :rolleyes:

Really miss TCP/IP too. But hey, had to be removed for "security reasons" (to Blizzard's wallet) right?
 
  • Like
Reactions: BBS_Agonistes
Guys, I have found a way to transfer your items a lot faster. It's the same tedious process but at least it works better.
I am not going into deep detail since you already know the main procedure.

As it seems, Gomule can open multiple files of Shared Stashes. So all you have to do is just "duplicate" the empty stash Silo has provided.
For example, take the empty Shared Stash file, put in a folder and create ten copies of it like this:

SharedStashSoftCoreV2 - Copy (1).d2i
SharedStashSoftCoreV2 - Copy (2).d2i
SharedStashSoftCoreV2 - Copy (3).d2i
SharedStashSoftCoreV2 - Copy (4).d2i
SharedStashSoftCoreV2 - Copy (5).d2i
SharedStashSoftCoreV2 - Copy (6).d2i
SharedStashSoftCoreV2 - Copy (7).d2i
SharedStashSoftCoreV2 - Copy (8).d2i
SharedStashSoftCoreV2 - Copy (9).d2i
SharedStashSoftCoreV2 - Copy (10).d2i


Open the 2.4 Gomule where you have all of your items stored, open each one of these copies and fill them with items. From this point and on you need to move them one by one to the D2R's saving folder as you would normally do just rename each file with their original name before throwing them into the folder. (SharedStashSoftCoreV2.d2i) Now load the game and the items have been converted.
Open the 2.5 Gomule, pick the items and proceed with the next copy. Once you are done with all the copies, simply create another pack of empty Shared Stash Files and repeat the process.
 
Last edited:
This might be slightly off-topic, and if it is not an allowed topic/post, I'll delete and/or edit it - please let me know.

Is it possible to use GoMule (or any other tool that works with Atma stashes) to easily upgrade gems without having to use the Horadric Cube? I'm currently farming P7 LK in a HC SP run that I just restarted, and I'm having some bad luck (rune-wise). Thus, I'm getting to accumulate thousands of flawless gems (stored in an Atma stash along with the other items that I'm hoarding from my runs). I already have around 3k flawless gems, and I'm not halfway done with respect to the Ber runes that I want to have - so it'll be a big work to upgrade the gems if I have to do it manually in-game. :D
 
PurePremium
Estimated market value
Low
High