Goto page Previous  1, 2, 3, 4  Next Software Documentation MQ2AutoLogin
Reply
as of right now I only see you could make an additional MQ2AutoLogin.ini and swap between the two files. or create a copy of the mq2 folder and have it dedicated to the second set of chars.
Mon Sep 08, 2014 9:26 am
Listen to This Guy
Thanks Ultrax..
Thu Sep 11, 2014 7:27 am
Hey guys...
I find this to be a very useful plugin.. especially since I am usually logging in 6 or more toons at any particular time. However, it has some shortcomings.
The server I currently play on does not have it's own login server so the server # is changing all the time. Which for the most part, really negates this plugin's convenience if I have to closeout all my toons because the server # has changed, manually log in one toon, grab the server #, edit the ini file then log in the remaining toons. GAH! Also, as has been stated before, the ability to denote which toon on a particular account you wish to log in would be very useful.

So.. what's it going to take to fix this? I would be willing to throw my hand in, but as it is a plugin, I can't get to the source.
I suppose more importantly is: Can this be fixed? Or is there some reason it is the way it is?
Thanks for any help you can throw this way..
Cheers
Rx
Wed Nov 05, 2014 12:04 pm
You're welcome to see the source :)
I'll add you to the plugin forum. If the client you're after isn't posted or what changes need to be made isn't clear let me know.
Thu Nov 06, 2014 7:58 am
Project Lead
Thanks Maudigan..
Thu Nov 06, 2014 11:10 am
updated to work on RoF2 and RoF. Also consolidate the documentation and modified it to use to new bbcode tags--which I haven't told anyone about yet =)
Sat Feb 07, 2015 2:26 pm
Project Lead
Autologin UF client
I keep getting these crashes about 10% of the time with MQ2AutoLogin. Had the same problem with Windows 10. Any suggestions?

Thanks

Extension: Unknown Extension
Extension Crash Info: Crash unhandled by custom extension
Inner Space: Inner Space Kernel 1.14 Build 6104 (Wed Sep 30 20:47:40 2015)
Crash: 0x04A846F3: Exception 0xc0000005 reading from address 0x0ED3F2B0 in module mq2autologin.dll

Registers:
-----------------------------------
eax=04B27D70 ebx=00000000 ecx=04C2AEB8 edx=04C2AEA4
edi=74CD7990 esi=0ED3F148 ebp=00000000 esp=04C2AE94

Stack:
-----------------------------------
00000000 00000000 00000000 6E6E6F00 00746365 696E0068 0000676E 00000000
0000000F 04C2F738 04AA5848 00000000 04A849BD 04AA6BE8 00000000 74CD7990
00000000 00000000 00000000 6E6E6F00 00746365 0000776F 00000000 00000000
0000000F 00000001 00000001 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

Module addresses in stack:
-----------------------------------
eqgame.exe+346365
mq2autologin.dll+25848
mq2autologin.dll+49BD
mq2autologin.dll+26BE8
KERNEL32.DLL+17990
eqgame.exe+346365

System:
-----------------------------------
Windows Version: Windows 10 Pro//10586.th2_release.151112-1900
Process Memory Usage: 104MB
System Physical RAM: 44762/49135MB
Page File: 43230/49235MB
Virtual Memory: 1667/2047MB (Extended: 0MB)
CPU 1: Intel(R) Xeon(R) CPU X5650 @ 2.67GHz @ 2664MHz
CPU 2: Intel(R) Xeon(R) CPU X5650 @ 2.67GHz @ 2664MHz
CPU 3: Intel(R) Xeon(R) CPU X5650 @ 2.67GHz @ 2664MHz
CPU 4: Intel(R) Xeon(R) CPU X5650 @ 2.67GHz @ 2664MHz
CPU 5: Intel(R) Xeon(R) CPU X5650 @ 2.67GHz @ 2664MHz
CPU 6: Intel(R) Xeon(R) CPU X5650 @ 2.67GHz @ 2664MHz
CPU 7: Intel(R) Xeon(R) CPU X5650 @ 2.67GHz @ 2664MHz
CPU 8: Intel(R) Xeon(R) CPU X5650 @ 2.67GHz @ 2664MHz
CPU 9: Intel(R) Xeon(R) CPU X5650 @ 2.67GHz @ 2664MHz
CPU 10: Intel(R) Xeon(R) CPU X5650 @ 2.67GHz @ 2664MHz
CPU 11: Intel(R) Xeon(R) CPU X5650 @ 2.67GHz @ 2664MHz
CPU 12: Intel(R) Xeon(R) CPU X5650 @ 2.67GHz @ 2664MHz
CPU 13: Intel(R) Xeon(R) CPU X5650 @ 2.67GHz @ 2664MHz
CPU 14: Intel(R) Xeon(R) CPU X5650 @ 2.67GHz @ 2664MHz
CPU 15: Intel(R) Xeon(R) CPU X5650 @ 2.67GHz @ 2664MHz
CPU 16: Intel(R) Xeon(R) CPU X5650 @ 2.67GHz @ 2664MHz
CPU 17: Intel(R) Xeon(R) CPU X5650 @ 2.67GHz @ 2664MHz
CPU 18: Intel(R) Xeon(R) CPU X5650 @ 2.67GHz @ 2664MHz
CPU 19: Intel(R) Xeon(R) CPU X5650 @ 2.67GHz @ 2664MHz
CPU 20: Intel(R) Xeon(R) CPU X5650 @ 2.67GHz @ 2664MHz
CPU 21: Intel(R) Xeon(R) CPU X5650 @ 2.67GHz @ 2664MHz
CPU 22: Intel(R) Xeon(R) CPU X5650 @ 2.67GHz @ 2664MHz
CPU 23: Intel(R) Xeon(R) CPU X5650 @ 2.67GHz @ 2664MHz
CPU 24: Intel(R) Xeon(R) CPU X5650 @ 2.67GHz @ 2664MHz
CPU Affinity Mask: 0x3
Video 1: \\.\DISPLAY1/AMD Radeon R9 200 Series
Video 2: \\.\DISPLAY2/AMD Radeon R9 200 Series
Video 3: \\.\DISPLAY3/AMD Radeon R9 200 Series
Video 4: \\.\DISPLAY4/AMD Radeon R9 200 Series
Video 5: \\.\DISPLAY5/AMD Radeon R9 200 Series
Video 6: \\.\DISPLAY6/AMD Radeon R9 200 Series
Sound: ¨
DirectX: 4.09.00.0904
Internet Explorer: 9.11.10586.0

