Since we firstly get char_login packet, and only then loginPinCode_request, we had to set a pause for the logging in proccess, releasing it after the loginPinCode_reply is sent. Otherwise, we'd get disconnected, even with correct PIN code.
Today, I've noticed that, upon entering a wrong PIN code on select char screen, the disconnect is almost instant, leaving us with no time left to even input a new PIN code. (Actually, we may get disconnected even BEFORE typing the PIN code, but due to the query, we'll only get the DC'd message after inputing the PIN)
So, I followed the "Timeout on Character Select Server" message and ended up on DirectConnection.pm. There, I found out that lines 565 to 572 cause us to disconnect. I thought it was a good idea to remove that timeout for bRO, due to our "unique" log in action, like this:
old
Code: Select all
} elsif (timeOut($timeout{'charlogin'}) && $config{'char'} ne "") {
Code: Select all
} elsif (timeOut($timeout{'charlogin'}) && $config{'char'} ne "" && $config{'master') !~ /bRO/) {
But since this is a global file, I thought of asking for better ideas before changing it.
Also, since our charBlockSize changed from 116 to 124, what should we do? Create a new 'return' for 124 size, or is it ok to leave it like this? (works just fine)
Code: Select all
return 'a4 V9 v V2 v14 Z24 C6 v2 x4' if $_ == 116 || 124; # TODO: (missing 2 last bytes)