Party Swap Crash Issue
This issue currently requires a server-side code fix to resolve. Below is an explanation of what causes the problem and how to fix it.
Root Cause
It is currently known that the vast majority of 3.3.5 and 2.4.3 servers have this issue. It is recommended that all server operators check and optimize for it.
Using AzerothCore code as an example: when different team members swap positions within a raid group, the client sends a CMSG_GROUP_SWAP_SUB_GROUP protocol to the server. After receiving it, the server should return the adjusted SMSG_GROUP_LIST protocol.
In theory, the server only needs to send the SMSG_GROUP_LIST protocol to the client once. However, in practice, it sends it twice. This is the cause of the 343 client crash.
How to Fix
Now that we understand the principle, the solution is to ensure the server sends the packet only once. Below is the example code.

First, at the position shown above, set the third parameter of the first ChangeMembersGroup method call to false, because we don't want this modification to be sent to the client yet.


Then modify the definition and implementation of the ChangeMembersGroup method.

Finally, add a conditional check at the location within the ChangeMembersGroup method where the protocol packet is sent.
This is the server-side code adjustment for this issue. I am not a C++ code expert myself, so if there is a better approach, feel free to implement it your own way.