Loaded Modules:
-----------------------------------
Module 0x00400000-0x00B85000: C:\THF\eqgame.exe (Tue Jun 08 23:45:25 2010)
Module 0x03000000-0x0323E000: C:\Program Files (x86)\InnerSpace\IS-Kernel.dll (Tue Oct 13 17:42:36 2015)
Module 0x03300000-0x0338F000: C:\Program Files (x86)\InnerSpace\InnerSpace.dll (Wed Sep 30 20:47:40 2015)
Module 0x03D00000-0x03F60000: C:\WINDOWS\SYSTEM32\d3dx9_30.dll (Fri Mar 31 19:32:20 2006)
Module 0x03F60000-0x03FC8000: C:\THF\js3250.dll (Fri Jan 26 02:56:04 2007)
Module 0x03FD0000-0x03FD8000: C:\THF\plc4.dll (Fri Jan 26 02:53:41 2007)
Module 0x03FE0000-0x03FE6000: C:\THF\plds4.dll (Fri Jan 26 02:53:37 2007)
Module 0x04060000-0x04136000: C:\MQ2Gold\MQ2Main.dll (Wed Sep 10 17:50:22 2014)
Module 0x047C0000-0x047FF000: C:\MQ2Gold\mq2cast.dll (Wed Sep 10 17:50:48 2014)
Module 0x04870000-0x048A2000: C:\MQ2Gold\mq2chatwnd.dll (Wed Sep 10 17:51:13 2014)
Module 0x048B0000-0x048D4000: C:\MQ2Gold\mq2bandolier.dll (Wed Sep 10 17:51:02 2014)
Module 0x04930000-0x04985000: C:\MQ2Gold\mq2netbots.dll (Wed Sep 10 17:50:54 2014)
Module 0x04A40000-0x04A75000: C:\MQ2Gold\mq2itemdisplay.dll (Wed Sep 10 17:51:14 2014)
Module 0x04A80000-0x04AB3000: C:\MQ2Gold\mq2autologin.dll (Wed Sep 10 17:50:33 2014)
Module 0x04C30000-0x04C6C000: C:\MQ2Gold\mq2twist.dll (Wed Sep 10 17:50:50 2014)
Module 0x04C80000-0x04CDA000: C:\MQ2Gold\mq2moveutils.dll (Wed Sep 10 17:50:55 2014)
Module 0x04D50000-0x04D98000: C:\MQ2Gold\mq2map.dll (Wed Sep 10 17:51:17 2014)
Module 0x04DA0000-0x04DC1000: C:\MQ2Gold\mq2labels.dll (Wed Sep 10 17:51:16 2014)
Module 0x04E00000-0x04E3C000: C:\MQ2Gold\mq2eqbc.dll (Wed Sep 10 17:50:59 2014)
Module 0x04E80000-0x04EA3000: C:\MQ2Gold\mq2exchange.dll (Wed Sep 10 17:50:57 2014)
Module 0x04EB0000-0x04EDC000: C:\MQ2Gold\mq2fps.dll (Wed Sep 10 17:50:56 2014)
Module 0x04EE0000-0x04F35000: C:\MQ2Gold\mq2melee.dll (Wed Sep 10 17:50:56 2014)
Module 0x05000000-0x050F2000: C:\Program Files (x86)\InnerSpace\ISUI.dll (Sat Sep 05 14:59:06 2015)
Module 0x06680000-0x066D8000: C:\THF\dpvs.dll (Fri Nov 12 09:16:21 2004)
Module 0x06EE0000-0x07085000: C:\THF\EQGraphicsDX9.DLL (Tue Jun 08 23:45:47 2010)
Module 0x07F30000-0x0823A000: C:\THF\eqmain.dll (Tue Jun 08 23:47:25 2010)
Module 0x10000000-0x1063B000: C:\THF\xul.dll (Fri Jan 26 03:38:38 2007)
Module 0x21100000-0x2115F000: C:\THF\mss32.dll (Tue Jul 09 21:33:51 2002)
Module 0x30000000-0x30028000: C:\THF\nspr4.dll (Fri Jan 26 02:53:36 2007)
Module 0x67B80000-0x67BE8000: C:\WINDOWS\SYSTEM32\AUDIOSES.DLL (Fri Nov 13 05:27:40 2015)
Module 0x67BF0000-0x67C28000: C:\WINDOWS\SYSTEM32\wdmaud.drv (Fri Oct 30 02:30:58 2015)
Module 0x67C30000-0x67C85000: C:\WINDOWS\SYSTEM32\MMDevAPI.DLL (Fri Oct 30 02:27:43 2015)
Module 0x67C90000-0x67DB0000: C:\Program Files (x86)\InnerSpace\IS-OpenGL.dll (Mon Nov 03 18:39:42 2014)
Module 0x67DB0000-0x67DE8000: C:\Program Files (x86)\InnerSpace\IS-D3D11.dll (Thu Jul 30 23:27:35 2015)
Module 0x67DF0000-0x67E5E000: C:\Program Files (x86)\InnerSpace\IS-D3D8.dll (Mon Aug 25 00:04:38 2014)
Module 0x67E60000-0x67E95000: C:\Program Files (x86)\InnerSpace\IS-D3D9.dll (Sun Aug 02 17:33:52 2015)
Module 0x67EA0000-0x67ED6000: C:\WINDOWS\SYSTEM32\DINPUT8.dll (Fri Oct 30 02:31:35 2015)
Module 0x67EE0000-0x67F49000: C:\Program Files (x86)\InnerSpace\IS-VirtualInput.dll (Thu Oct 01 13:53:53 2015)
Module 0x67F50000-0x6814F000: C:\WINDOWS\SYSTEM32\d3dx9_43.dll (Sat May 22 01:21:17 2010)
Module 0x68150000-0x68357000: C:\WINDOWS\SYSTEM32\d3dcompiler_43.dll (Sat May 22 01:24:09 2010)
Module 0x68360000-0x6857A000: C:\WINDOWS\system32\d3d11.dll (Fri Oct 30 02:13:27 2015)
Module 0x68580000-0x68C8C000: C:\WINDOWS\SYSTEM32\atiumdag.dll (Wed Sep 30 02:08:36 2015)
Module 0x68C90000-0x68DB8000: C:\WINDOWS\SYSTEM32\aticfx32.dll (Wed Sep 30 03:33:59 2015)
Module 0x68DC0000-0x68F8B000: C:\WINDOWS\SYSTEM32\d3d9.dll (Fri Oct 30 02:15:18 2015)
Module 0x69740000-0x697D2000: C:\WINDOWS\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.10586.0_none_811bc0006c44242b\COMCTL32.dll (Fri Oct 30 02:12:25 2015)
Module 0x699E0000-0x6A179000: C:\WINDOWS\SYSTEM32\atiumdva.dll (Wed Sep 30 02:03:23 2015)
Module 0x6DD50000-0x6DD73000: C:\WINDOWS\SYSTEM32\WINMMBASE.dll (Fri Oct 30 02:32:48 2015)
Module 0x6DD80000-0x6DE03000: C:\WINDOWS\SYSTEM32\dxgi.dll (Fri Oct 30 02:27:43 2015)
Module 0x6DF90000-0x6E0DB000: C:\WINDOWS\SYSTEM32\PROPSYS.dll (Fri Oct 30 02:15:08 2015)
Module 0x6E1E0000-0x6E2CE000: C:\WINDOWS\SYSTEM32\DDRAW.dll (Fri Oct 30 02:27:26 2015)
Module 0x6E3D0000-0x6E40F000: C:\WINDOWS\SYSTEM32\d3dx11_43.dll (Sat May 22 01:22:28 2010)
Module 0x6E710000-0x6E718000: C:\WINDOWS\SYSTEM32\midimap.dll (Fri Oct 30 02:35:37 2015)
Module 0x6E7C0000-0x6E7D8000: C:\WINDOWS\SYSTEM32\MSACM32.dll (Fri Oct 30 02:34:39 2015)
Module 0x6E9D0000-0x6E9F4000: C:\WINDOWS\SYSTEM32\WINMM.dll (Fri Oct 30 02:33:20 2015)
Module 0x6EA00000-0x6EA67000: C:\WINDOWS\SYSTEM32\WINSPOOL.DRV (Fri Nov 13 05:27:40 2015)
Module 0x6EA90000-0x6EA99000: C:\WINDOWS\SYSTEM32\msacm32.drv (Fri Oct 30 02:37:43 2015)
Module 0x6EAA0000-0x6EAA7000: C:\WINDOWS\SYSTEM32\ksuser.dll (Fri Oct 30 02:40:58 2015)
Module 0x6EBD0000-0x6EBDB000: C:\WINDOWS\SYSTEM32\DAVHLPR.DLL (Fri Oct 30 02:38:44 2015)
Module 0x6EBE0000-0x6EBE9000: C:\WINDOWS\SYSTEM32\AVRT.dll (Fri Oct 30 02:32:50 2015)
Module 0x6F100000-0x6F12C000: C:\WINDOWS\SYSTEM32\fwbase.dll (Fri Oct 30 02:13:56 2015)
Module 0x6F130000-0x6F1C2000: C:\WINDOWS\system32\apphelp.dll (Fri Oct 30 02:31:19 2015)
Module 0x6FC10000-0x6FC3A000: C:\Program Files (x86)\InnerSpace\Lavish.DLL (Wed Oct 15 15:15:12 2014)
Module 0x6FCF0000-0x6FD0C000: C:\WINDOWS\SYSTEM32\atiu9pag.dll (Wed Sep 30 01:43:45 2015)
Module 0x6FD40000-0x6FD47000: C:\WINDOWS\SYSTEM32\DCIMAN32.dll (Thu Nov 05 09:02:24 2015)
Module 0x6FD50000-0x6FD75000: C:\WINDOWS\SYSTEM32\GLU32.dll (Fri Oct 30 02:35:48 2015)
Module 0x6FD80000-0x6FE60000: C:\WINDOWS\SYSTEM32\OPENGL32.dll (Fri Oct 30 02:31:30 2015)
Module 0x6FE60000-0x6FE6A000: C:\WINDOWS\SYSTEM32\hid.dll (Fri Oct 30 02:35:00 2015)
Module 0x704E0000-0x70502000: C:\WINDOWS\SYSTEM32\DEVOBJ.dll (Fri Oct 30 02:36:45 2015)
Module 0x70D00000-0x70D28000: C:\WINDOWS\SYSTEM32\ntmarta.dll (Fri Oct 30 02:32:16 2015)
Module 0x72300000-0x72314000: C:\WINDOWS\SYSTEM32\dhcpcsvc.DLL (Fri Oct 30 02:34:06 2015)
Module 0x73290000-0x7349D000: C:\WINDOWS\SYSTEM32\WININET.dll (Fri Oct 30 02:17:20 2015)
Module 0x734A0000-0x734A8000: C:\WINDOWS\SYSTEM32\WSOCK32.dll (Fri Oct 30 02:36:35 2015)
Module 0x73670000-0x73683000: C:\WINDOWS\SYSTEM32\CRYPTSP.DLL (Fri Oct 30 02:37:36 2015)
Module 0x73740000-0x7375D000: C:\WINDOWS\SYSTEM32\dwmapi.dll (Fri Oct 30 02:30:11 2015)
Module 0x73760000-0x737D5000: C:\WINDOWS\system32\uxtheme.dll (Fri Oct 30 02:46:25 2015)
Module 0x737F0000-0x737F8000: C:\Windows\System32\rasadhlp.dll (Fri Oct 30 02:38:51 2015)
Module 0x73840000-0x7385B000: C:\WINDOWS\SYSTEM32\bcrypt.dll (Fri Oct 30 02:46:08 2015)
Module 0x73860000-0x738A7000: C:\WINDOWS\System32\fwpuclnt.dll (Fri Oct 30 02:09:13 2015)
Module 0x738B0000-0x738BB000: C:\WINDOWS\System32\winrnr.dll (Fri Oct 30 02:35:10 2015)
Module 0x738F0000-0x7393F000: C:\WINDOWS\system32\mswsock.dll (Fri Oct 30 02:46:07 2015)
Module 0x73940000-0x73954000: C:\WINDOWS\system32\NLAapi.dll (Fri Oct 30 02:35:09 2015)
Module 0x73960000-0x73976000: C:\WINDOWS\system32\pnrpnsp.dll (Fri Oct 30 02:34:36 2015)
Module 0x73980000-0x73992000: C:\WINDOWS\system32\napinsp.dll (Fri Oct 30 02:34:52 2015)
Module 0x74260000-0x74268000: C:\WINDOWS\SYSTEM32\VERSION.dll (Fri Oct 30 02:38:58 2015)
Module 0x74310000-0x74394000: C:\WINDOWS\SYSTEM32\DNSAPI.dll (Fri Oct 30 02:27:30 2015)
Module 0x74750000-0x74818000: C:\WINDOWS\SYSTEM32\wintypes.dll (Fri Oct 30 02:22:11 2015)
Module 0x74AA0000-0x74ACF000: C:\WINDOWS\SYSTEM32\IPHLPAPI.DLL (Fri Oct 30 02:13:18 2015)
Module 0x74B00000-0x74B6E000: C:\WINDOWS\SYSTEM32\SYSFER.DLL (Thu Jul 30 11:16:37 2015)
Module 0x74B70000-0x74B7A000: C:\WINDOWS\SYSTEM32\CRYPTBASE.dll (Fri Oct 30 02:39:15 2015)
Module 0x74B80000-0x74B9E000: C:\WINDOWS\SYSTEM32\SspiCli.dll (Fri Oct 30 02:45:54 2015)
Module 0x74BA0000-0x74BFE000: C:\WINDOWS\SYSTEM32\FirewallAPI.dll (Fri Oct 30 02:28:53 2015)
Module 0x74C00000-0x74CBE000: C:\WINDOWS\SYSTEM32\msvcrt.dll (Fri Oct 30 02:34:10 2015)
Module 0x74CC0000-0x74DA0000: C:\WINDOWS\SYSTEM32\KERNEL32.DLL (Fri Oct 30 02:46:21 2015)
Module 0x74E00000-0x74E45000: C:\WINDOWS\SYSTEM32\shlwapi.dll (Fri Oct 30 02:26:09 2015)
Module 0x74E50000-0x75349000: C:\WINDOWS\SYSTEM32\windows.storage.dll (Fri Oct 30 02:21:04 2015)
Module 0x75350000-0x753FD000: C:\WINDOWS\SYSTEM32\RPCRT4.dll (Fri Oct 30 02:46:17 2015)
Module 0x75400000-0x7540F000: C:\WINDOWS\SYSTEM32\profapi.dll (Fri Oct 30 02:37:15 2015)
Module 0x75410000-0x7543B000: C:\WINDOWS\SYSTEM32\IMM32.DLL (Fri Oct 30 02:46:03 2015)
Module 0x75440000-0x75447000: C:\WINDOWS\SYSTEM32\NSI.dll (Fri Oct 30 02:40:18 2015)
Module 0x75450000-0x75492000: C:\WINDOWS\SYSTEM32\WINTRUST.dll (Fri Oct 30 02:32:47 2015)
Module 0x754A0000-0x75532000: C:\WINDOWS\SYSTEM32\OLEAUT32.dll (Fri Oct 30 02:29:02 2015)
Module 0x75540000-0x7559F000: C:\WINDOWS\SYSTEM32\WS2_32.dll (Fri Oct 30 02:30:31 2015)
Module 0x755A0000-0x755B6000: C:\WINDOWS\SYSTEM32\usp10.dll (Fri Oct 30 02:42:07 2015)
Module 0x755C0000-0x769BF000: C:\WINDOWS\SYSTEM32\SHELL32.dll (Fri Nov 13 05:22:05 2015)
Module 0x769C0000-0x76B07000: C:\WINDOWS\SYSTEM32\USER32.dll (Fri Oct 30 02:46:14 2015)
Module 0x76B10000-0x76C5F000: C:\WINDOWS\SYSTEM32\GDI32.dll (Fri Oct 30 02:46:11 2015)
Module 0x76DF0000-0x76E03000: C:\WINDOWS\SYSTEM32\NETAPI32.dll (Fri Oct 30 02:36:36 2015)
Module 0x76E10000-0x76F2F000: C:\WINDOWS\SYSTEM32\MSCTF.dll (Fri Oct 30 02:21:52 2015)
Module 0x770D0000-0x774DB000: C:\WINDOWS\SYSTEM32\SETUPAPI.dll (Fri Oct 30 02:24:33 2015)
Module 0x774E0000-0x7755B000: C:\WINDOWS\SYSTEM32\ADVAPI32.dll (Fri Oct 30 02:26:06 2015)
Module 0x77560000-0x7764B000: C:\WINDOWS\SYSTEM32\ole32.dll (Fri Oct 30 02:21:51 2015)
Module 0x77650000-0x776A8000: C:\WINDOWS\SYSTEM32\bcryptPrimitives.dll (Fri Oct 30 02:32:56 2015)
Module 0x776B0000-0x77828000: C:\WINDOWS\SYSTEM32\CRYPT32.dll (Fri Oct 30 02:26:02 2015)
Module 0x77830000-0x77874000: C:\WINDOWS\SYSTEM32\powrprof.dll (Fri Oct 30 02:34:11 2015)
Module 0x77880000-0x77886000: C:\WINDOWS\SYSTEM32\PSAPI.dll (Fri Oct 30 02:40:33 2015)
Module 0x77890000-0x77982000: C:\WINDOWS\SYSTEM32\comdlg32.dll (Fri Oct 30 02:22:32 2015)
Module 0x779F0000-0x77A34000: C:\WINDOWS\SYSTEM32\sechost.dll (Fri Oct 30 02:30:07 2015)
Module 0x77A40000-0x77A4C000: C:\WINDOWS\SYSTEM32\kernel.appcore.dll (Fri Oct 30 02:38:12 2015)
Module 0x77A50000-0x77C0D000: C:\WINDOWS\SYSTEM32\combase.dll (Fri Oct 30 02:16:36 2015)
Module 0x77C10000-0x77C9D000: C:\WINDOWS\SYSTEM32\shcore.dll (Fri Oct 30 02:14:47 2015)
Module 0x77CA0000-0x77CD7000: C:\WINDOWS\SYSTEM32\cfgmgr32.dll (Fri Oct 30 02:31:58 2015)
Module 0x77CE0000-0x77CEE000: C:\WINDOWS\SYSTEM32\MSASN1.dll (Fri Oct 30 02:38:19 2015)
Module 0x77CF0000-0x77E6E000: C:\WINDOWS\SYSTEM32\KERNELBASE.dll (Fri Oct 30 02:46:52 2015)
Module 0x77E70000-0x77FEB000: C:\WINDOWS\SYSTEM32\ntdll.dll (Fri Oct 30 02:46:20 2015)
Module 0x7C340000-0x7C396000: C:\THF\MSVCR71.dll (Fri Feb 21 12:42:20 2003)

LavishScript Execution Stack:
-----------------------------------

Running Scripts:
-----------------------------------
isboxerui
windowsnapper2
repeater
keymapper
menuman
_________________
Denizen
Wed Dec 02, 2015 9:03 am
Inner Space: Inner Space Kernel 1.14 Build 6104 (Wed Sep 30 20:47:40 2015)


Got a crash report without Innerspace? Innerspace modifies EQgame (just as MQ2 modifies EQgame) but only you know how it's being modified. It's like you are running your own custom client.

Try loading just EQgame and MQ2 and no plugins other than MQ2autologin. Unload all plugins besides MQ2autoloin. Unload all Innerspace products. Does EQ still crash?[/quote]
Thu Dec 03, 2015 6:46 pm
Senior Project Member
Grumble, thanks for looking at this.

Well, I certainly don't know how isboxer or MQ2 is modifying EQgame.exe. I'm using isboxer to launch the game, I don't know the mechanics of how it does that, everything works fine with MQ2autologin as well...IF..I don't put in the password. With the password in then it messes up as posted above greater than 10 percent of the time.

Isboxer folks don't want posts about MQ2 so can't look for help there. I suppose I will play with MQ2 some more and see if I can get it to do everything that isboxer currently does, namely set core usage and do some push button like commands, and then do away with isboxer.

