matoom / frostbite

MUD client for dragonrealms.
29 stars 17 forks source link

Invalid login key #28

Closed hennii closed 7 years ago

hennii commented 7 years ago

So when trying to log in to DR, I am able to select my character, and then when it drops into the main window, it immediately gives this error:

Connecting ...

*

Invalid login key. Please relogin to the web site.

Any ideas?

Running on Mac Sierra 10.12.3 (16D32) Ruby via rvm version ruby-2.1.2

No Lich running

matoom commented 7 years ago

It's possible that i've seen this on a Mac before but i thought i squashed this bug already. Are you using the latest version? There was some trouble with the SIMUs e-access encryption process on Mac usually when the password contained any numbers. I never really figured out why but it created the password hash with the wrong encoding.

I'll try to experiment a little bit and see if it comes up again.

matoom commented 7 years ago

Wait, no, ignore my last post, if there were any issues with the password encryption you wouldn't be able to go all the way through the character selection. That's the first step.

If you enable the auth logging, the last line in there should be something like this:

L OK UPPORT=5535 GAME=STORM GAMECODE=DR FULLGAMENAME=StormFront GAMEFILE=STORMFRONT.EXE GAMEHOST=dr.simutronics.net GAMEPORT=11024 KEY=830aeadfdc81a8e4cb629994880db3f3

The "KEY=.." should be your temporary login token. Does it look similar to this?

hennii commented 7 years ago

Using the latest Mac version of Frostbite, and password does indeed contain numbers! Thanks for taking a look.

matoom commented 7 years ago

The timing seems pretty odd that it happens right after you log in? This is actually the exact messages im getting when i try to log in from a second instance. First logged in on my mac then logged in from windows and the mac client was thrown out with the same exact messages -- invalid login key.

The login token can only be consumed once and only one connection per account. Are you sure you don't have any other active connections open or maybe some Genie scripts trying to get a connection open?

You would also get the same error if something went wrong with extracting the key from the "KEY=.." line. I think probably first look at your auth log and see if everything checks out.

matoom commented 7 years ago

I'd say it's likely some technical issue but if the worst comes to the worst your account could be compromised.

hennii commented 7 years ago

Is it possible that Frostbite is logging in twice in a row with the same key and on the 2nd time its invalidating?

hennii commented 7 years ago

from my auth log:

L OK UPPORT=5535 GAME=STORM GAMECODE=DR FULLGAMENAME=StormFront GAMEFILE=STORMFRONT.EXE GAMEHOST=dr.simutronics.net GAMEPORT=11024 KEY=6bd0910c4a823f12ccd553a723969acc

matoom commented 7 years ago

It's definitely possible but i'm just not sure how to reproduce this type of behavior.

I don't see anything wrong with the auth log either, i just ran it through my scripts and the client was able to pick up everything without any problems.

The rest is pretty straight forward, it opens up a connection with the dr.simutronics.net:11024 and inputs the key. The error itself is originating from the server side.

I'll have to think about it.

hennii commented 7 years ago

Hmm so if it helps any, if I'm logged in on another client with the same account & character, and then in Frostbite hit "finish", I get logged out on the other client (same as if I had successfully logged in). But still then get the "invalid login key" in the Frostbite main window. So its definitely hitting the DR server and changing the log in key, but something goes wrong after that.

matoom commented 7 years ago

That at least puts some of my other crazy ideas to rest and the fact that it logs out from active connections means that it's likely still a valid key. This leads me to believe that the error you're getting could be a little bit misleading.

I wonder though how far you're getting in the entry process. There are a few more steps involved and it would be helpful to single out exact commands that the client is sending to open up a connection.

I've made a few adjustments and improved the debug logging a little bit to include outgoing messages. if you're up for it, enable the debug logging and have a look at the debug log. You can get the new version from the following address (1.6.5):

https://github.com/matoom/frostbite/releases/download/v1.6.5-beta/frostbite-osx.dmg

A successful entry should look something like this:

<c>8074bcb03eab0299dc3a8bd4e67e72de

<c>/FE:STORMFRONT /VERSION:1.0.1.26 /P:WIN_XP /XML

<mode id="GAME"/><settings client="1.0.1.26" major="1"> ...

Please wait for connection to game server.

<playerID id='575369'/>

<settingsInfo  client="1.0.1.26" major="13" crc='2334913410' instance='DR'/>

<c>

<c>_STATE CHATMODE OFF

<c>

<c>_swclose sassess

<c>_swclose satmospherics

<c>_swclose sooc

<mode id="GAME"/>
hennii commented 7 years ago

Grabbed the new version, and here's my debug.log:

<c>c0d87a54b82fb2ad64129037b0c9a901

<c>/FE:STORMFRONT /VERSION:1.0.1.26 /P:WIN_XP /XML

<mode id="GAME"/><settings client="1.0.1.26" major="1"><presets><p id='roomName' color='skin' bgcolor='skin' line='y'/><p id='bold' color='skin' bgcolor='skin'/><p id='speech' color='skin' bgcolor='skin'/><p id='whisper' color='skin' bgcolor='skin'/><p id='thought' color='skin' bgcolor='skin'/><p id='watching' color='skin' bgcolor='skin'/><p id='link' color='skin' bgcolor='skin' ulcolor="skin"/><p id='selectedLink' color='skin' bgcolor='skin'/><p id='command' color='skin' bgcolor='skin'/></presets><macros><keys id='0' name='(default)'><k key='Alt-C' action='\xxml toggle containers\r'/><k key='Alt-D' action='\xxml toggle dialogs\r'/><k key='Alt-Ctrl-E' action='{ExportDialog}'/><k key='Alt-Ctrl-H' action='{HighlightsDialog}'/><k key='Alt-Ctrl-I' action='{ImportDialog}'/><k key='Alt-L' action='{ToggleLinks}'/><k key='Alt-M' action='{ToggleMusic}'/><k key='Alt-I' action='{ToggleImages}'/><k key='Alt-S' action='{ToggleSounds}'/><k key='Alt-Ctrl-M' action='{MacrosDialog}'/><k key='Alt-Ctrl-S' action='{ChooseSkin}'/><k key='Alt-V' action='{VariablesDialog}'/><k key='Alt-0' action='{MacroSet}0'/><k key='Alt-1' action='{MacroSet}1'/><k key='Alt-2' action='{MacroSet}2'/><k key='Alt-3' action='{MacroSet}3'/><k key='Alt-4' action='{MacroSet}4'/><k key='Alt-5' action='{MacroSet}5'/><k key='Alt-6' action='{MacroSet}6'/><k key='Alt-7' action='{MacroSet}7'/><k key='Alt-8' action='{MacroSet}8'/><k key='Alt-9' action='{MacroSet}9'/><k key='Ctrl-F5' action='{Restart}'/><k key='Ctrl-R' action='{Rest}'/><k key='Keypad +' action='look\r'/><k key='Keypad /' action='health\r'/><k key='Keypad *' action='exp\r'/><k key='Keypad -' action='info\r'/><k key='Keypad .' action='\xup\r'/><k key='Keypad 0' action='\xdown\r'/><k key='Keypad 1' action='\xsw\r'/><k key='Keypad 2' action='\xs\r'/><k key='Keypad 3' action='\xse\r'/><k key='Keypad 4' action='\xw\r'/><k key='Keypad 5' action='\xout\r'/><k key='Keypad 6' action='\xe\r'/><k key='Keypad 7' action='\xnw\r'/><k key='Keypad 8' action='\xn\r'/><k key='Keypad 9' action='\xne\r'/><k key='Page Up' action='{PageUp}'/><k key='Page Down' action='{PageDown}'/><k key='Shift-Page Up' action='{LineUp}'/><k key='Shift-Page Down' action='{LineDown}'/><k key='UP' action='{HistoryPrev}'/><k key='DOWN' action='{HistoryNext}'/><k key='Ctrl-Enter' action='{RepeatLast}'/><k key='Alt-Enter' action='{RepeatSecondToLast}'/><k key='Keypad Enter' action='{ReturnOrRepeatLast}'/><k key='Ctrl-Keypad Enter' action='{RepeatLast}'/><k key='Alt-Keypad Enter' action='{RepeatSecondToLast}'/><k key='Tab' action='{CycleWindows}'/><k key='Ctrl-Page Up' action='{BufferTop}'/><k key='Ctrl-Page Down' action='{BufferBottom}'/><k key='Ctrl-Home' action='{BufferTop}'/><k key='Ctrl-End' action='{BufferBottom}'/><k key='Shift-Tab' action='{CycleWindowsReverse}'/><k key='Ctrl-A' action='{SelectAll}'/><k key='Ctrl-C' action='{Copy}'/><k key='Ctrl-X' action='{Cut}'/><k 
key='Ctrl-V' action='{Paste}'/><k key='Ctrl-Insert' action='{Copy}'/><k key='Shift-Insert' action='{Paste}'/><k key='Shift-Esc' action='{PauseScript}'/></keys><keys id='1' name='Macro set 1'></keys><keys id='2' name='Macro set 2'></keys><keys id='3' name='Macro set 3'></keys><keys id='4' name='Macro set 4'></keys><keys id='5' name='Macro set 5'></keys><keys id='6' name='Macro set 6'></keys><keys id='7' name='Macro set 7'></keys><keys id='8' name='Macro set 8'></keys><keys id='9' name='Macro set 9'></keys></macros><palette><i id='0' color='#FFFF90'/><i id='1' color='#FFD2A1'/><i id='2' color='#FF9099'/><i id='3' color='#FF6699'/><i id='4' color='#FF3399'/><i id='5' color='#FF00A1'/><i id='6' color='#FF0000'/><i id='7' color='#FF3300'/><i id='8' color='#FF6600'/><i id='9' color='#FF9000'/><i id='10' color='#FFD200'/><i id='11' color='#FFFF00'/><i id='12' color='#33FF08'/><i id='13' color='#39CC00'/><i id='14' color='#399900'/><i id='15' color='#296B00'/><i id='16' color='#293900'/><i id='17' color='#291808'/><i id='18' color='#08007B'/><i id='19' color='#333399'/><i id='20' color='#336699'/><i id='21' color='#2999A1'/><i id='22' color='#4AE3B9'/><i id='23' color='#33F390'/><i id='24' color='#FFFFDE'/><i id='25' color='#FFD6CE'/><i id='26' color='#FFA0E6'/><i id='27' color='#FF6BD2'/><i id='28' color='#E916B3'/><i id='29' color='#EA0ECC'/><i id='30' color='#E70000'/><i id='31' color='#AD0000'/><i id='32' color='#E65A29'/><i id=
'33' color='#F89439'/><i id='34' color='#E7BD18'/><i id='35' color='#FFF147'/><i id='36' color='#31E739'/><i id='37' color='#39CE43'/><i id='38' color='#298C31'/><i id='39' color='#316339'/><i id='40' color='#312931'/><i id='41' color='#291831'/><i id='42' color='#2108E7'/><i id='43' color='#3129CE'/><i id='44' color='#184AAD'/><i id='45' color='#319CCE'/><i id='46' color='#29D6CE'/><i id='47' color='#29F7CE'/><i id='48' color='#FFFFFF'/><i id='49' color='#FFCEFB'/><i id='50' color='#FF94F7'/><i id='51' color='#E67BF7'/><i id='52' color='#FB31FF'/><i id='53' color='#FF00FB'/><i id='54' color='#FF0063'/><i id='55' color='#A5186B'/><i id='56' color='#FF6B73'/><i id='57' color='#FFA077'/><i id='58' color='#E2CB6D'/><i id='59' color='#9CA510'/><i id='60' color='#00B529'/><i id='61' color='#008421'/><i id='62' color='#005218'/><i id='63' color='#104A39'/><i id='64' color='#292963'/><i id='65' color='#441477'/><i id='66' color='#0000FF'/><i id='67' color='#2108D6'/><i id='68' color='#3163F7'/><i id='69' color='#2994F7'/><i id='70' color='#29CEFF'/><i id='71' color='#65F9E9'/><i id='72' color='#FFEFFF'/><i id='73' color='#C698F7'/><i id='74' color='#A008D6'/><i id='75' color='#470062'/><i id='76' color='#390852'/><i id='77' color='#50185A'/><i id='78' color='#4A2142'/><i id='79' color='#4A1818'/><i id='80' color='#523131'/><i id='81' color='#7B3900'/><i id='82' color='#5A4A31'/><i id='83' color='#304000'/><i id='84' color='#292129'/><i id='85' color='#393939'/><i id='86' color='#52525A'/><i id='87' color='#73736B'/><i id='88' color='#B5B5B5'/><i id='89' color='#000000'/><i id='90' color='#FFFFFF'/><i id='91' color='#FFFFFF'/><i id='92' color='#FFFFFF'/><i id='93' color='#FFFFFF'/><i id='94' color='#FFFFFF'/><i id='95' color='#FFFFFF'/><i id='96' color='#FFFFFF'/><i id='97' color='#FFFFFF'/><i id='98' color='#FFFFFF'/><i id='99' color='#FFFFFF'/><i id='100' color='#FFFFFF'/><i id='101' color='#FFFFFF'/><i id='102' color='#FFFFFF'/><i id='103' color='#FFFFFF'/><i id='104' color='#FFFFFF'/><i id='105' color='#FFFFFF'/><i id='106' color='#FFFFFF'/><i id='107' color='#FFFFFF'/><i id='108' color='#FFFFFF'/><i id='109' color='#FFFFFF'/></palette><stream><w id='sinv' vis='t' frame='panel' height='94' location='right' panel='Right' open='t'/><w id='cstow' vis='t' panel='Right' frame='panel' open='t' height='94'/><w id='sdebug' frame='float' vis='f'/><w id='smain' frame='float' width='auto' x='auto' height='auto' y='187' vis='t' ts="14931"/><w id='sroom' frame='float' width='auto' x='540' height='162' y='auto' vis='t' nosound='' noignore='' location='center'></w><w id='sSpells' vis='t' frame='panel' height='172' location='left' panel='Left' open='t'><font face='Verdana' size='10'/></w><w id='snews' frame='float' width='auto' x='368' height='281' y='93' vis='t'/><w id='scharsheet' frame='float' location='detach' detach='t'><detach width='640' height='441'/></w><w id='sspellfront' vis='f' frame='panel' height='80' location='left' panel='Left' open='t'><font face='Verdana' size='10'/></w></stream><cmdline fgcolor='skin' bgcolor='skin' barcolor='skin'/><strings></strings><names></names><ignores></ignores><vars></vars><scripts prefix="."></scripts><dialog><w id='combat' vis='t' frame='panel' location='right' panel='Right' open='t'/><w id='injuries' vis='t' frame='panel' location='right' panel='Right' open='t'/><w id='expr' vis='t' frame='panel' location='left' panel='Left' open='t'/><w id='mapViewMain' vis='t' panel='Right' frame='float' height='162' open='t' width='532' x='auto' y='auto' location='center'></w><w id='mapMaster' panel='Right' frame='panel' height='200' open='f' width='194' x='364' y='50' location='right' vis='t'/></dialog><builtin><w id='windows' frame='panel' height='227' panel='Left' open='t' location='left' ts="14931"/></builtin><panels><group id='Left' open='t'><builtin id='windows'/><dialog id='expr'/><stream id='sSpells'/><stream id='sspellfront'/></group><group id='Right' open='t'><dialog id='combat'/><dialog id='injuries'/><stream id='sinv'/><stream id='cstow'/></group></panels><toggles><s id="CommandInputMode" state="t"/></toggles><misc><m id='inputhelp' value='y'/><m id='2chathelp' value='y'/><m id='2cmdhelp' value='y'/></misc><app maximized='t'/><display></display><options><o id='autoHideStory' checked='0'/><o id='scanForUrls' checked='1'/><o id='tod' checked='1'/><o id='showLinks' checked='1'/><o id='localEcho' checked='1'/><o id='scrollBackSize' value='2000'/><o id='music' checked='0'/><o id='sound' checked='1'/><o id='images' checked='1'/><o id='colonThinkTo' checked='0'/></options></settings>

Invalid login key.  Please relogin to the web site.
matoom commented 7 years ago

I get the exact same result when i enter the wrong key (TEST) but i get more settings apparently.

I have to say this is one tough case to crack. I don't know how you would successfully negotiate a bogus session and get a key that logs out from other clients but not be valid at the same time. I can only guess that there's something in the e-access session that goes wrong. There are parts in there that i don't understand and i'm skimming some parts entirely.

<c>TEST

<c>/FE:FROSTBITE /VERSION:1.6.4b /P:XPLAT /XML

<mode id="GAME"/><settings client="1.0.1.26" major="1"><presets><p id='roomName' color='skin' bgcolor='skin' line='y'/><p id='bold' color='skin' bgcolor='skin'/><p id='speech' color='skin' bgcolor='skin'/><p id='whisper' color='skin' bgcolor='skin'/><p id='thought' color='skin' bgcolor='skin'/><p id='watching' color='skin' bgcolor='skin'/><p id='link' color='skin' bgcolor='skin' ulcolor="skin"/><p id='selectedLink' color='skin' bgcolor='skin'/><p id='command' color='skin' bgcolor='skin'/></presets><macros><keys id='0' name='(default)'><k key='Alt-C' action='\xxml toggle containers\r'/><k key='Alt-D' action='\xxml toggle dialogs\r'/><k key='Alt-Ctrl-E' action='{ExportDialog}'/><k key='Alt-Ctrl-H' action='{HighlightsDialog}'/><k key='Alt-Ctrl-I' action='{ImportDialog}'/><k key='Alt-L' action='{ToggleLinks}'/><k key='Alt-M' action='{ToggleMusic}'/><k key='Alt-I' action='{ToggleImages}'/><k key='Alt-S' action='{ToggleSounds}'/><k key='Alt-Ctrl-M' action='{MacrosDialog}'/><k key='Alt-Ctrl-S' action='{ChooseSkin}'/><k key='Alt-V' action='{VariablesDialog}'/><k key='Alt-0' action='{MacroSet}0'/><k key='Alt-1' action='{MacroSet}1'/><k key='Alt-2' action='{MacroSet}2'/><k key='Alt-3' action='{MacroSet}3'/><k key='Alt-4' action='{MacroSet}4'/><k key='Alt-5' action='{MacroSet}5'/><k key='Alt-6' action='{MacroSet}6'/><k key='Alt-7' action='{MacroSet}7'/><k key='Alt-8' action='{MacroSet}8'/><k key='Alt-9' action='{MacroSet}9'/><k key='Ctrl-F5' actio
n='{Restart}'/><k key='Ctrl-R' action='{Rest}'/><k key='Keypad +' action='look\r'/><k key='Keypad /' action='health\r'/><k key='Keypad *' action='exp\r'/><k key='Keypad -' action='info\r'/><k key='Keypad .' action='\xup\r'/><k key='Keypad 0' action='\xdown\r'/><k key='Keypad 1' action='\xsw\r'/><k key='Keypad 2' action='\xs\r'/><k key='Keypad 3' action='\xse\r'/><k key='Keypad 4' action='\xw\r'/><k key='Keypad 5' action='\xout\r'/><k key='Keypad 6' action='\xe\r'/><k key='Keypad 7' action='\xnw\r'/><k key='Keypad 8' action='\xn\r'/><k key='Keypad 9' action='\xne\r'/><k key='Page Up' action='{PageUp}'/><k key='Page Down' action='{PageDown}'/><k key='Shift-Page Up' action='{LineUp}'/><k key='Shift-Page Down' action='{LineDown}'/><k key='UP' action='{HistoryPrev}'/><k key='DOWN' action='{HistoryNext}'/><k key='Ctrl-Enter' action='{RepeatLast}'/><k key='Alt-Enter' action='{RepeatSecondToLast}'/><k key='Keypad Enter' action='{ReturnOrRepeatLast}'/><k key='Ctrl-Keypad Enter' action='{RepeatLast}'/><k key='Alt-Keypad Enter' action='{RepeatSecondToLast}'/><k key='Tab' action='{CycleWindows}'/><k key='Ctrl-Page Up' action='{BufferTop}'/><k key='Ctrl-Page Down' action='{BufferBottom}'/><k key='Ctrl-Home' action='{BufferTop}'/><k key='Ctrl-End' action='{BufferBottom}'/><k key='Shift-Tab' action='{CycleWindowsReverse}'/><k key='Ctrl-A' action='{SelectAll}'/><k key='Ctrl-C' action='{Copy}'/><k key='Ctrl-X' action='{Cut}'/><k key='Ctrl-V' action='{Pa
ste}'/><k key='Ctrl-Insert' action='{Copy}'/><k key='Shift-Insert' action='{Paste}'/><k key='Shift-Esc' action='{PauseScript}'/></keys><keys id='1' name='Macro set 1'></keys><keys id='2' name='Macro set 2'></keys><keys id='3' name='Macro set 3'></keys><keys id='4' name='Macro set 4'></keys><keys id='5' name='Macro set 5'></keys><keys id='6' name='Macro set 6'></keys><keys id='7' name='Macro set 7'></keys><keys id='8' name='Macro set 8'></keys><keys id='9' name='Macro set 9'></keys></macros><palette><i id='0' color='#FFFF90'/><i id='1' color='#FFD2A1'/><i id='2' color='#FF9099'/><i id='3' color='#FF6699'/><i id='4' color='#FF3399'/><i id='5' color='#FF00A1'/><i id='6' color='#FF0000'/><i id='7' color='#FF3300'/><i id='8' color='#FF6600'/><i id='9' color='#FF9000'/><i id='10' color='#FFD200'/><i id='11' color='#FFFF00'/><i id='12' color='#33FF08'/><i id='13' color='#39CC00'/><i id='14' color='#399900'/><i id='15' color='#296B00'/><i id='16' color='#293900'/><i id='17' color='#291808'/><i id='18' color='#08007B'/><i id='19' color='#333399'/><i id='20' color='#336699'/><i id='21' color='#2999A1'/><i id='22' color='#4AE3B9'/><i id='23' color='#33F390'/><i id='24' color='#FFFFDE'/><i id='25' color='#FFD6CE'/><i id='26' color='#FFA0E6'/><i id='27' color='#FF6BD2'/><i id='28' color='#E916B3'/><i id='29' color='#EA0ECC'/><i id='30' color='#E70000'/><i id='31' color='#AD0000'/><i id='32' color='#E65A29'/><i id='33' color='#F89439'/><i id='34' color='#E7BD18'/><i id='35' color='#FFF147'/><i id='36' color='#31E739'/><i id='37' color='#39CE43'/><i id='38' color='#298C31'/><i id='39' color='#316339'/><i id='40' color='#312931'/><i id='41' color='#291831'/><i id='42' color='#2108E7'/><i id='43' color='#3129CE'/><i id='44' color='#184AAD'/><i id='45' color='#319CCE'/><i id='46' color='#29D6CE'/><i id='47' color='#29F7CE'/><i id='48' color='#FFFFFF'/><i id='49' color='#FFCEFB'/><i id='50' color='#FF94F7'/><i id='51' color='#E67BF7'/><i id='52' color='#FB31FF'/><i id='53' color='#FF00FB'/><i id='54' color='#FF0063'/><i id='55' color='#A5186B'/><i id='56' color='#FF6B73'/><i id='57' color='#FFA077'/><i id='58' color='#E2CB6D'/><i id='59' color='#9CA510'/><i id='60' color='#00B529'/><i id='61' color='#008421'/><i id='62' color='#005218'/><i id='63' color='#104A39'/><i id='64' color='#292963'/><i id='65' color='#441477'/><i id='66' color='#0000FF'/><i id='67' color='#2108D6'/><i id='68' color='#3163F7'/><i id='69' color='#2994F7'/><i id='70' color='#29CEFF'/><i id='71' color='#65F9E9'/><i id='72' color='#FFEFFF'/><i id='73' color='#C698F7'/><i id='74' color='#A008D6'/><i id='75' color='#470062'/><i id='76' color='#390852'/><i id='77' color='#50185A'/><i id='78' color='#4A2142'/><i id='79' color='#4A1818'/><i id='80' color='#523131'/><i id='81' color='#7B3900'/><i id='82' color='#5A4A31'/><i id='83' color='#304000'/><i id='84' color='#292129'/><i id='85' color='#393939'/><i id='86' color='
#52525A'/><i id='87' color='#73736B'/><i id='88' color='#B5B5B5'/><i id='89' color='#000000'/><i id='90' color='#FFFFFF'/><i id='91' color='#FFFFFF'/><i id='92' color='#FFFFFF'/><i id='93' color='#FFFFFF'/><i id='94' color='#FFFFFF'/><i id='95' color='#FFFFFF'/><i id='96' color='#FFFFFF'/><i id='97' color='#FFFFFF'/><i id='98' color='#FFFFFF'/><i id='99' color='#FFFFFF'/><i id='100' color='#FFFFFF'/><i id='101' color='#FFFFFF'/><i id='102' color='#FFFFFF'/><i id='103' color='#FFFFFF'/><i id='104' color='#FFFFFF'/><i id='105' color='#FFFFFF'/><i id='106' color='#FFFFFF'/><i id='107' color='#FFFFFF'/><i id='108' color='#FFFFFF'/><i id='109' color='#FFFFFF'/></palette><stream><w id='sinv' vis='t' frame='panel' height='94' location='right' panel='Right' open='t'/><w id='cstow' vis='t' panel='Right' frame='panel' open='t' height='94'/><w id='sdebug' frame='float' vis='f'/><w id='smain' frame='float' width='auto' x='auto' height='auto' y='187' vis='t' ts="14931"/><w id='sroom' frame='float' width='auto' x='540' height='162' y='auto' vis='t' nosound='' noignore='' location='center'></w><w id='sSpells' vis='t' frame='panel' height='172' location='left' panel='Left' open='t'><font face='Verdana' size='10'/></w><w id='snews' frame='float' width='auto' x='368' height='281' y='93' vis='t'/><w id='scharsheet' frame='float' location='detach' detach='t'><detach width='640' height='441'/></w><w id='sspellfront' vis='f' frame='panel' height='80' locatio
n='left' panel='Left' open='t'><font face='Verdana' size='10'/></w></stream><cmdline fgcolor='skin' bgcolor='skin' barcolor='skin'/><strings></strings><names></names><ignores></ignores><vars></vars><scripts prefix="."></scripts><dialog><w id='combat' vis='t' frame='panel' location='right' panel='Right' open='t'/><w id='injuries' vis='t' frame='panel' location='right' panel='Right' open='t'/><w id='expr' vis='t' frame='panel' location='left' panel='Left' open='t'/><w id='mapViewMain' vis='t' panel='Right' frame='float' height='162' open='t' width='532' x='auto' y='auto' location='center'></w><w id='mapMaster' panel='Right' frame='panel' height='200' open='f' width='194' x='364' y='50' location='right' vis='t'/></dialog><builtin><w id='windows' frame='panel' height='227' panel='Left' open='t' location='left' ts="14931"/></builtin><panels><group id='Left' open='t'><builtin id='windows'/><dialog id='expr'/><stream id='sSpells'/><stream id='sspellfront'/></group><group id='Right' open='t'><dialog id='combat'/><dialog id='injuries'/><stream id='sinv'/><stream id='cstow'/></group></panels><toggles><s id="CommandInputMode" state="t"/></toggles><misc><m id='inputhelp' value='y'/><m id='2chathelp' value='y'/><m id='2cmdhelp' value='y'/></misc><app maximized='t'/><display></display><options><o id='autoHideStory' checked='0'/><o id='scanForUrls' checked='1'/><o id='tod' checked='1'/><o id='showLinks' checked='1'/><o id='localEcho' checked='1'/><o id='scrollBackSize' value='2000'/><o id='music' checked='0'/><o id='sound' checked='1'/><o id='images' checked='1'/><o id='colonThinkTo' checked='0'/></options></settings>

Invalid login key.  Please relogin to the web site.
hennii commented 7 years ago

Interesting! But there must be something valid in my key because it does knock me out of another client if I'm already logged in, and that doesn't happen until it tries to use the "invalid" key to log in (meaning I don't think its just the authentication process that knocks me out).

matoom commented 7 years ago

I was thinking .. i have a F2P account that i use for testing and as far as i can tell you should be able to use it to log in.

Login details as following:

user: TTEST
password: qqq12345

It's a lot to ask but can you try and compare the entry process from the auth log and see if you can notice any major differences aside from personal information.

It's important to note that the auth log contains sensitive data, so matter what you find in there don't post any password hashes or account names without obscuring the actual data first.

hennii commented 7 years ago

Sure! I'm getting invalid user/password though for that account.

matoom commented 7 years ago

Ok, sorry, it's qqq12345.

hennii commented 7 years ago

Your test account works for me!

I did notice something that could be the problem. In the auth log, there's a "C" command that contains the account name then the character name, followed by an "L" command that also has the account name. When I used your test account, the account name looks the same on both those lines:

C   1   1   0   0   W_TTEST_000 Charactername

> L W_TTEST_000 STORM

But with I try to login with my own account, it looks like this:

C   1   1   0   0   W_ACCNT-NAME_001       Charactername

> L W_ACCNT STORM

Notice how my account name has a hyphen? And then, on the "L" command, the hyphenated end is missing? Is that something? :)

hennii commented 7 years ago

Hmm, and then I created a new F2P character with a new account that does NOT have a hyphen, and I got a fun new error in the main window:

Please wait for connection to game server.

<playerID id='666999'/>

<settingsInfo  space not found crc='0' instance='DR'/>
matoom commented 7 years ago

Yes, the hyphen in the account name is definitely suspicious and i actually just fixed an error caused by hyphens in "new character" name. When you create a new character your default name they give you contains hyphens and that caused an error in a regular expression pattern.

The second issue you're seeing is also something i just fixed in the last release. This is caused when you have never been logged into stormfront with a new character. The first time login requires you to store default settings and i didn't have this part implemented before.

I have the new release up, could you just try this one as well?

https://github.com/matoom/frostbite/releases/tag/v1.6.6-beta

matoom commented 7 years ago

Yep, just confirmed.

https://github.com/matoom/frostbite/commit/fd7d9edc3eba4ce57c39ec28271f946fea436a9f#diff-5b91e9a863d4887f0fa4a75de5dda936

The regular expression patter that was previously used does not pick up hyphens.

image

hennii commented 7 years ago

Bingo! I'm able to log in with my hyphenated account name and also my new F2P account! Well done!

matoom commented 7 years ago

Ok, thanks, some of this stuff i'm just not able to figure out on my own.