From 85bdc1dc6c13036984310f39428c82968ecffba7 Mon Sep 17 00:00:00 2001 From: skotlex Date: Mon, 10 Jul 2006 19:41:25 +0000 Subject: - Added login-char packet 0x2737. Sets all characters offline (login-server side). - Cleaned up char server "set all offline" implementation to remove only characters from the map-server from which the packet was invoked. It will also now correctly kick/set-character offline from the map-server if they are connected. - Cleaned up the char-sql reconnect code. It no longer sets everyone to offline. - Removed setting "kick_on_disconnect", servers will no longer kick characters out when there's a disconnection. Instead, it'll use the most logical approach: Set characters into a "lost" state when there's a disconnection, on reconnect, resent the list of online-characters, do a sync, and let the difference be characters to be removed. Also, the map-server won't release character data until it's saved and the ack returns from the char-server to prevent data loss (all this data is resent on reconnect for saving anyway). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7600 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/login/login.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/login/login.c') diff --git a/src/login/login.c b/src/login/login.c index cf66d10ed..b15ab5f1e 100644 --- a/src/login/login.c +++ b/src/login/login.c @@ -1952,7 +1952,6 @@ int parse_fromchar(int fd) { WFIFOSET(fd,WFIFOW(fd,2)); } break; - case 0x2736: // WAN IP update from char-server if (RFIFOREST(fd) < 6) return 0; @@ -1963,6 +1962,12 @@ int parse_fromchar(int fd) { RFIFOSKIP(fd,6); break; + case 0x2737: //Request to set all offline. + ShowInfo("Setting accounts from char-server %d offline.\n", id); + online_db->foreach(online_db,online_db_setoffline,id); + RFIFOSKIP(fd,2); + break; + case 0x3000: //change sex for chrif_changesex() if (RFIFOREST(fd) < 4 || RFIFOREST(fd) < RFIFOW(fd,2)) return 0; -- cgit v1.2.3-60-g2f50