Commit cab60cc7 authored by nanahira's avatar nanahira

fix instant disconnect after reconnect

parent 453404ee
......@@ -655,8 +655,8 @@ CLIENT_heartbeat_unregister = (client) ->
#log.info(2, client.name)
return true
CLIENT_heartbeat_register = (client, send, extend_time) ->
if !settings.modules.heartbeat_detection.enabled or client.closed or client.is_post_watcher or client.pre_reconnecting or client.pos > 3 or client.confirming_cards
CLIENT_heartbeat_register = (client, send) ->
if !settings.modules.heartbeat_detection.enabled or client.closed or client.is_post_watcher or client.pre_reconnecting or client.reconnecting or client.pos > 3 or client.confirming_cards
return false
if client.heartbeat_timeout
CLIENT_heartbeat_unregister(client)
......@@ -670,7 +670,7 @@ CLIENT_heartbeat_register = (client, send, extend_time) ->
CLIENT_heartbeat_unregister(client)
client.destroy() unless client.closed or client.heartbeat_responsed
return
, settings.modules.heartbeat_detection.wait_time * (if extend_time then 1.5 else 1))
, settings.modules.heartbeat_detection.wait_time)
#log.info(1, client.name)
return true
......@@ -2548,8 +2548,7 @@ ygopro.stoc_follow 'TIME_LIMIT', true, (buffer, info, client, server)->
cur_players[1] = cur_players[1] - 2
check = client.pos == cur_players[info.player]
if check
extend_time = settings.modules.reconnect.enabled and client.reconnecting
CLIENT_heartbeat_register(client, false, extend_time)
CLIENT_heartbeat_register(client, false)
return false
ygopro.ctos_follow 'TIME_CONFIRM', false, (buffer, info, client, server)->
......
......@@ -839,8 +839,8 @@
return true;
};
CLIENT_heartbeat_register = function(client, send, extend_time) {
if (!settings.modules.heartbeat_detection.enabled || client.closed || client.is_post_watcher || client.pre_reconnecting || client.pos > 3 || client.confirming_cards) {
CLIENT_heartbeat_register = function(client, send) {
if (!settings.modules.heartbeat_detection.enabled || client.closed || client.is_post_watcher || client.pre_reconnecting || client.reconnecting || client.pos > 3 || client.confirming_cards) {
return false;
}
if (client.heartbeat_timeout) {
......@@ -858,7 +858,7 @@
if (!(client.closed || client.heartbeat_responsed)) {
client.destroy();
}
}, settings.modules.heartbeat_detection.wait_time * (extend_time ? 1.5 : 1));
}, settings.modules.heartbeat_detection.wait_time);
return true;
};
......@@ -3148,7 +3148,7 @@
});
ygopro.stoc_follow('TIME_LIMIT', true, function(buffer, info, client, server) {
var check, cur_players, extend_time, room;
var check, cur_players, room;
room = ROOM_all[client.rid];
if (!room) {
return;
......@@ -3193,8 +3193,7 @@
check = client.pos === cur_players[info.player];
}
if (check) {
extend_time = settings.modules.reconnect.enabled && client.reconnecting;
CLIENT_heartbeat_register(client, false, extend_time);
CLIENT_heartbeat_register(client, false);
}
return false;
});
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment