浏览代码

- Updated Box of thunder to use "agi up" effect for 30 secs instead of NPC Agi Up for 20.
- Guild expulsion now will fail when the character to be kicked is in a guild castle (rather than checking for the character doing the expulsion)
- pk damage reduction settings now will take effect only on Player VS player damage.
- Fixed produce_db2.txt entries overwriting produce_db.txt ones.
- Fixed item-granted/plagiarized skills unlocking skill trees when only your real learned level should.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9902 54d463be-8e91-2dee-dedb-b68131a5f0ec

skotlex 18 年之前
父节点
当前提交
031cd5fb58
共有 2 个文件被更改,包括 15 次插入42 次删除
  1. 5 10
      src/login/login.c
  2. 10 32
      src/login_sql/login.c

+ 5 - 10
src/login/login.c

@@ -1317,7 +1317,7 @@ int mmo_auth(struct mmo_account* account, int fd) {
 			struct online_login_data* data = idb_get(online_db,auth_dat[i].account_id);
 			if (data && data->char_server > -1) {
 				//Request char servers to kick this account out. [Skotlex]
-				ShowWarning("User [%d] is already online - Rejected.\n",auth_dat[i].account_id);
+				ShowNotice("User [%d] is already online - Rejected.\n",auth_dat[i].account_id);
 				WBUFW(buf,0) = 0x2734;
 				WBUFL(buf,2) = auth_dat[i].account_id;
 				charif_sendallwos(-1, buf, 6);
@@ -3039,15 +3039,15 @@ int lan_subnetcheck(long *p) {
 			
 			sbn = (char *)&subnet[i].subnet;
 			msk = (char *)&subnet[i].mask;
-			
+/*			
 			ShowInfo("Subnet check [%u.%u.%u.%u]: Matches "CL_CYAN"%u.%u.%u.%u/%u.%u.%u.%u"CL_RESET"\n",
 				src[0], src[1], src[2], src[3], sbn[0], sbn[1], sbn[2], sbn[3], msk[0], msk[1], msk[2], msk[3]);
-			
+*/
 			return subnet[i].char_ip;
 		}
 	}
 	
-	ShowInfo("Subnet check [%u.%u.%u.%u]: "CL_CYAN"WAN"CL_RESET"\n", src[0], src[1], src[2], src[3]);
+//	ShowInfo("Subnet check [%u.%u.%u.%u]: "CL_CYAN"WAN"CL_RESET"\n", src[0], src[1], src[2], src[3]);
 	return 0;
 }
 
@@ -3247,12 +3247,7 @@ int parse_login(int fd) {
 					return 0;
 				}
 				ld = (struct login_session_data*)aCalloc(1, sizeof(struct login_session_data));
-                                session[fd]->session_data = ld;
-				if (!ld) {
-					ShowFatalError("login: Request for md5 key: memory allocation failure (malloc)!\n");
-					session[fd]->eof = 1;
-					return 0;
-				}
+				session[fd]->session_data = ld;
 				if (RFIFOW(fd,0) == 0x01db)
 					login_log("Sending request of the coding key (ip: %s)" RETCODE, ip);
 				else

+ 10 - 32
src/login_sql/login.c

