diff options
author | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-07-10 19:41:25 +0000 |
---|---|---|
committer | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-07-10 19:41:25 +0000 |
commit | 85bdc1dc6c13036984310f39428c82968ecffba7 (patch) | |
tree | 88e0e06f9b7bfa6bcd30b75c6e8f5335b26267c1 /src/map/clif.c | |
parent | 1a26dbddc283e94bdfb684a71b0d9db471e18b3b (diff) | |
download | hercules-85bdc1dc6c13036984310f39428c82968ecffba7.tar.gz hercules-85bdc1dc6c13036984310f39428c82968ecffba7.tar.bz2 hercules-85bdc1dc6c13036984310f39428c82968ecffba7.tar.xz hercules-85bdc1dc6c13036984310f39428c82968ecffba7.zip |
- 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
Diffstat (limited to 'src/map/clif.c')
-rw-r--r-- | src/map/clif.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/map/clif.c b/src/map/clif.c index 477180fc2..59b6df8e1 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -11390,9 +11390,9 @@ int clif_parse(int fd) { }
sd = (struct map_session_data*)session[fd]->session_data;
-
- // 接続が切れてるので後始末
- if (!chrif_isconnect() && kick_on_disconnect)
+/* This behaviour has been deprecated due to actually causing trouble instead
+ * of helping against exploits ~.~ [Skotlex]
+ if (!chrif_isconnect())
{
ShowInfo("Closing session #%d (Not connected to Char server)\n", fd);
if (sd && sd->state.auth)
@@ -11400,6 +11400,7 @@ int clif_parse(int fd) { do_close(fd);
return 0;
} else
+ */
if (session[fd]->eof) {
if (sd && sd->state.autotrade) {
//Disassociate character from the socket connection.
|