亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? lssproto_serv.c

?? 石器時代8.0服務端完整源代碼??梢灾苯泳幾g
?? C
?? 第 1 頁 / 共 5 頁
字號:
#include "version.h"#include "autil.h"#include "lssproto_serv.h"#include "common.h"	// for StoneAge#include "log.h"	// for StoneAge#include "char.h"#include <stdio.h>#include <time.h>#include <net.h>void lssproto_SetServerLogFiles( char *r , char *w ){	lssproto_strcpysafe( lssproto_writelogfilename , w , sizeof(lssproto_writelogfilename ));	lssproto_strcpysafe( lssproto_readlogfilename , r , sizeof(lssproto_readlogfilename ));}int lssproto_InitServer(	int (*writefunc)(int,char*,int) ,	int worksiz ){	int i;	if( (void*)writefunc == NULL){lssproto.write_func = lssproto_default_write_wrap;} else {lssproto.write_func = writefunc;}	lssproto_AllocateCommonWork(worksiz);	lssproto_stringwrapper = (char**)calloc( 1,sizeof(char*) * MAXLSRPCARGS);	if(lssproto_stringwrapper ==NULL)return -1;	memset( lssproto_stringwrapper , 0, sizeof(char*)*MAXLSRPCARGS);	for(i=0;i<MAXLSRPCARGS;i++){		lssproto_stringwrapper[i] = (char*)calloc( 1, worksiz );		if( lssproto_stringwrapper[i] == NULL){			for(i=0;i<MAXLSRPCARGS;i++){free( lssproto_stringwrapper[i]);return -1;}		}	}	lssproto.ret_work = (char*)calloc( 1,sizeof( worksiz ));	if( lssproto.ret_work == NULL ){ return -1; }	return 0;}void lssproto_CleanupServer( void ){	int i;	free( lssproto.work );	free( lssproto.arraywork);	free( lssproto.escapework );	free( lssproto.val_str);	free( lssproto.token_list );	for(i=0;i<MAXLSRPCARGS;i++){free( lssproto_stringwrapper[i]);}	free( lssproto_stringwrapper );	free( lssproto.ret_work );}#define DME() print("<DME(%d)%d:%d>",fd,__LINE__,func)int lssproto_ServerDispatchMessage(int fd, char *encoded){	int func,fieldcount;	char raw[65500];	CONNECT_getCdkey( fd, PersonalKey, 4096);	strcat(PersonalKey, _RUNNING_KEY);		util_DecodeMessage(raw,encoded);	if( !util_SplitMessage(raw,SEPARATOR) ){		print("\nDME1:package=%s\n",raw);		DME(); return -1;	}	if (!util_GetFunctionFromSlice(&func, &fieldcount)) {		logHack(fd,HACK_GETFUNCFAIL);		DME(); return -1;	}		if (func==LSSPROTO_W_RECV) {		int checksum=0, checksumrecv;		int x;		int y;		char direction[65500];		checksum += util_deint(2, &x);		checksum += util_deint(3, &y);		checksum += util_destring(4, direction);		util_deint(5, &checksumrecv);		if (checksum!=checksumrecv) {			util_DiscardMessage();			logHack(fd, HACK_CHECKSUMERROR);			DME(); return -1;		}		lssproto_W_recv(fd, x, y, direction);		util_DiscardMessage();		return 0;	}	if (func==LSSPROTO_W2_RECV) {		int checksum=0, checksumrecv;		int x;		int y;		char direction[65500];		checksum += util_deint(2, &x);		checksum += util_deint(3, &y);		checksum += util_destring(4, direction);		util_deint(5, &checksumrecv);		if (checksum!=checksumrecv) {			util_DiscardMessage();			logHack(fd, HACK_CHECKSUMERROR);			DME(); return -1;		}		lssproto_W2_recv(fd, x, y, direction);		util_DiscardMessage();		return 0;	}	if (func==LSSPROTO_EV_RECV) {		int checksum=0, checksumrecv;		int event;		int seqno;		int x;		int y;		int dir;		checksum += util_deint(2, &event);		checksum += util_deint(3, &seqno);		checksum += util_deint(4, &x);		checksum += util_deint(5, &y);		checksum += util_deint(6, &dir);		util_deint(7, &checksumrecv);		if (checksum!=checksumrecv) {			util_DiscardMessage();			logHack(fd, HACK_CHECKSUMERROR);			DME(); return -1;		}		lssproto_EV_recv(fd, event, seqno, x, y, dir);		util_DiscardMessage();		return 0;	}	if (func==LSSPROTO_DU_RECV) {		int checksum=0, checksumrecv;		int x;		int y;		checksum += util_deint(2, &x);		checksum += util_deint(3, &y);		util_deint(4, &checksumrecv);		if (checksum!=checksumrecv) {			util_DiscardMessage();			logHack(fd, HACK_CHECKSUMERROR);			DME(); return -1;		}		lssproto_DU_recv(fd, x, y);		util_DiscardMessage();		return 0;	}	if (func==LSSPROTO_EO_RECV) {		int checksum=0, checksumrecv;		int dummy;		checksum += util_deint(2, &dummy);		util_deint(3, &checksumrecv);		if (checksum!=checksumrecv) {			util_DiscardMessage();			logHack(fd, HACK_CHECKSUMERROR);			DME(); return -1;		}		lssproto_EO_recv(fd, dummy);		util_DiscardMessage();		return 0;	}     	if (func==LSSPROTO_BU_RECV) {		int checksum=0, checksumrecv;		int dummy;		checksum += util_deint(2, &dummy);		util_deint(3, &checksumrecv);		if (checksum!=checksumrecv) {			util_DiscardMessage();			logHack(fd, HACK_CHECKSUMERROR);			DME(); return -1;		}		lssproto_BU_recv(fd, dummy);		util_DiscardMessage();		return 0;	}	if (func==LSSPROTO_JB_RECV) {		int checksum=0, checksumrecv;		int x;		int y;		checksum += util_deint(2, &x);		checksum += util_deint(3, &y);		util_deint(4, &checksumrecv);		if (checksum!=checksumrecv) {			util_DiscardMessage();			logHack(fd, HACK_CHECKSUMERROR);			DME(); return -1;		}		lssproto_JB_recv(fd, x, y);		util_DiscardMessage();		return 0;	}	if (func==LSSPROTO_LB_RECV) {		int checksum=0, checksumrecv;		int x;		int y;		checksum += util_deint(2, &x);		checksum += util_deint(3, &y);		util_deint(4, &checksumrecv);		if (checksum!=checksumrecv) {			util_DiscardMessage();			logHack(fd, HACK_CHECKSUMERROR);			DME(); return -1;		}		lssproto_LB_recv(fd, x, y);		util_DiscardMessage();		return 0;	}	if (func==LSSPROTO_B_RECV) {		int checksum=0, checksumrecv;		char command[65500];		checksum += util_destring(2, command);		util_deint(3, &checksumrecv);		if (checksum!=checksumrecv) {			util_DiscardMessage();			logHack(fd, HACK_CHECKSUMERROR);			DME(); return -1;		}				lssproto_B_recv(fd, command);		util_DiscardMessage();		return 0;	}	if (func==LSSPROTO_SKD_RECV) {		int checksum=0, checksumrecv;		int dir;		int index;		checksum += util_deint(2, &dir);		checksum += util_deint(3, &index);		util_deint(4, &checksumrecv);		if (checksum!=checksumrecv) {			util_DiscardMessage();			logHack(fd, HACK_CHECKSUMERROR);			DME(); return -1;		}		lssproto_SKD_recv(fd, dir, index);		util_DiscardMessage();		return 0;	}	if (func==LSSPROTO_ID_RECV) {		int checksum=0, checksumrecv;		int x;		int y;		int haveitemindex;		int toindex;		checksum += util_deint(2, &x);		checksum += util_deint(3, &y);		checksum += util_deint(4, &haveitemindex);		checksum += util_deint(5, &toindex);		util_deint(6, &checksumrecv);		if (checksum!=checksumrecv) {			util_DiscardMessage();			logHack(fd, HACK_CHECKSUMERROR);			DME(); return -1;		}		lssproto_ID_recv(fd, x, y, haveitemindex, toindex);		util_DiscardMessage();		return 0;	}	if (func==LSSPROTO_PI_RECV) {		int checksum=0, checksumrecv;		int x;		int y;		int dir;		checksum += util_deint(2, &x);		checksum += util_deint(3, &y);		checksum += util_deint(4, &dir);		util_deint(5, &checksumrecv);		if (checksum!=checksumrecv) {			util_DiscardMessage();			logHack(fd, HACK_CHECKSUMERROR);			DME(); return -1;		}		lssproto_PI_recv(fd, x, y, dir);		util_DiscardMessage();		return 0;	}	if (func==LSSPROTO_DI_RECV) {		int checksum=0, checksumrecv;		int x;		int y;		int itemindex;		checksum += util_deint(2, &x);		checksum += util_deint(3, &y);		checksum += util_deint(4, &itemindex);		util_deint(5, &checksumrecv);		if (checksum!=checksumrecv) {			util_DiscardMessage();			logHack(fd, HACK_CHECKSUMERROR);			DME(); return -1;		}		lssproto_DI_recv(fd, x, y, itemindex);		util_DiscardMessage();		return 0;	}	if (func==LSSPROTO_DG_RECV) {		int checksum=0, checksumrecv;		int x;		int y;		int amount;		checksum += util_deint(2, &x);		checksum += util_deint(3, &y);		checksum += util_deint(4, &amount);		util_deint(5, &checksumrecv);		if (checksum!=checksumrecv) {			util_DiscardMessage();			logHack(fd, HACK_CHECKSUMERROR);			DME(); return -1;		}		lssproto_DG_recv(fd, x, y, amount);		util_DiscardMessage();		return 0;	}	if (func==LSSPROTO_DP_RECV) {		int checksum=0, checksumrecv;		int x;		int y;		int petindex;		checksum += util_deint(2, &x);		checksum += util_deint(3, &y);		checksum += util_deint(4, &petindex);		util_deint(5, &checksumrecv);		if (checksum!=checksumrecv) {			util_DiscardMessage();			logHack(fd, HACK_CHECKSUMERROR);			DME(); return -1;		}		lssproto_DP_recv(fd, x, y, petindex);		util_DiscardMessage();		return 0;	}	if (func==LSSPROTO_MI_RECV) {		int checksum=0, checksumrecv;		int fromindex;		int toindex;		checksum += util_deint(2, &fromindex);		checksum += util_deint(3, &toindex);		util_deint(4, &checksumrecv);		if (checksum!=checksumrecv) {			util_DiscardMessage();			logHack(fd, HACK_CHECKSUMERROR);			DME(); return -1;		}		lssproto_MI_recv(fd, fromindex, toindex);		util_DiscardMessage();		return 0;	}	if (func==LSSPROTO_MSG_RECV) {		int checksum=0, checksumrecv;		int index;		char message[65500];		int color;		checksum += util_deint(2, &index);		checksum += util_destring(3, message);		checksum += util_deint(4, &color);		util_deint(5, &checksumrecv);		if (checksum!=checksumrecv) {			util_DiscardMessage();			logHack(fd, HACK_CHECKSUMERROR);			DME(); return -1;		}		lssproto_MSG_recv(fd, index, message, color);		util_DiscardMessage();		return 0;	}	if (func==LSSPROTO_PMSG_RECV) {		int checksum=0, checksumrecv;		int index;		int petindex;		int itemindex;		char message[65500];		int color;		checksum += util_deint(2, &index);		checksum += util_deint(3, &petindex);		checksum += util_deint(4, &itemindex);		checksum += util_destring(5, message);		checksum += util_deint(6, &color);		util_deint(7, &checksumrecv);		if (checksum!=checksumrecv) {			util_DiscardMessage();			logHack(fd, HACK_CHECKSUMERROR);			DME(); return -1;		}		lssproto_PMSG_recv(fd, index, petindex, itemindex, message, color);		util_DiscardMessage();		return 0;	}	if (func==LSSPROTO_AB_RECV) {		int checksum=0, checksumrecv;		util_deint(2, &checksumrecv);		if (checksum!=checksumrecv) {			util_DiscardMessage();			logHack(fd, HACK_CHECKSUMERROR);			DME(); return -1;		}		lssproto_AB_recv(fd);		util_DiscardMessage();		return 0;	}	if (func==LSSPROTO_DAB_RECV) {		int checksum=0, checksumrecv;		int index;		checksum += util_deint(2, &index);		util_deint(3, &checksumrecv);		if (checksum!=checksumrecv) {			util_DiscardMessage();			logHack(fd, HACK_CHECKSUMERROR);			DME(); return -1;		}		lssproto_DAB_recv(fd, index);		util_DiscardMessage();		return 0;	}	if (func==LSSPROTO_AAB_RECV) {		int checksum=0, checksumrecv;		int x;		int y;		checksum += util_deint(2, &x);		checksum += util_deint(3, &y);		util_deint(4, &checksumrecv);		if (checksum!=checksumrecv) {			util_DiscardMessage();			logHack(fd, HACK_CHECKSUMERROR);			DME(); return -1;		}		lssproto_AAB_recv(fd, x, y);		util_DiscardMessage();		return 0;	}	if (func==LSSPROTO_L_RECV) {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人午夜免费视频| 欧美精品日韩一区| 成人深夜福利app| 欧美sm美女调教| 亚洲人成7777| 久久国产精品99久久人人澡| 色综合久久综合网欧美综合网| 制服丝袜亚洲播放| 亚洲女人****多毛耸耸8| 91蝌蚪porny| 国产午夜精品福利| 久久99久国产精品黄毛片色诱| 欧美羞羞免费网站| 亚洲欧美日韩在线| 欧美片网站yy| 亚洲另类中文字| 白白色亚洲国产精品| 国产亚洲制服色| 91亚洲国产成人精品一区二区三| 伊人婷婷欧美激情| 欧美一区二区成人| 午夜精品久久久久久| 在线亚洲人成电影网站色www| 欧美在线一二三四区| 青草av.久久免费一区| 欧美日韩亚洲综合在线 | 不卡视频一二三| 久久综合色天天久久综合图片| 三级久久三级久久久| 91精品国产全国免费观看| 国产精品99久久久久久久女警 | 欧美日韩午夜影院| 国产自产高清不卡| 国产亚洲一区二区在线观看| 在线精品视频一区二区三四| 欧美aaaaaa午夜精品| 专区另类欧美日韩| 色94色欧美sute亚洲线路一ni| 视频一区视频二区中文| 中文字幕日韩一区| 91国内精品野花午夜精品| 精品中文字幕一区二区小辣椒| 自拍偷拍亚洲综合| 久久青草国产手机看片福利盒子| 国产伦精品一区二区三区免费迷 | 欧美肥妇free| 99久久婷婷国产| 亚洲精品成人精品456| 精品久久久久久久久久久院品网| 91在线视频免费观看| 精彩视频一区二区| 亚洲成av人片www| 日韩免费视频线观看| 国产毛片精品视频| 日韩成人午夜精品| 久久精品视频在线免费观看 | 国产精品一区在线| 青青草国产成人99久久| 亚洲午夜电影在线观看| 午夜精品一区二区三区三上悠亚| 国产一区二区三区蝌蚪| 97精品视频在线观看自产线路二| 亚洲黄色性网站| 国产欧美一区二区三区沐欲| 韩国三级中文字幕hd久久精品| 亚洲一区二区三区四区在线免费观看 | 一区二区三区四区av| 欧美一级生活片| 欧美性猛片aaaaaaa做受| 99视频一区二区| 成人免费视频一区二区| 国产成人综合亚洲91猫咪| 专区另类欧美日韩| 中文字幕一区二区三区色视频| 久久这里只有精品首页| 日韩欧美在线综合网| 91老师片黄在线观看| 不卡av在线网| 成a人片亚洲日本久久| 成人黄色av网站在线| 成人精品gif动图一区| 国产jizzjizz一区二区| 日韩高清不卡一区二区| 午夜婷婷国产麻豆精品| 首页欧美精品中文字幕| 亚洲高清免费观看高清完整版在线观看| 国产精品女主播av| 日韩一区二区免费视频| 日韩一区二区视频在线观看| 日韩一二三区视频| 欧美电视剧在线观看完整版| 日韩免费高清av| 日韩一区二区三区免费观看| 精品精品欲导航| 色又黄又爽网站www久久| 色94色欧美sute亚洲线路一久| 欧美视频你懂的| 91精品黄色片免费大全| 欧美电视剧在线观看完整版| 国产清纯白嫩初高生在线观看91 | 日韩av高清在线观看| 久久精品久久99精品久久| 国产永久精品大片wwwapp| 国产成人丝袜美腿| 91麻豆产精品久久久久久 | 亚洲妇熟xx妇色黄| 捆绑变态av一区二区三区| 国产成人激情av| 欧美视频在线观看一区二区| 欧美一区二区黄| 久久久久久久久久久久久久久99| 国产精品区一区二区三| 一区二区三区国产精华| 久久成人久久鬼色| 91在线免费播放| 日韩欧美色综合| 中文字幕一区二区三区四区不卡| 婷婷综合五月天| 国产激情一区二区三区桃花岛亚洲| 99精品久久只有精品| 欧美一级理论片| 国产精品久久网站| 国产精品每日更新在线播放网址 | 国产精品丝袜黑色高跟| 爽好久久久欧美精品| jlzzjlzz亚洲女人18| 欧美一区二区私人影院日本| 欧美韩国日本不卡| 国产精品区一区二区三| 日韩成人伦理电影在线观看| 波多野结衣亚洲一区| 欧美一区二区在线观看| 亚洲欧美日韩国产综合在线 | 亚洲国产一区二区三区青草影视 | 丰满亚洲少妇av| 5月丁香婷婷综合| 中文av一区二区| 麻豆精品久久久| 国产成人精品网址| 91麻豆精品国产91久久久久| ㊣最新国产の精品bt伙计久久| 久国产精品韩国三级视频| 欧美性猛交xxxxxx富婆| 国产精品久久久久久亚洲伦| 国产一区二区毛片| 91麻豆精品国产91久久久久久久久 | 精品国产区一区| 亚洲国产综合视频在线观看| 93久久精品日日躁夜夜躁欧美| 久久婷婷成人综合色| 免费观看日韩电影| 欧美久久一二区| 一区二区三区.www| 一本在线高清不卡dvd| 中文字幕精品在线不卡| 国产一区二区在线免费观看| 欧美一区二区不卡视频| 午夜精品免费在线| 欧美午夜在线观看| 亚洲精品欧美在线| 色婷婷久久久综合中文字幕| 亚洲视频免费看| www.成人网.com| 日韩毛片高清在线播放| 99久久精品国产一区二区三区| 国产精品美女一区二区三区| 国产精品白丝jk白祙喷水网站| 久久久综合精品| 国产福利一区二区三区| 国产视频一区在线播放| 国产成人免费网站| 国产欧美精品一区aⅴ影院 | 欧美一区三区二区| 天堂午夜影视日韩欧美一区二区| 欧美视频一区在线| 亚洲福利一区二区| 51午夜精品国产| 久久激情综合网| 久久美女高清视频 | 97se狠狠狠综合亚洲狠狠| 亚洲日穴在线视频| 欧美伊人久久久久久久久影院| 一区二区三区高清不卡| 欧美美女bb生活片| 久久国产日韩欧美精品| 亚洲精品一区二区三区蜜桃下载 | 亚洲激情五月婷婷| 欧美亚洲日本一区| 轻轻草成人在线| 2023国产精品| 菠萝蜜视频在线观看一区| 亚洲在线观看免费视频| 欧美日本不卡视频| 国产真实乱子伦精品视频| 中文天堂在线一区| 欧美嫩在线观看| 国产一区二区电影| 亚洲综合激情另类小说区| 日韩欧美国产一区二区三区 | 欧美视频中文字幕|