summaryrefslogtreecommitdiff
path: root/src/login_sql
diff options
context:
space:
mode:
authorshinomori <shinomori@54d463be-8e91-2dee-dedb-b68131a5f0ec>2005-04-03 15:53:04 +0000
committershinomori <shinomori@54d463be-8e91-2dee-dedb-b68131a5f0ec>2005-04-03 15:53:04 +0000
commit74362c7e51463fdc5008ea0ba9ebfb56b2e0994a (patch)
tree0027e5d34aa90fcf04a7a77111f2be4cc8ef4a18 /src/login_sql
parent922830421a2ac8c3ffa21fa64479801207a0bde0 (diff)
downloadhercules-74362c7e51463fdc5008ea0ba9ebfb56b2e0994a.tar.gz
hercules-74362c7e51463fdc5008ea0ba9ebfb56b2e0994a.tar.bz2
hercules-74362c7e51463fdc5008ea0ba9ebfb56b2e0994a.tar.xz
hercules-74362c7e51463fdc5008ea0ba9ebfb56b2e0994a.zip
integrating anti freeze system to server status update, should cure dropping server connections [Shinomori]
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/branches/stable@1389 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/login_sql')
-rw-r--r--src/login_sql/login.c20
1 files changed, 14 insertions, 6 deletions
diff --git a/src/login_sql/login.c b/src/login_sql/login.c
index 3e2c66e53..58432d037 100644
--- a/src/login_sql/login.c
+++ b/src/login_sql/login.c
@@ -789,16 +789,24 @@ int parse_fromchar(int fd){
return 0;
// how many users on world? (update)
if (server[id].users != RFIFOL(fd,2))
+ {
printf("set users %s : %d\n", server[id].name, RFIFOL(fd,2));
- server[id].users = RFIFOL(fd,2);
+
+ server[id].users = RFIFOL(fd,2);
+ sprintf(tmpsql,"UPDATE `sstatus` SET `user` = '%d' WHERE `index` = '%d'", server[id].users, id);
+ // query
+ if (mysql_query(&mysql_handle, tmpsql)) {
+ printf("DB server Error - %s\n", mysql_error(&mysql_handle));
+ }
+ }
+
if(anti_freeze_enable)
server_freezeflag[id] = 5; // Char anti-freeze system. Counter. 5 ok, 4...0 freezed
- sprintf(tmpsql,"UPDATE `sstatus` SET `user` = '%d' WHERE `index` = '%d'", server[id].users, id);
- // query
- if (mysql_query(&mysql_handle, tmpsql)) {
- printf("DB server Error - %s\n", mysql_error(&mysql_handle));
- }
+ // send some answer
+ WFIFOW(fd,0) = 0x2718;
+ WFIFOSET(fd,2);
+
RFIFOSKIP(fd,6);
break;