The first step will be to do as you say...see if I can get MQ2 set to the point where it will launch my 18 characters and then launch and keep them on the right cores...
_________________
Denizen
Sun Dec 06, 2015 7:33 am
When you say a 10% crash rate, are you referring to crashing 1 out of 10 characters or crashing 1 out of 10 times ISBoxer launches the game? The former could be an MQ2AutoLogin issue. The latter is definitely an ISBoxer issue.

There are numerous ways for EQ core usage to be managed. Look in eqclient.ini for a CPUAffinity# entry (it's been there since 2007). A windows shortcut command line prompt can be used. A windows batch file command line prompt can be used.

Push button commands sound like /bc commands.
Sun Dec 06, 2015 10:19 pm
Senior Project Member
Which client? Rof, rof2?
Mon Dec 07, 2015 12:19 pm
Project Lead
Client is still UF at Hidden Forest. Planning on implementing RoF one of these days...but not yet.
_________________
Denizen
Mon Dec 07, 2015 7:34 pm
Grumble,

"When you say a 10% crash rate, are you referring to crashing 1 out of 10 characters or crashing 1 out of 10 times ISBoxer launches the game? The former could be an MQ2AutoLogin issue. The latter is definitely an ISBoxer issue."

1 in 10 times ISBoxer launches an instance, and the instance that crashes varies.

