Windower crashing on exit — workaround

I’ve started playing FFXI again, partially as a result of the recent scandal/exploit found in EVE Online and how it was abused.  I have nothing against CCP personally, but I simply cannot accept an exploitable flaw in the game which has knowingly existed for 4+ years.  But enough about EVE…

A lot of people who play FFXI use Windower.  And those who use Windower probably know about the crash-on-logout issue when plugins which draw to the screen are left loaded.  The official  “the crash does not harm anything” statement I cannot accept — I imagine there are TCP sockets left sitting in FIN_WAIT state on SE’s servers as a result of such a crash; sure, they’ll expire eventually, but properly shutting sockets and resources down is always the better choice.

The AutoExec plugin has support for performing certain functions when logging out of the client, which caused me to wonder “Can I use AutoExec to unload all the plugins when logging out, thus working around the crash-on-exit bug?”

The answer is yes.

Simply place the line shown in that post into your plugins\autoexec\AutoExec.xml file, within the <autoexec> section, and it should take care of the problem by unloading all plugins prior to shutdown.  Huzzah!

If you don’t have an AutoExec.xml file, that’s okay.  Follow these steps:

  1. Install AutoExec (drop the DLL into your plugins directory)
  2. Edit scripts\init.txt to include a load AutoExec line (I place it below all of my other load plugin lines)
  3. Run Windower+FFXI.  AutoExec will create all of the necessary directories and files
  4. Log out (which will crash, of course)
  5. Edit AutoExec.xml as described in the above post.

I’m hoping that eventually AutoExec becomes part of Windower’s core and init.txt is removed entirely; the whole “one ring to rule them all” concept applies…

Anyway, I hope this helps others.  It’s not rocket science, but no one’s actually explained how to do it for those who aren’t so technically-savvy.

NOTE: For AutoExec to properly unload the plugins, you have to log in to an FFXI character fully. You can’t launch FFXI, then at the EULA screen, choose Decline — that will still result in a crash. There’s no workaround for that, since AutoExec does not have support for unloading plugins on FFXI exiting (vs. character logout).