The bug:
An action is breaking communication between Darkstar and a subject's client. Nearby players seem unaffected, only the person taking the action seems to suffer, although this has not been thoroughly tested. Packets sent from the client to Darkstar (movement, speech) are still received, but the subject's client does not receive/interpret packets from Darkstar, leading to eventually reaching R0. The client then goes to a black screen and eventually displays FFXI-4001, no response, connection timed out. Once that has happened, the server begins to time out the subject's session (red eye).
Related:
- You (almost?) always will see a Warning message in game-server: "send_parse: packet is very big (####)" where #### is the size of the packet. The bug did not seem intentional in the error message's code.
- A packet sniff via Wireshark shows that there's still some sort of conversation going on between the client and server after the bug triggers.
How to cause it:
- Swapping a lot of gear all at once seems to work well, although still is inconsistent. Testing with Ashita seems to indicate that critical mass is around 7-9 pieces while soloing mobs in Sky on 75 DNC, but this still will not recreate the bug every time. Test scripts below.
- Being in a party may exasperate this. Untested.
- Being engaged may exasperate this as well. Untested.
How to avoid it:
- Liberal usage of /pause in Windower/Ashita macros seems to help, but may detract from gameplay.
- Gearswap less :V
Theories:
- The black screen is displayed while the client is trying to re-negotiate the session with connect-server. Connect-server still sees the old session as valid, so that conversation goes nowhere.
- Server isn't responding correctly for a large gear swap, and client is refusing to proceed due to incorrect response.
- The problem is purely packet size, and anything that will increase the packet size (engaged, party, etc) will exasperate the problem.
- In hindsight, the idle gear set has sufficient gear swaps to potentially cause problems, if a "naked" script was made to switch back and forth.
- Double Attack/Multiple Attacks are a factor
- Sort_of_know_what_doing.jpg and over-looked something.
Edits:
1/6/13 - Added multiple attack theory. I have triggered this on RDM and SMN, but may have had a DA +% piece equipped at the time (Pole Grip, Joyeuse, etc.)
* * * Information ends here, only scripts follow in this post. * * *
These scripts were written for Ashita, but should work in mXI as well. They're tested with a 75 DNC/WAR with dual wield traits (non-trunk), and Godmode with Hundred Fists and Mighty Strikes cancelled. Hypothetically, it should still trigger the bug on DNC/NIN.
DNC traits used:
Code: Select all
DELETE FROM `traits` WHERE job = '19' AND name = 'dual wield';
DELETE FROM `traits` WHERE job = '19' AND name = 'evasion bonus' AND level IN (45, 75);
DELETE FROM `traits` WHERE job = '19' AND name = 'accuracy bonus' AND level = 60;
INSERT INTO `traits` VALUES (18, 'dual wield', 19, 20, 259, 10);
INSERT INTO `traits` VALUES (18, 'dual wield', 19, 40, 259, 5);
INSERT INTO `traits` VALUES (2, 'evasion bonus', 19, 45, 69, 12);
INSERT INTO `traits` VALUES (67, 'subtle blow', 19, 45, 289, 5);
INSERT INTO `traits` VALUES (18, 'dual wield', 19, 60, 259, 10);
INSERT INTO `traits` VALUES (1, 'accuracy bonus', 19, 60, 64, 12);
INSERT INTO `traits` VALUES (67, 'subtle blow', 19, 65, 289, 5);
INSERT INTO `traits` VALUES (2, 'evasion bonus', 19, 75, 69, 13);
Code: Select all
/input /equip main "Azoth"
/pause 1
/input /equip sub "Joyeuse"
/input /equip range "War hoop"
/pause 1
/input /equip head "Etoile tiara +1"
/input /equip neck "Peacock Charm"
/input /equip ear1 "Suppanomimi"
/input /equip ear2 "Brutal Earring"
/pause 1
/input /equip body "Etoile casaque +1"
/input /equip hands "Etoile bangles +1"
/input /equip ring1 "Toreador's ring"
/input /equip ring2 "Sniper's ring +1"
/pause 1
/input /equip back "Etoile cape"
/input /equip waist "Sonic belt +1"
/input /equip legs "Etoile tights +1"
/input /equip feet "Etoile toe shoes +1"
Code: Select all
/input /equip head "Walahra Turban"
/input /equip body "Rapparee Harness"
/input /equip hands "Dusk Gloves +1"
/input /equip feet "Dusk Ledelsens +1"
Code: Select all
/input /equip head "Etoile tiara +1"
/input /equip ear1 "Triumph earring +1"
/input /equip ear2 "Harmonius Earring"
/input /equip body "Etoile Casaque +1"
/input /equip hands "Dancer's bangles +1"
/input /equip back "Cerberus mantle +1"
/input /equip waist "Virtuoso Belt"
/input /equip legs "Dancer's Tights +1"
/input /equip feet "Etoile toe shoes +1"
/input /ws "Pyrrhic Kleos" <t>
/pause 2
/input /equip head "Walahra Turban"
/input /equip ear1 "Suppanomimi"
/input /equip ear2 "Brutal Earring"
/input /equip body "Rapparee harness"
/input /equip hands "Dusk gloves +1"
/input /equip back "Etoile cape"
/input /equip waist "Sonic belt +1"
/input /equip legs "Etoile tights +1"
/input /equip feet "Dusk ledelsens +1"