I know the ini has CPU affinity but as far as I can tell it is only one core per instance. I'd like to be able to set 4 cores (2 actual 2 hyperthreaded) for some instances. Not sure how to do that...
_________________
Denizen
Mon Dec 07, 2015 7:39 pm
CPUAffinity#=-1

^ That lets any core with spare oomph run instance number #.\

Or if you want finer grain control... Set CPU affinity via command line shortcut
Wed Dec 09, 2015 7:53 pm
Senior Project Member
I finally got a chance to sit down with it this weekend. I'm not the best with debuggers, but here is what I think

Your address list:

Module addresses in stack:
-----------------------------------
eqgame.exe+346365
mq2autologin.dll+25848
mq2autologin.dll+49BD
mq2autologin.dll+26BE8
KERNEL32.DLL+17990
eqgame.exe+346365


Here is the map file cross reference:

mq2autologin.dll+26BE8 believe is an address to a string, "connect", if this is suspect I can take the time to unmangle this, but I'm reasonably certain. I just always thought those addresses only pointed to functions... :
0002:00000be8 ??_C@_07KAIBNCHO@connect?$AA@ 04026be8 MQ2AutoLogin.obj

mq2autologin.dll+49BD - I think is a return address further down inside of this:
0001:00003730 ?HandleWindows@@YAXXZ 04004730 f MQ2AutoLogin.obj