@@ -392,9 +392,6 @@ int mmo_auth_sqldb_init(void) {
 
 	ShowStatus("Login server init....\n");
 
-	// memory initialize
-	ShowStatus("memory initialize....\n");
-
 	mysql_init(&mysql_handle);
 
 	// DB connection start
@@ -636,7 +633,6 @@ int mmo_auth( struct mmo_account* account , int fd){
 	// End DNS Blacklist check [Zido]
 
 	sprintf(ip, "%d.%d.%d.%d", sin_addr[0], sin_addr[1], sin_addr[2], sin_addr[3]);
-	//ShowInfo("auth start for %s...\n", ip);
 
 	//accountreg with _M/_F .. [Sirius]
 	len = strlen(account->userid) -2;
@@ -735,11 +731,11 @@ int mmo_auth( struct mmo_account* account , int fd){
 		} else {
 			jstrescapecpy(user_password, account->passwd);
 		}
-		//ShowInfo("account id ok encval:%d\n",account->passwdenc);
+
 #ifdef PASSWORDENC
 		if (account->passwdenc > 0) {
 			int j = account->passwdenc;
-			//ShowInfo("start md5calc..\n");
+
 			if (j > 2)
 				j = 1;
 			do {
@@ -749,18 +745,14 @@ int mmo_auth( struct mmo_account* account , int fd){
 					sprintf(md5str, "%s%s", sql_row[2], md5key);
 				} else
 					md5str[0] = 0;
-				//ShowDebug("j:%d mdstr:%s\n", j, md5str);
 				MD5_String2binary(md5str, md5bin);
 				encpasswdok = (memcmp(user_password, md5bin, 16) == 0);
 			} while (j < 2 && !encpasswdok && (j++) != account->passwdenc);
-			//printf("key[%s] md5 [%s] ", md5key, md5);
-			//ShowInfo("client [%s] accountpass [%s]\n", user_password, sql_row[2]);
-			//ShowInfo("end md5calc..\n");
 		}
 #endif
 		if ((strcmp(user_password, sql_row[2]) && !encpasswdok)) {
 			if (account->passwdenc == 0) {
-				ShowNotice("auth failed pass error %s %s %s" RETCODE, tmpstr, account->userid, user_password);
+				ShowInfo("auth failed pass error %s %s %s" RETCODE, tmpstr, account->userid, user_password);
 #ifdef PASSWORDENC
 			} else {
 				char logbuf[1024], *p = logbuf;
@@ -775,12 +767,11 @@ int mmo_auth( struct mmo_account* account , int fd){
 				for(j = 0; j < md5keylen; j++)
 					p += sprintf(p, "%02x", ((unsigned char *)md5key)[j]);
 				p += sprintf(p, "]" RETCODE);
-				ShowNotice("%s\n", p);
+				ShowInfo("%s\n", p);
 #endif
 			}
 			return 1;
 		}
-		//ShowInfo("auth ok %s %s" RETCODE, tmpstr, account->userid);
 	}
 
 /*
@@ -869,7 +860,7 @@ int mmo_auth( struct mmo_account* account , int fd){
 		unsigned char buf[8];
 		if (data && data->char_server > -1) {
 			//Request char servers to kick this account out. [Skotlex]
-			ShowWarning("User [%s] is already online - Rejected.\n",sql_row[1]);
+			ShowNotice("User [%s] is already online - Rejected.\n",sql_row[1]);
 			WBUFW(buf,0) = 0x2734;
 			WBUFL(buf,2) = atol(sql_row[0]);
 			charif_sendallwos(-1, buf, 6);
@@ -990,7 +981,6 @@ int parse_fromchar(int fd){
 					!auth_fifo[i].delflag)
 				{
 					auth_fifo[i].delflag = 1;
-					ShowDebug("auth -> %d\n", i);
 					break;
 				}
 			}
@@ -1462,15 +1452,15 @@ int lan_subnetcheck(long p) {
 
 			sbn = (unsigned char *)&subnet[i].subnet;
 			msk = (unsigned char *)&subnet[i].mask;
-
+/*
 			ShowInfo("Subnet check [%u.%u.%u.%u]: Matches "CL_CYAN"%u.%u.%u.%u/%u.%u.%u.%u"CL_RESET"\n",
 				src[0], src[1], src[2], src[3], sbn[0], sbn[1], sbn[2], sbn[3], msk[0], msk[1], msk[2], msk[3]);
-
+*/
 			return subnet[i].char_ip;
 		}
 	}
 
-	ShowInfo("Subnet check [%u.%u.%u.%u]: "CL_CYAN"WAN"CL_RESET"\n", src[0], src[1], src[2], src[3]);
+//	ShowInfo("Subnet check [%u.%u.%u.%u]: "CL_CYAN"WAN"CL_RESET"\n", src[0], src[1], src[2], src[3]);
 	return 0;
 }
 
