⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lssproto_serv.c

📁 石器时代8.0服务端完整源代码。可以直接编译
💻 C
📖 第 1 页 / 共 5 页
字号:
		lssproto_CharDelete_recv(fd, charname);		util_DiscardMessage();		return 0;	}	if (func==LSSPROTO_CHARLOGIN_RECV) {		int checksum=0, checksumrecv;		char charname[65500];		checksum += util_destring(2, charname);		util_deint(3, &checksumrecv);		if (checksum!=checksumrecv) {			util_DiscardMessage();			logHack(fd, HACK_CHECKSUMERROR);			DME(); return -1;		}		lssproto_CharLogin_recv(fd, charname);		util_DiscardMessage();		return 0;	}	if (func==LSSPROTO_CHARLIST_RECV) {		int checksum=0, checksumrecv;#ifdef _PKSEVER_VER		int star = 0;		util_deint(2, &checksumrecv);		util_deint(3, &star);#else		util_deint(2, &checksumrecv);#endif		if (checksum!=checksumrecv) {			util_DiscardMessage();			logHack(fd, HACK_CHECKSUMERROR);			DME(); return -1;		}//#ifdef _PKSEVER_VER//		lssproto_CharList_recv( fd, star);//#else		lssproto_CharList_recv( fd);//#endif		util_DiscardMessage();		return 0;	}	if (func==LSSPROTO_CHARLOGOUT_RECV) {		int checksum=0, checksumrecv;		int Flg=1;#ifdef _CHAR_NEWLOGOUT		checksum += util_deint(2, &Flg);		util_deint(3, &checksumrecv);#else		util_deint(2, &checksumrecv);#endif		if (checksum!=checksumrecv) {			util_DiscardMessage();			logHack(fd, HACK_CHECKSUMERROR);			DME(); return -1;		}		lssproto_CharLogout_recv(fd, Flg);		util_DiscardMessage();		return 0;	}	if (func==LSSPROTO_PROCGET_RECV) {		int checksum=0, checksumrecv;				strcpy( PersonalKey, _DEFAULT_PKEY);		util_deint(2, &checksumrecv);		if (checksum!=checksumrecv) {			util_DiscardMessage();			logHack(fd, HACK_CHECKSUMERROR);			DME(); return -1;		}		lssproto_ProcGet_recv(fd);		util_DiscardMessage();		return 0;	}	if (func==LSSPROTO_PLAYERNUMGET_RECV) {		int checksum=0, checksumrecv;		util_deint(2, &checksumrecv);		if (checksum!=checksumrecv) {			util_DiscardMessage();			logHack(fd, HACK_CHECKSUMERROR);			DME(); return -1;		}		lssproto_PlayerNumGet_recv(fd);		util_DiscardMessage();		return 0;	}	if (func==LSSPROTO_ECHO_RECV) {		int checksum=0, checksumrecv;		char test[65500];		checksum += util_destring(2, test);		util_deint(3, &checksumrecv);		if (checksum!=checksumrecv) {			util_DiscardMessage();			logHack(fd, HACK_CHECKSUMERROR);			DME(); return -1;		}		lssproto_Echo_recv(fd, test);		util_DiscardMessage();		return 0;	}	if (func==LSSPROTO_SHUTDOWN_RECV) {		int checksum=0, checksumrecv;		char passwd[65500];		int min;		checksum += util_destring(2, passwd);		checksum += util_deint(3, &min);		util_deint(4, &checksumrecv);		if (checksum!=checksumrecv) {			util_DiscardMessage();			logHack(fd, HACK_CHECKSUMERROR);			DME(); return -1;		}		lssproto_Shutdown_recv(fd, passwd, min);		util_DiscardMessage();		return 0;	}	if (func==LSSPROTO_TD_RECV) {		int checksum=0, checksumrecv;		char message[65500];		checksum += util_destring(2, message);		util_deint(3, &checksumrecv);		if (checksum!=checksumrecv) {			util_DiscardMessage();			logHack(fd, HACK_CHECKSUMERROR);			DME(); return -1;		}		lssproto_TD_recv(fd, message);		util_DiscardMessage();		return 0;	}	if (func==LSSPROTO_FM_RECV) {		int checksum=0, checksumrecv;		char message[65500];		checksum += util_destring(2, message);		util_deint(3, &checksumrecv);		if (checksum!=checksumrecv) {			util_DiscardMessage();			logHack(fd, HACK_CHECKSUMERROR);			DME(); return -1;		}		lssproto_FM_recv(fd, message);		util_DiscardMessage();		return 0;	}    	if (func==LSSPROTO_PETST_RECV) {		int checksum=0, checksumrecv;		int nPet;		int sPet;				checksum += util_deint(2, &nPet);		checksum += util_deint(3, &sPet);				util_deint(4, &checksumrecv);		if (checksum!=checksumrecv) {			util_DiscardMessage();			logHack(fd, HACK_CHECKSUMERROR);			DME(); return -1;		}				lssproto_PETST_recv(fd, nPet, sPet);				util_DiscardMessage();		return 0;	}    	// _BLACK_MARKET	if (func==LSSPROTO_BM_RECV) {		int checksum=0, checksumrecv;		int iindex;				checksum += util_deint(2, &iindex);				util_deint(3, &checksumrecv);		if (checksum!=checksumrecv) {			util_DiscardMessage();			logHack(fd, HACK_CHECKSUMERROR);			DME(); return -1;		}				lssproto_BM_recv(fd, iindex);				util_DiscardMessage();		return 0;	}#ifdef _FIX_DEL_MAP           // WON ADD 玩家抽地图送监狱	if (func==LSSPROTO_DM_RECV) {	    char buffer[2];	    buffer[0] = '\0';		lssproto_DM_recv( fd );		util_DiscardMessage();		return 0;	}#endif#ifdef _CHECK_GAMESPEED	if (func==LSSPROTO_CS_RECV) {	    char buffer[2];	    buffer[0] = '\0';		lssproto_CS_recv( fd );		util_DiscardMessage();		return 0;	}#endif#ifdef _TEAM_KICKPARTY	if ( func == LSSPROTO_KTEAM_RECV ) {		int checksum = 0, checksumrecv;		int sindex;		checksum += util_deint( 2, &sindex);		util_deint( 3, &checksumrecv);		if(checksum!=checksumrecv){			util_DiscardMessage();			logHack( fd, HACK_CHECKSUMERROR);			DME(); return -1;		}		lssproto_KTEAM_recv( fd, sindex);		util_DiscardMessage();		return 0;	}#endif#ifdef _MIND_ICON	if(func==LSSPROTO_MA_RECV){		int checksum = 0, checksumrecv;		int nMind;		int x, y;				checksum += util_deint( 2, &nMind);		checksum += util_deint( 3, &x);		checksum += util_deint( 4, &y);		util_deint( 5, &checksumrecv);		if(checksum!=checksumrecv){			util_DiscardMessage();			logHack( fd, HACK_CHECKSUMERROR);			DME(); return -1;		}				lssproto_MA_recv(fd, x, y, nMind);		util_DiscardMessage();		return 0;	}#endif#ifdef _CHATROOMPROTOCOL			// (不可开) Syu ADD 聊天室频道	if (func==LSSPROTO_CHATROOM_RECV) {		int checksum=0, checksumrecv;		char test[65500];		checksum += util_destring(2, test);		util_deint(3, &checksumrecv);		if (checksum!=checksumrecv) {			util_DiscardMessage();			logHack(fd, HACK_CHECKSUMERROR);			DME(); return -1;		}		lssproto_CHATROOM_recv(fd, test);		util_DiscardMessage();		return 0;	}#endif#ifdef _NEWREQUESTPROTOCOL			// (不可开) Syu ADD 新增Protocol要求细项	if ( func==LSSPROTO_RESIST_RECV ) {	    char buffer[2];	    buffer[0] = '\0';		lssproto_RESIST_recv( fd );		util_DiscardMessage();		return 0;	}#endif#ifdef _OUTOFBATTLESKILL			// (不可开) Syu ADD 非战斗时技能Protocol	if(func==LSSPROTO_BATTLESKILL_RECV){		int checksum = 0, checksumrecv;		int iNum;				checksum += util_deint( 2, &iNum);		util_deint( 3, &checksumrecv);		if(checksum!=checksumrecv){			util_DiscardMessage();			logHack( fd, HACK_CHECKSUMERROR);			DME(); return -1;		}				lssproto_BATTLESKILL_recv(fd, iNum);		util_DiscardMessage();		return 0;	}#endif#ifdef _STREET_VENDOR	if(func == LSSPROTO_STREET_VENDOR_RECV){		int checksum = 0,checksumrecv;		char message[65500];		checksum += util_destring(2,message);		util_deint(3,&checksumrecv);		if(checksum != checksumrecv){			util_DiscardMessage();			logHack(fd,HACK_CHECKSUMERROR);			DME(); return -1;		}		lssproto_STREET_VENDOR_recv(fd,message);		util_DiscardMessage();		return 0;	}#endif#ifdef _JOBDAILY	if(func == LSSPROTO_JOBDAILY_RECV){		int checksum = 0,checksumrecv;		char buffer[16384];		buffer[0] = '\0';		memset(buffer,0,16384); //kkkkkkkkk		checksum += util_destring(2,buffer);		util_deint(3,&checksumrecv);		if(checksum != checksumrecv){			util_DiscardMessage();			logHack(fd,HACK_CHECKSUMERROR);			DME(); return -1;		}		print("\njobdaily:%s ",buffer);		lssproto_JOBDAILY_recv(fd,buffer);		util_DiscardMessage();		return 0;	}#endif#ifdef _TEACHER_SYSTEM	if(func == LSSPROTO_TEACHER_SYSTEM_RECV){		int checksum = 0,checksumrecv;		char message[65500];		checksum += util_destring(2,message);		util_deint(3,&checksumrecv);		if(checksum != checksumrecv){			util_DiscardMessage();			logHack(fd,HACK_CHECKSUMERROR);			DME(); return -1;		}		lssproto_TEACHER_SYSTEM_recv(fd,message);		util_DiscardMessage();		return 0;	}#endif#ifdef _ADD_STATUS_2	if(func == LSSPROTO_S2_RECV){		return 0;	}#endif	util_DiscardMessage();	logHack(fd,HACK_NOTDISPATCHED);	DME(); return -1;}/*   servertoclient XYD( int x, int y, int dir ); 	潜卞爵  蔽    卞皿伊奶乩□及匏  毛  譬帮允月凶户卞银丹[*/void lssproto_XYD_send(int fd,int x,int y,int dir){	char buffer[65500];	int checksum=0;	strcpy(buffer,"");	CONNECT_getCdkey( fd, PersonalKey, 4096);	strcat(PersonalKey, _RUNNING_KEY);	checksum += util_mkint(buffer, x);	checksum += util_mkint(buffer, y);	checksum += util_mkint(buffer, dir);	util_mkint(buffer, checksum);	util_SendMesg(fd, LSSPROTO_XYD_SEND, buffer);}void lssproto_EV_send(int fd,int seqno,int result){	char buffer[65500];	int checksum=0;	strcpy(buffer,"");	CONNECT_getCdkey( fd, PersonalKey, 4096);	strcat(PersonalKey, _RUNNING_KEY);	checksum += util_mkint(buffer, seqno);	checksum += util_mkint(buffer, result);	util_mkint(buffer, checksum);	util_SendMesg(fd, LSSPROTO_EV_SEND, buffer);}void lssproto_EN_send(int fd,int result,int field){	char buffer[65500];	int checksum=0;	//print(" EN_send ");	strcpy(buffer,"");	CONNECT_getCdkey( fd, PersonalKey, 4096);	strcat(PersonalKey, _RUNNING_KEY);	checksum += util_mkint(buffer, result);	checksum += util_mkint(buffer, field);	util_mkint(buffer, checksum);	util_SendMesg(fd, LSSPROTO_EN_SEND, buffer);}void lssproto_RS_send(int fd,char* data){	char buffer[65500];	int checksum=0;	strcpy(buffer,"");	CONNECT_getCdkey( fd, PersonalKey, 4096);	strcat(PersonalKey, _RUNNING_KEY);	checksum += util_mkstring(buffer, data);	util_mkint(buffer, checksum);	util_SendMesg(fd, LSSPROTO_RS_SEND, buffer);}void lssproto_RD_send(int fd,char* data){	char buffer[65500];	int checksum=0;	strcpy(buffer,"");	CONNECT_getCdkey( fd, PersonalKey, 4096);	strcat(PersonalKey, _RUNNING_KEY);	checksum += util_mkstring(buffer, data);	util_mkint(buffer, checksum);	util_SendMesg(fd, LSSPROTO_RD_SEND, buffer);}void lssproto_B_send(int fd,char* command){	char buffer[65500];	int checksum=0;	strcpy(buffer,"");	CONNECT_getCdkey( fd, PersonalKey, 4096);	strcat(PersonalKey, _RUNNING_KEY);	checksum += util_mkstring(buffer, command);	util_mkint(buffer, checksum);	util_SendMesg(fd, LSSPROTO_B_SEND, buffer);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -