DirectConnection.pm, wait timeout for map login is zero

Wrote new code? Fixed a bug? Want to discuss technical stuff? Feel free to post it here.

Moderator: Moderators

Nobbi128
Noob
Noob
Posts: 4
Joined: 14 Feb 2009, 14:15
Noob?: No

DirectConnection.pm, wait timeout for map login is zero

#1 Post by Nobbi128 »

Hi,
there seems to be a small bug in 'DirectConnection.pm' in latest svn. I think,
that after the map server has been connected, the wait timeout for the first data
to arrive from it is 0.

I noticed that when running a local 'eAthena' server, my bots most of the time
got a timeout when connecting to the map server.

The problem disappeared, when i put a message right after the '$messageSender->sendMapLogin'
call (see below). I think something like '$timeout{maplogin}{timeout} = 20;' is missing.

Btw., where the hell is this 'timeOut' function implemented, is it in 'start.exe' ? Because i can't find
it in the perl sources, and i have no dll's in my openkore folder.

.....
$messageSender->sendMapLogin($accountID, $charID, $sessionID, $accountSex2);
message(T("NORBERT #3\n"), "connection"); <--------------- this made the problem go away
$timeout_ex{master}{time} = time;
$timeout_ex{master}{timeout} = $timeout{reconnect}{timeout};
$timeout{maplogin}{time} = time;

} elsif ($conState == 4 && timeOut($timeout{maplogin})) {
message T("Timeout on Map Server, connecting to Account Server...\n"), "connection";
$timeout_ex{master}{timeout} = $timeout{reconnect}{timeout};
$self->serverDisconnect;
$self->setState(Network::NOT_CONNECTED);
undef $conState_tries;
.....
sli
Perl Monk
Perl Monk
Posts: 810
Joined: 04 Apr 2008, 17:26
Noob?: No

Re: DirectConnection.pm, wait timeout for map login is zero

#2 Post by sli »

fastutils.xs

Code: Select all

int
timeOut(r_time, compare_time = NULL)
	SV *r_time
	SV *compare_time
	PREINIT:
		NV current_time, v_time, v_timeout;
	CODE:
		if (compare_time) {
		...snip...
And in my timeouts.txt

Code: Select all

maplogin 12
I've never seen or had this problem at all, and I bot three accounts on an eAthena server 24/7.
cs : ee : realist
Nobbi128
Noob
Noob
Posts: 4
Joined: 14 Feb 2009, 14:15
Noob?: No

Re: DirectConnection.pm, wait timeout for map login is zero

#3 Post by Nobbi128 »

I don't understand this problem either :(

If i put in 'checkConnection' a small delay after '$messageSender->sendMapLogin',
it always works, i mean, the hook 'map_loaded' is called , and i am in game.

If i don't, most times, the maplogin timeout elapses without 'map_loaded'
being called.

Maybe something gets spoiled if 'checkConnection' returns, before
the server has put the map on the socket.

I am using latest eathena & openkore from svn, my server setting is

[Localhost]
ip 127.0.0.1
port 6900
version 20
charBlockSize 108
master_version 14
serverEncoding Western
serverType 8_4

and this works fine (if i get connected :()
kali
OpenKore Monk
OpenKore Monk
Posts: 457
Joined: 04 Apr 2008, 10:10

Re: DirectConnection.pm, wait timeout for map login is zero

#4 Post by kali »

It could be that you are connecting to localhost, and you are connecting *too* fast for eathena.
Got your topic trashed by a mod?

Trashing topics is one click, and moving a topic to its proper forum is a lot harder. You expend the least effort in deciding where to post, mods expend the least effort by trashing.

Have a nice day.