@@ -1501,7 +1491,7 @@ int login_ip_ban_check(unsigned char *p, unsigned long ipl)
 	}
 		
 	// ip ban ok.
-	ShowWarning("packet from banned ip : %d.%d.%d.%d\n" RETCODE, p[0], p[1], p[2], p[3]);
+	ShowInfo("Packet from banned ip : %d.%d.%d.%d\n" RETCODE, p[0], p[1], p[2], p[3]);
 
 	if (log_login)
 	{
@@ -1548,7 +1538,6 @@ int parse_login(int fd) {
 	}
 
 	while(RFIFOREST(fd)>=2 && !session[fd]->eof){
-//		ShowDebug("parse_login : %d %d packet case=%x\n", fd, RFIFOREST(fd), RFIFOW(fd,0));
 
 		switch(RFIFOW(fd,0)){
 		case 0x200:		// New alive packet: structure: 0x200 <account.userid>.24B. used to verify if client is always alive.
@@ -1599,7 +1588,7 @@ int parse_login(int fd) {
 			memcpy(account.passwd,RFIFOP(fd, 30),NAME_LENGTH);
 			account.passwd[23] = '\0';
 
-			ShowInfo("client connection request %s from %d.%d.%d.%d\n", RFIFOP(fd, 6), p[0], p[1], p[2], p[3]);
+//			ShowDebug("client connection request %s from %d.%d.%d.%d\n", RFIFOP(fd, 6), p[0], p[1], p[2], p[3]);
 #ifdef PASSWORDENC
 			account.passwdenc= (RFIFOW(fd,0)!=0x01dd)?0:PASSWORDENC;
 #else
@@ -1860,8 +1849,6 @@ int parse_login(int fd) {
 			WFIFOW(fd,2)=4+md5keylen;
 			memcpy(WFIFOP(fd,4),md5key,md5keylen);
 			WFIFOSET(fd,WFIFOW(fd,2));
-
-			ShowDebug("Request Password key -%s\n",md5key);
 			RFIFOSKIP(fd,2);
 		}
 			break;
@@ -2363,23 +2350,17 @@ int do_init(int argc,char **argv){
 	sql_config_read(SQL_CONF_NAME);
 	login_lan_config_read((argc > 2) ? argv[2] : LAN_CONF_NAME);
 	//Generate Passworded Key.
-	ShowInfo("Initializing md5key...\n");
 	memset(md5key, 0, sizeof(md5key));
 	md5keylen=rand()%4+12;
 	for(i=0;i<md5keylen;i++)
 		md5key[i]=rand()%255+1;
-	ShowInfo("md5key setup complete\n");
 
 
-	ShowInfo("set FIFO Size\n");
 	for(i=0;i<AUTH_FIFO_SIZE;i++)
 		auth_fifo[i].delflag=1;
-	ShowInfo("set FIFO Size complete\n");
 
-	ShowInfo("set max servers\n");
 	for(i=0;i<MAX_SERVERS;i++)
 		server_fd[i]=-1;
-	ShowInfo("set max servers complete\n");
 	//server port open & binding
 
 	// Online user database init
@@ -2389,9 +2370,7 @@ int do_init(int argc,char **argv){
 	login_fd = make_listen_bind(bind_ip?bind_ip:INADDR_ANY,login_port);
 
 	//Auth start
-	ShowInfo("Running mmo_auth_sqldb_init()\n");
 	mmo_auth_sqldb_init();
-	ShowInfo("finished mmo_auth_sqldb_init()\n");
 
 	if(login_gm_read)
 		//Read account information.
@@ -2401,7 +2380,6 @@ int do_init(int argc,char **argv){
 	set_defaultparse(parse_login);
 
 	// ban deleter timer - 1 minute term
-	ShowStatus("add interval tic (ip_ban_check)....\n");
 	add_timer_func_list(ip_ban_check,"ip_ban_check");
 	add_timer_interval(gettick()+10, ip_ban_check,0,0,60*1000);