/[LeafOK_CVS]/pvpgn-1.7.4/ANTIBOT/pvpgn-1.7.4-antibot.patch
ViewVC logotype

Annotation of /pvpgn-1.7.4/ANTIBOT/pvpgn-1.7.4-antibot.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (hide annotations)
Sat Jun 10 16:29:09 2006 UTC (19 years, 9 months ago) by sysadm
Branch: MAIN
CVS Tags: pvpgn_1-7-4-0_MIL, HEAD
Content type: text/x-diff
Antibot

1 sysadm 1.1 diff -urNa pvpgn-1.7.4/src/bnetd/adbanner.c pvpgn-1.7.4-antibot/src/bnetd/adbanner.c
2     --- pvpgn-1.7.4/src/bnetd/adbanner.c 2005-03-04 12:33:31.000000000 +0800
3     +++ pvpgn-1.7.4-antibot/src/bnetd/adbanner.c 2005-05-26 22:33:02.000000000 +0800
4     @@ -156,6 +156,7 @@
5     unsigned int next_id;
6     t_clienttag ctag;
7    
8     +
9     if (!c)
10     {
11     eventlog(eventlog_level_error,__FUNCTION__,"got NULL connection");
12     @@ -164,12 +165,27 @@
13    
14     ctag = conn_get_clienttag(c);
15    
16     - /* eventlog(eventlog_level_debug,__FUNCTION__,"prev_id=%u init_count=%u start_count=%u norm_count=%u",prev_id,adbannerlist_init_count,adbannerlist_start_count,adbannerlist_norm_count); */
17     + /* sowater, 2005-04-14 */
18     + if(ctag=clienttag_str_to_uint("D2XP")) {
19     + char checknum;
20     + unsigned int id=0;
21     + t_connection * t=c;
22     + t_adbanner * adbanner_checknum;
23     + checknum=conn_get_checknum(t);
24     + id|=checknum;
25     + eventlog(eventlog_level_debug,__FUNCTION__,"got checknum: %c, banner id: %u",checknum,id);
26     + if(adbanner_checknum=adbannerlist_find_adbanner_by_id(adbannerlist_norm_head,id,ctag))
27     + return adbanner_checknum;
28     + eventlog(eventlog_level_debug,__FUNCTION__,"not sending checknum banner");
29     + return NULL;
30     + }else{
31     +
32     + eventlog(eventlog_level_debug,__FUNCTION__,"prev_id=%u init_count=%u start_count=%u norm_count=%u",prev_id,adbannerlist_init_count,adbannerlist_start_count,adbannerlist_norm_count);
33     /* if this is the first ad, randomly choose an init sequence (if there is one) */
34     if (prev_id==0 && adbannerlist_init_count>0)
35     return adbannerlist_get_random(adbannerlist_init_head,ctag);
36     // return list_get_data_by_pos(adbannerlist_init_head,((unsigned int)rand())%adbannerlist_init_count);
37     - /* eventlog(eventlog_level_debug,__FUNCTION__,"not sending init banner"); */
38     + eventlog(eventlog_level_debug,__FUNCTION__,"not sending init banner");
39    
40     /* find the previous adbanner */
41     if ((prev = adbannerlist_find_adbanner_by_id(adbannerlist_init_head,prev_id,ctag)))
42     @@ -201,8 +217,10 @@
43     if (adbannerlist_start_count>0)
44     return adbannerlist_get_random(adbannerlist_start_head,ctag);
45    
46     - /* eventlog(eventlog_level_debug,__FUNCTION__,"not sending start banner... nothing to return"); */
47     + eventlog(eventlog_level_debug,__FUNCTION__,"not sending start banner... nothing to return");
48     return NULL; /* nothing else to return */
49     +
50     + }
51     }
52    
53    
54     @@ -532,3 +550,5 @@
55    
56     return 0;
57     }
58     +
59     +
60     diff -urNa pvpgn-1.7.4/src/bnetd/connection.c pvpgn-1.7.4-antibot/src/bnetd/connection.c
61     --- pvpgn-1.7.4/src/bnetd/connection.c 2005-03-04 12:33:31.000000000 +0800
62     +++ pvpgn-1.7.4-antibot/src/bnetd/connection.c 2005-05-26 22:33:02.000000000 +0800
63     @@ -140,6 +140,23 @@
64     static unsigned connarray_add_conn(t_connection *c);
65     static void connarray_del_conn(unsigned index);
66    
67     +/* send ckeck num to client in channel, by sowater,20050331 */
68     +
69     +static void conn_send_checknum(t_connection * c)
70     +{
71     + if (!c) {
72     + eventlog(eventlog_level_error,__FUNCTION__,"got NULL connection");
73     + return;
74     + }
75     +
76     + if(c->protocol.class!=conn_class_bnet) {
77     + eventlog(eventlog_level_error,__FUNCTION__,"not bnet connection");
78     + return;
79     + }
80     + message_send_text(c,message_type_info,c,"your check number is: ");
81     + eventlog(eventlog_level_info,__FUNCTION__,"have sent check number: ");
82     +}
83     +
84     static void conn_send_welcome(t_connection * c)
85     {
86     char const * filename;
87     @@ -1962,6 +1979,9 @@
88    
89     eventlog(eventlog_level_info,__FUNCTION__,"[%d] joined channel \"%s\"",conn_get_socket(c),channel_get_name(c->protocol.chat.channel));
90     conn_send_welcome(c);
91     +
92     + /* by sowater, 20050330 */
93     + /*conn_send_checknum(c);*/
94    
95     if(c->protocol.chat.channel && (channel_get_flags(c->protocol.chat.channel) & channel_flags_thevoid))
96     message_send_text(c,message_type_info,c,"This channel does not have chat privileges.");
97     @@ -3776,3 +3796,25 @@
98     curr->c = NULL;
99     elist_add_tail(&arrayflist,&curr->freelist);
100     }
101     +
102     +/* by sowater, 20050331 */
103     +extern char conn_get_checknum(t_connection * c)
104     +{
105     + if(!c) {
106     + eventlog(eventlog_level_error,__FUNCTION__,"got NULL connection");
107     + return -1;
108     + }
109     + return c->protocol.checknum;
110     +}
111     +
112     +extern int conn_set_checknum(t_connection * c, char checknum)
113     +{
114     + if(!c) {
115     + eventlog(eventlog_level_error,__FUNCTION__,"got NULL connection");
116     + return -1;
117     + }
118     + c->protocol.checknum=checknum;
119     + return 0;
120     +}
121     +
122     +
123     diff -urNa pvpgn-1.7.4/src/bnetd/connection.h pvpgn-1.7.4-antibot/src/bnetd/connection.h
124     --- pvpgn-1.7.4/src/bnetd/connection.h 2005-03-04 12:33:31.000000000 +0800
125     +++ pvpgn-1.7.4-antibot/src/bnetd/connection.h 2005-05-26 22:33:02.000000000 +0800
126     @@ -141,6 +141,10 @@
127     unsigned int flags;
128     unsigned int latency;
129     t_account * account;
130     +
131     + /* by sowater, 20050331 */
132     + char checknum;
133     +
134     struct {
135     t_tag archtag;
136     t_tag gamelang;
137     @@ -426,5 +430,8 @@
138     extern t_elist *conn_get_timer(t_connection * c);
139     extern int conn_add_fdwatch(t_connection *c, fdwatch_handler handle);
140    
141     +/* by sowater, 20050331 */
142     +extern char conn_get_checknum(t_connection *c);
143     +extern int conn_set_checknum(t_connection *c, char checknum);
144     #endif
145     #endif
146     diff -urNa pvpgn-1.7.4/src/bnetd/handle_bnet.c pvpgn-1.7.4-antibot/src/bnetd/handle_bnet.c
147     --- pvpgn-1.7.4/src/bnetd/handle_bnet.c 2005-03-04 12:33:31.000000000 +0800
148     +++ pvpgn-1.7.4-antibot/src/bnetd/handle_bnet.c 2005-05-26 22:33:02.000000000 +0800
149     @@ -2867,19 +2867,21 @@
150     static int _client_adreq(t_connection * c, t_packet const *const packet)
151     {
152     t_packet *rpacket;
153     + t_clienttag ctag;
154    
155     +
156     if (packet_get_size(packet) < sizeof(t_client_adreq)) {
157     eventlog(eventlog_level_error, __FUNCTION__, "[%d] got bad ADREQ packet (expected %u bytes, got %u)", conn_get_socket(c), sizeof(t_client_adreq), packet_get_size(packet));
158     return -1;
159     }
160     -
161     +
162     {
163     t_adbanner *ad;
164    
165     if (!(ad = adbanner_pick(c, bn_int_get(packet->u.client_adreq.prev_adid))))
166     return 0;
167    
168     - /* eventlog(eventlog_level_debug,__FUNCTION__,"[%d] picking ad file=\"%s\" id=0x%06x tag=%u",conn_get_socket(c),adbanner_get_filename(ad),adbanner_get_id(ad),adbanner_get_extensiontag(ad)); */
169     + eventlog(eventlog_level_debug,__FUNCTION__,"[%d] picking ad file=\"%s\" id=0x%06x tag=%u",conn_get_socket(c),adbanner_get_filename(ad),adbanner_get_id(ad),adbanner_get_extensiontag(ad));
170     if ((rpacket = packet_create(packet_class_bnet))) {
171     packet_set_size(rpacket, sizeof(t_server_adreply));
172     packet_set_type(rpacket, SERVER_ADREPLY);
173     @@ -3169,8 +3171,18 @@
174     } else {
175    
176     // not W3
177     - if (conn_set_channel(c, cname) < 0)
178     + if (conn_set_channel(c, cname) < 0) {
179     conn_set_channel(c, CHANNEL_NAME_BANNED); /* should not fail */
180     +
181     + /* by sowater, 20050401 */
182     + }else{
183     + char checknum;
184     + if((checknum=conn_get_checknum(c))<0) {
185     + eventlog(eventlog_level_error,__FUNCTION__,"get checknum form conn fail");
186     + return -1;
187     + }
188     + //message_send_checknum(c,c,checknum);
189     + }
190     }
191     // here we set channel flags on user
192     channel_set_userflags(c);
193     diff -urNa pvpgn-1.7.4/src/bnetd/handle_d2cs.c pvpgn-1.7.4-antibot/src/bnetd/handle_d2cs.c
194     --- pvpgn-1.7.4/src/bnetd/handle_d2cs.c 2005-03-04 12:33:31.000000000 +0800
195     +++ pvpgn-1.7.4-antibot/src/bnetd/handle_d2cs.c 2005-05-26 22:33:02.000000000 +0800
196     @@ -257,6 +257,7 @@
197     char const * realmname;
198     unsigned int pos, reply;
199     t_packet * rpacket;
200     + char const *checknum;
201    
202     if (packet_get_size(packet)<sizeof(t_d2cs_bnetd_charloginreq)) {
203     eventlog(eventlog_level_error,__FUNCTION__,"got bad packet size");
204     @@ -273,6 +274,14 @@
205     eventlog(eventlog_level_error,__FUNCTION__,"got bad character portrait");
206     return -1;
207     }
208     +
209     + /* by sowater, 20050401 */
210     + pos+=strlen(portrait)+1;
211     + if(!(checknum=packet_get_data_const(packet,pos,sizeof(char)))) {
212     + eventlog(eventlog_level_error,__FUNCTION__,"get bad checknum");
213     + return -1;
214     + }
215     +
216     if (!(client=connlist_find_connection_by_sessionnum(sessionnum))) {
217     eventlog(eventlog_level_error,__FUNCTION__,"user %d not found",sessionnum);
218     reply = BNETD_D2CS_CHARLOGINREPLY_FAILED;
219     @@ -297,6 +306,12 @@
220     xfree(temp);
221     eventlog(eventlog_level_debug,__FUNCTION__,
222     "loaded portrait for character %s",charname);
223     + /* by sowater */
224     + if(conn_set_checknum(client,*checknum)<0) {
225     + eventlog(eventlog_level_error,__FUNCTION__,"set checknum to connection fail");
226     + }
227     +
228     +
229     }
230     if ((rpacket=packet_create(packet_class_d2cs_bnetd))) {
231     packet_set_size(rpacket,sizeof(t_bnetd_d2cs_charloginreply));
232     diff -urNa pvpgn-1.7.4/src/bnetd/message.c pvpgn-1.7.4-antibot/src/bnetd/message.c
233     --- pvpgn-1.7.4/src/bnetd/message.c 2005-03-04 12:33:32.000000000 +0800
234     +++ pvpgn-1.7.4-antibot/src/bnetd/message.c 2005-05-26 22:33:03.000000000 +0800
235     @@ -1630,3 +1630,21 @@
236    
237     return 0;
238     }
239     +
240     +/* sowater, 20050401 */
241     +extern int message_send_checknum(t_connection * dst,t_connection * src, char checknum)
242     +{
243     + char msgbuf[30];
244     + if(!dst) {
245     + eventlog(eventlog_level_error,__FUNCTION__,"got NULL connection");
246     + return -1;
247     + }
248     + if(!checknum) {
249     + eventlog(eventlog_level_error,__FUNCTION__,"got NULL checknum");
250     + return -1;
251     + }
252     + sprintf(msgbuf,"your check id is: %c ",checknum);
253     + message_send_text(dst,message_type_error,src,msgbuf);
254     + return 0;
255     +}
256     +
257     diff -urNa pvpgn-1.7.4/src/bnetd/message.h pvpgn-1.7.4-antibot/src/bnetd/message.h
258     --- pvpgn-1.7.4/src/bnetd/message.h 2005-03-04 12:33:32.000000000 +0800
259     +++ pvpgn-1.7.4-antibot/src/bnetd/message.h 2005-05-26 22:33:03.000000000 +0800
260     @@ -101,5 +101,9 @@
261     extern int message_send_formatted(t_connection * dst, char const * text);
262     extern int message_send_file(t_connection * dst, FILE * fd);
263    
264     +/* sowater, 20050401 */
265     +extern int message_send_checknum(t_connection * dst,t_connection * src, char checknum);
266     +
267     +
268     #endif
269     #endif
270     diff -urNa pvpgn-1.7.4/src/d2cs/connection.c pvpgn-1.7.4-antibot/src/d2cs/connection.c
271     --- pvpgn-1.7.4/src/d2cs/connection.c 2005-03-04 12:33:33.000000000 +0800
272     +++ pvpgn-1.7.4-antibot/src/d2cs/connection.c 2005-05-26 22:33:06.000000000 +0800
273     @@ -843,3 +843,18 @@
274     c->fdw_idx = fdwatch_add_fd(c->sock,rw,handler,c);
275     return c->fdw_idx;
276     }
277     +
278     +/* sowater */
279     +extern int d2cs_conn_set_checknum(t_connection *c, char checknum)
280     +{
281     + ASSERT(c,-1);
282     + c->checknum=checknum;
283     + return 0;
284     +}
285     +
286     +extern char d2cs_conn_get_checknum(t_connection *c)
287     +{
288     + ASSERT(c,-1);
289     + return c->checknum;
290     +}
291     +
292     diff -urNa pvpgn-1.7.4/src/d2cs/connection.h pvpgn-1.7.4-antibot/src/d2cs/connection.h
293     --- pvpgn-1.7.4/src/d2cs/connection.h 2005-03-04 12:33:33.000000000 +0800
294     +++ pvpgn-1.7.4-antibot/src/d2cs/connection.h 2005-05-26 22:33:06.000000000 +0800
295     @@ -73,6 +73,10 @@
296     unsigned int bnetd_sessionnum;
297     unsigned int sessionnum_hash;
298     unsigned int charname_hash;
299     +
300     + /* by sowater, 200503031 */
301     + char checknum;
302     +
303     } t_connection;
304    
305     typedef int ( * packet_handle_func) (t_connection * c, t_packet * packet);
306     @@ -137,4 +141,8 @@
307     extern int conn_add_fd(t_connection * c, t_fdwatch_type rw, fdwatch_handler handler);
308     extern int connlist_check_timeout(void);
309    
310     +/* by sowater, 20050331 */
311     +extern int d2cs_conn_set_checknum(t_connection * c, char checknum);
312     +extern char d2cs_conn_get_checknum(t_connection * c);
313     +
314     #endif
315     diff -urNa pvpgn-1.7.4/src/d2cs/d2cs_random.c pvpgn-1.7.4-antibot/src/d2cs/d2cs_random.c
316     --- pvpgn-1.7.4/src/d2cs/d2cs_random.c 1970-01-01 08:00:00.000000000 +0800
317     +++ pvpgn-1.7.4-antibot/src/d2cs/d2cs_random.c 2005-05-26 22:33:07.000000000 +0800
318     @@ -0,0 +1,30 @@
319     +#include <time.h>
320     +#include <stdlib.h>
321     +
322     +static int d2cs_random_init(void)
323     +{
324     + struct timeval tv;
325     +
326     + if(!gettimeofday(&tv,NULL)) {
327     + const unsigned int seed=(unsigned int)tv.tv_sec^tv.tv_usec;
328     + srandom(seed);
329     + return 0;
330     + }else{
331     + return -1;
332     + }
333     +
334     +}
335     +
336     +extern int d2cs_random_num(void)
337     +{
338     + if(d2cs_random_init())
339     + return -1;
340     + return (random()%10);
341     +}
342     +
343     +extern char d2cs_random_char(void)
344     +{
345     + if(d2cs_random_init())
346     + return -1;
347     + return (random()%7+97);
348     +}
349     diff -urNa pvpgn-1.7.4/src/d2cs/d2cs_random.h pvpgn-1.7.4-antibot/src/d2cs/d2cs_random.h
350     --- pvpgn-1.7.4/src/d2cs/d2cs_random.h 1970-01-01 08:00:00.000000000 +0800
351     +++ pvpgn-1.7.4-antibot/src/d2cs/d2cs_random.h 2005-05-26 22:33:07.000000000 +0800
352     @@ -0,0 +1,6 @@
353     +#ifndef __D2CS_RANDOM_H__
354     +#define __D2CS_RANDOM_H__
355     +
356     +extern int d2cs_random_num(void);
357     +extern char d2cs_random_char(void);
358     +#endif
359     diff -urNa pvpgn-1.7.4/src/d2cs/handle_d2cs.c pvpgn-1.7.4-antibot/src/d2cs/handle_d2cs.c
360     --- pvpgn-1.7.4/src/d2cs/handle_d2cs.c 2005-03-04 12:33:33.000000000 +0800
361     +++ pvpgn-1.7.4-antibot/src/d2cs/handle_d2cs.c 2005-05-26 22:33:06.000000000 +0800
362     @@ -90,6 +90,8 @@
363     #include "common/xalloc.h"
364     #include "common/setup_after.h"
365    
366     +/* sowater */
367     +#include "d2cs_random.h"
368    
369     static int d2cs_send_client_ladder(t_connection * c, unsigned char type, unsigned short from);
370     static unsigned int d2cs_try_joingame(t_connection const * c, t_game const * game, char const * gamepass);
371     @@ -200,7 +202,7 @@
372     unsigned int reply;
373     unsigned short status, class;
374     t_d2charinfo_file data;
375     -
376     + char checknum;
377     if (!(charname=packet_get_str_const(packet,sizeof(t_client_d2cs_createcharreq),MAX_CHARNAME_LEN))) {
378     eventlog(eventlog_level_error,__FUNCTION__,"got bad character name");
379     return -1;
380     @@ -222,6 +224,13 @@
381     p_closedir(dir);
382     xfree(path);
383    
384     + /* sowater */
385     + do {
386     + checknum=d2cs_random_char();
387     + }while(d2cs_conn_get_checknum(c)==checknum);
388     + d2cs_conn_set_checknum(c,checknum);
389     + eventlog(eventlog_level_info,__FUNCTION__,"set checknum %c to connection",checknum);
390     +
391     if (d2char_create(account,charname,class,status)<0) {
392     eventlog(eventlog_level_warn,__FUNCTION__,"error create character %s for account %s",charname,account);
393     reply=D2CS_CLIENT_CREATECHARREPLY_ALREADY_EXIST;
394     @@ -241,6 +250,10 @@
395     conn_get_bnetd_sessionnum(c));
396     packet_append_string(bnpacket,charname);
397     packet_append_string(bnpacket,(char const *)&data.portrait);
398     +
399     + /* sowater */
400     + packet_append_data(bnpacket,&checknum,sizeof(checknum));
401     +
402     conn_push_outqueue(bnetd_conn(),bnpacket);
403     }
404     packet_del_ref(bnpacket);
405     @@ -270,7 +283,10 @@
406     unsigned int seqno, reply;
407     unsigned int pos;
408     t_elem * elem;
409     + char checksum_con;
410     +
411    
412     +
413     pos=sizeof(t_client_d2cs_creategamereq);
414     if (!(gamename=packet_get_str_const(packet,pos,MAX_GAMENAME_LEN))) {
415     eventlog(eventlog_level_error,__FUNCTION__,"got bad game name");
416     @@ -286,6 +302,11 @@
417     eventlog(eventlog_level_error,__FUNCTION__,"got bad game desc");
418     return -1;
419     }
420     +
421     + /* sowater */
422     + checksum_con=d2cs_conn_get_checknum(c);
423     +
424     +
425     tempflag=bn_int_get(packet->u.client_d2cs_creategamereq.gameflag);
426     leveldiff=bn_byte_get(packet->u.client_d2cs_creategamereq.leveldiff);
427     maxchar=bn_byte_get(packet->u.client_d2cs_creategamereq.maxchar);
428     @@ -306,6 +327,12 @@
429     if (d2cs_gamelist_find_game(gamename)) {
430     eventlog(eventlog_level_info,__FUNCTION__,"game name %s is already exist in gamelist",gamename);
431     reply=D2CS_CLIENT_CREATEGAMEREPLY_NAME_EXIST;
432     +
433     + /* sowater */
434     + } else if(*gamedesc!=checksum_con) {
435     + eventlog(eventlog_level_info,__FUNCTION__,"checksum %c from packet not match checksum %c from connection",*gamedesc,checksum_con);
436     + reply=D2CS_CLIENT_CREATEGAMEREPLY_FAILED;
437     +
438     } else if (!gq && gqlist_find_game(gamename)) {
439     eventlog(eventlog_level_info,__FUNCTION__,"game name %s is already exist in game queue",gamename);
440     reply=D2CS_CLIENT_CREATEGAMEREPLY_NAME_EXIST;
441     @@ -602,6 +629,7 @@
442     t_sq * sq;
443     t_d2charinfo_file data;
444     unsigned int expire_time;
445     + char checknum;
446    
447     if (!(charname=packet_get_str_const(packet,sizeof(t_client_d2cs_charloginreq),MAX_CHARNAME_LEN))) {
448     eventlog(eventlog_level_error,__FUNCTION__,"got bad character name");
449     @@ -635,6 +663,14 @@
450    
451     conn_set_charinfo(c,&data.summary);
452     eventlog(eventlog_level_info,__FUNCTION__,"got character %s(*%s) login request",charname,account);
453     +
454     + /*sowater */
455     + do {
456     + checknum=d2cs_random_char();
457     + }while(d2cs_conn_get_checknum(c)==checknum);
458     + d2cs_conn_set_checknum(c,checknum);
459     + eventlog(eventlog_level_info,__FUNCTION__,"set checknum %c to connection",checknum);
460     +
461     if ((bnpacket=packet_create(packet_class_d2cs_bnetd))) {
462     if ((sq=sq_create(d2cs_conn_get_sessionnum(c),packet,0))) {
463     packet_set_size(bnpacket,sizeof(t_d2cs_bnetd_charloginreq));
464     @@ -644,6 +680,10 @@
465     conn_get_bnetd_sessionnum(c));
466     packet_append_string(bnpacket,charname);
467     packet_append_string(bnpacket,(char const *)&data.portrait);
468     +
469     + /*sowater */
470     + packet_append_data(bnpacket,&checknum,sizeof(checknum));
471     +
472     conn_push_outqueue(bnetd_conn(),bnpacket);
473     }
474     packet_del_ref(bnpacket);
475     diff -urNa pvpgn-1.7.4/src/d2cs/handle_d2gs.c pvpgn-1.7.4-antibot/src/d2cs/handle_d2gs.c
476     --- pvpgn-1.7.4/src/d2cs/handle_d2gs.c 2005-09-14 11:18:32.000000000 +0800
477     +++ pvpgn-1.7.4-antibot/src/d2cs/handle_d2gs.c 2005-05-26 22:33:06.000000000 +0800
478     @@ -387,8 +387,12 @@
479     result=bn_int_get(packet->u.d2gs_d2cs_joingamereply.result);
480     switch (result) {
481     case D2GS_D2CS_JOINGAME_SUCCEED:
482     - eventlog(eventlog_level_info,__FUNCTION__,"added %s to game %s on gs %d",d2cs_conn_get_charname(client),
483     - d2cs_game_get_name(game),conn_get_d2gs_id(c));
484     + /* eventlog(eventlog_level_info,__FUNCTION__,"added %s to game %s on gs %d",d2cs_conn_get_charname(client),
485     + d2cs_game_get_name(game),conn_get_d2gs_id(c));*/
486     +
487     + /* We can see ip of char login from, by sowater, 2005.3.25 */
488     + eventlog(eventlog_level_trace,__FUNCTION__,"account %s char %s from %s join game %s",d2cs_conn_get_account(client),d2cs_conn_get_charname(client),addr_num_to_ip_str(d2cs_conn_get_addr(client)),d2cs_game_get_name(game));
489     +
490     reply=D2CS_CLIENT_JOINGAMEREPLY_SUCCEED;
491     break;
492    
493     diff -urNa pvpgn-1.7.4/src/Makefile.in pvpgn-1.7.4-antibot/src/Makefile.in
494     --- pvpgn-1.7.4/src/Makefile.in 2005-03-04 12:33:34.000000000 +0800
495     +++ pvpgn-1.7.4-antibot/src/Makefile.in 2005-09-14 15:00:35.887325440 +0800
496     @@ -250,6 +250,7 @@
497     ${SRC_D2CSDIR}/net.o \
498     ${SRC_D2CSDIR}/d2ladder.o \
499     ${SRC_D2CSDIR}/handle_signal.o \
500     +${SRC_D2CSDIR}/d2cs_random.o \
501     ${SRC_COMMONDIR}/hashtable.o \
502     ${SRC_COMMONDIR}/hexdump.o \
503     ${SRC_COMMONDIR}/eventlog.o \

webmaster@leafok.com
ViewVC Help
Powered by ViewVC 1.3.0-beta1