mq2autologin.dll+25848 is the error handler of WindowActive
0001:00024848 __ehhandler$?WindowActive@@YA_NPAD@Z 04025848 f MQ2AutoLogin.obj

I have no idea what the address in eqgame.exe is... maybe some generic exception handler? I don't really know how all that works at this level...

So, the first thing on the stack is the address to the connect literal, then a return address inside of HandleWindows, and then the address to the WindowActive error handler. There is no catch so it just crashes. here are those two functions: (I've highlighted the noteworthy lines)

c++
More +
inline bool WindowActive(char *name) {
    if(*dwEQMainBase)
        if(CXWnd2 *pWnd = WindowMap[name])
            if(pWnd->xShow)
                return true;
    return false;
}

void HandleWindows() {
    CXWnd *pWnd = 0;

    if(WindowActive("EulaWindow"))
    {
        if(pWnd = WindowMap["EulaWindow"]->_GetChildItem("EULA_AcceptButton"))
            pWnd->WndNotification(pWnd, XWM_LCLICK, 0);
    }
    else if(WindowActive("seizurewarning"))
    {
        if(pWnd = WindowMap["seizurewarning"]->_GetChildItem("HELP_OKButton"))
            pWnd->WndNotification(pWnd, XWM_LCLICK, 0);
    }
    else if(WindowActive("OrderExpansionWindow"))
    {
        if(pWnd = WindowMap["OrderExpansionWindow"]->_GetChildItem("OrderExp_DeclineButton"))
            pWnd->WndNotification(pWnd, XWM_LCLICK, 0);
    }
    else if(WindowActive("soesplash"))
    {
        CXPoint pt;
        pt.A = 1;
        pt.B = 1;
        pLoginViewManager->SendLMouseClick(pt); // WndNotification doesn't work on this
    }
    else if(WindowActive("main"))
    {
        if(pWnd = WindowMap["main"]->_GetChildItem("MAIN_ConnectButton"))
            pWnd->WndNotification(pWnd, XWM_LCLICK, 0);
    }
    else if(WindowActive("connect"))     {
        static bool bOnce = true;

        if(!bOnce)
            return;

        if(pWnd = WindowMap["connect"]->_GetChildItem("LOGIN_UsernameEdit"))
        {
            if(bUseStationNamesInsteadOfSessions)
            {
                AutoLoginDebug("HandleWindows(): Using station name instead of session number");

                GetCXStr(((CSidlScreenWnd*)pWnd)->InputText, szStationName, 64);

                if(szStationName[0])
                {
                    GetPrivateProfileString(szStationName, "Password", 0, szPassword, 64, INIFileName);
                    GetPrivateProfileString(szStationName, "Server", 0, szServerName, 32, INIFileName);
                    GetPrivateProfileString(szStationName, "Character", 0, szCharacterName, 64, INIFileName);
                }
                else
                {
                    AutoLoginDebug("HandleWindows(): No station name found in LOGIN_UsernameEdit");
                    bLogin = false;
                    return;
                }
            }
           
            if(!szStationName[0] || !szPassword[0] || !szServerName[0])
            {
                AutoLoginDebug("*** Login data couldn't be retrieved.  Please check your ini file.");
                bLogin = false;
                return;
            }

            if(!bUseStationNamesInsteadOfSessions)
            {
                SetCXStr(&((CSidlScreenWnd*)pWnd)->InputText, "");
                SetCXStr(&((CSidlScreenWnd*)pWnd)->InputText, szStationName);
            }

            if(pWnd = WindowMap["connect"]->_GetChildItem("LOGIN_PasswordEdit"))
            {
                SetCXStr(&((CSidlScreenWnd*)pWnd)->InputText, szPassword);

                if(pWnd = WindowMap["connect"]->_GetChildItem("LOGIN_ConnectButton"))
                {
                    pWnd->WndNotification(pWnd, XWM_LCLICK, 0);
                    bOnce = false;
                }
            }
        }
    }
    else if(WindowActive("serverselect"))
    {
        if(!szServerName[0])
        {
            AutoLoginDebug("HandleWindows(): szServerName NULL at serverselect.  Ending LoginThread");
            bLogin = false;
            return;
        }

        if(WindowActive("yesnodialog"))
        {
            if(pWnd = WindowMap["yesnodialog"]->_GetChildItem("YESNO_Display"))
            {
                char szTemp[MAX_STRING * 8] = {0};

                if(((CXWnd2*)pWnd)->GetType() == UI_STMLBox)
                    GetCXStr(((CSidlScreenWnd*)pWnd)->SidlText, szTemp, MAX_STRING * 8);
                else
                    GetCXStr(((CSidlScreenWnd*)pWnd)->WindowText, szTemp, MAX_STRING * 8);

                // kick active character?
                if(szTemp[0] && strstr(szTemp, "You already have a character logged into a world server from this account."))
                {
                    if(bKickActiveChar)
                        pWnd = WindowMap["yesnodialog"]->_GetChildItem("YESNO_YesButton");
                    else
                        pWnd = WindowMap["yesnodialog"]->_GetChildItem("YESNO_NoButton");

                    if(pWnd)
                        pWnd->WndNotification(pWnd, XWM_LCLICK, 0);

                    bLogin = false; // kill LoginThread since we're either entering game or doing nothing
                }
            }
        }
        else
        {
            if(dwServerID = GetServerID(szServerName))
            {
                pLoginClient->EnterGame(dwServerID);
                Sleep(2500);
            }
            else
                AutoLoginDebug("HandleWindows(): GetServerID(%s) returned 0 at serverselect", szServerName);
        }
    }
    else if(WindowActive("news"))
    {
        if(pWnd = WindowMap["news"]->_GetChildItem("NEWS_WndLabel"))
        {
            char szTemp[MAX_STRING] = {0};

            if(((CXWnd2*)pWnd)->GetType() == UI_STMLBox)
                GetCXStr(((CSidlScreenWnd*)pWnd)->SidlText,szTemp,MAX_STRING);
            else
                GetCXStr(((CSidlScreenWnd*)pWnd)->WindowText,szTemp,MAX_STRING);

            // click OK button if news window is open
            if(szTemp[0] && !strcmp(szTemp, "NEWS"))
            {
                if(pWnd = WindowMap["news"]->_GetChildItem("NEWS_OKButton"))
                {
                    pWnd->WndNotification(pWnd, XWM_LCLICK, 0);
                }
            }
        }
    }
}


This is my theory. So, we enter HandleWindows() (second highlight). We get down to the third highlight and we are making a function call WindowActive. We push the address for the "connect" literal onto the stack as a parameter. Then we make the call, our return address is HandleWindows (4730) plus the offset to get us down to the third highlight (49BD); so, that gets pushed onto the stack. Our next address is the error handler for WindowActive. I don't think that means we go straight into the error handler, I think it just means nothing in WindowActive() had a chance or reason to push anything onto the stack before it blew up (guess).

Why is the error handler's starting address on the stack instead of a return address from slightly further into the error handler? I'm not sure, but there is no error handling explicitly coded so it might just be a wrapper that points to a generic exception handler. If that's the case the first line of the function could be a call to another function which would make the starting address and the return address the same. That's a big guess though.

So the error is some kinda disconnect in WindowActive I think.

c++
More +
inline bool WindowActive(char *name)
{
    if(*dwEQMainBase)
        if(CXWnd2 *pWnd = WindowMap[name])
            if(pWnd->xShow)
                return true;
    return false;
}


dwEQMainBase I believe is just the starting address of eqgame.dll. That is automatically found with a pattern search, so I think the intent of line 1 is just to make sure the patterns have been found. WindowMap is just an array (a map) of all the windows indexed by their string name. So that's just grabbing a pointer to the "connect" window. That's pretty simple, but this is the most suspicious line I suppose. Line 3 just checks the XShow element of the window... it's just a byte. We know pWnd isn't null because of Line 2, and even if it somehow was pointing to the wrong place we are just checking if a byte it set or not...

What's all that mean, and how do we fix it? Beats the shit outa me =)





EDIT: I don't know anything about IS, does it do any window manipulation or automation in the game? This HandleWindows bit is running in it's own thread, there may be a race situation where a thread in eqmain or IS is trying to manipulate something that the handlewindows thread is manipulating. For example, in thread 1, the connect window exists and some error validation confirms it exists, then it jumps over to the other thread 2 and it's destroyed by some unrelated process, then later it returns to thread 1 where it picks up trying to manipulate the connect window that it thinks still exists.

A race situation would explain why it only happens sometimes, meaning 90% of the time it wins the race and 10% of the time it loses... another guess really. If that is the case though, I don't know how to fix it and I suspect the only answer would be to stop using that setup
Sat Dec 12, 2015 11:39 am
Project Lead
Goto page Previous  1, 2, 3, 4  Next Software Documentation MQ2AutoLogin
Reply