From 1d3965a7c67156d705a16abb22aa999fd188808c Mon Sep 17 00:00:00 2001 From: celest Date: Sat, 8 Jan 2005 03:00:13 +0000 Subject: Added alive packet sending to SQL char and login git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/branches/stable@934 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/char_sql/char.c | 8 ++++++++ src/login_sql/login.c | 4 ++++ 2 files changed, 12 insertions(+) (limited to 'src') diff --git a/src/char_sql/char.c b/src/char_sql/char.c index 0eccfe537..d7f17515b 100644 --- a/src/char_sql/char.c +++ b/src/char_sql/char.c @@ -1556,6 +1556,14 @@ int parse_tologin(int fd) { RFIFOSKIP(fd,50); break; + // login-server alive packet + case 0x2718: + if (RFIFOREST(fd) < 2) + return 0; + // do whatever it's supposed to do here? + RFIFOSKIP(fd,2); + break; + /* case 0x2721: // gm reply. I don't want to support this function. printf("0x2721:GM reply\n"); { diff --git a/src/login_sql/login.c b/src/login_sql/login.c index d7f91a20a..25df5310d 100644 --- a/src/login_sql/login.c +++ b/src/login_sql/login.c @@ -629,6 +629,10 @@ int char_anti_freeze_system(int tid, unsigned int tick, int id, int data) { // printf("char_anti_freeze_system: server #%d '%s', flag: %d.\n", i, server[i].name, server_freezeflag[i]); if (server_freezeflag[i]-- < 1) {// Char-server anti-freeze system. Counter. 5 ok, 4...0 freezed session[server_fd[i]]->eof = 1; + } else { + // send alive packet to check connection + WFIFOW(server_fd[i],0) = 0x2718; + WFIFOSET(server_fd[i],2); } } } -- cgit v1.2.3-70-g09d2