Menu

#36 Failure to load character when certain quest items are present

v1.0 (example)
closed-fixed
Silospen
None
5
2026-02-26
2026-02-01
No

Gomule will fail to load characters (disconnect) when certain quest items are in inventory like Jade Figurine, Scroll of Resistance, etc. I suppose it only happens for their normal version, but maybe even for nightmare/hell.

Problem is, the item read is finished too early and it throws the offset position off by 1 byte.

Issue is, compact items, at D2item.java, line around 332-344. These mentioned items have no guid, but after GUID bit is read, there is still 3 bits, which overlaps to next byte, but not read by gomule.

One possible solution could be to read those 3 bits, as they, together with previous bit (has GUID) carry information about item difficulty origin.

Following PHP code

//for misc and quest item, it's difficulty where item was found, only for some specific items
if($this->item_type == 'misc' && $this->type == 'ques' && $this->compact) {
//read 3 bits and shift by 1 to add previously read hasGUID bit
if($hasGUID) {
$this->questdif = ($qskip << 1) + $hasGUID;
}
else {
$this->questdif = ($this->bitreader->ReadBits(3) << 1) + $hasGUID;
}
}

Or just skip those 3 bits, basically moving the else pFile.read(3); up one level.

Would be nicer to read them and add the difficulty info, so it would be shown also for other items like Khalim's body parts, etc.

Discussion

  • TheDudeSource

    TheDudeSource - 2026-02-06

    Also one thing it fails to load is missing strings.

    ui.json has to be added to GoMule/src/main/resources/d2Files/D2R_1.0/translations/

     
  • Silospen

    Silospen - 2026-02-20

    Do you remember which item had translations missing? Thanks!

     
  • TheDudeSource

    TheDudeSource - 2026-02-21

    I think it was the scroll of resistance or inifuss. Maybe more quest items actually. See attached stash.
    Also gomule still does not read some quest items properly.

     
  • Silospen

    Silospen - 2026-02-26

    Perfect, thank you! Fixed on 3_0 support!

     
  • Silospen

    Silospen - 2026-02-26
    • status: open --> closed-fixed
     

Log in to post a comment.

MongoDB Logo MongoDB