Register for your free account! | Forgot your password?

You last visited: Today at 14:57

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Detect bot join server

Discussion on Detect bot join server within the SRO Coding Corner forum part of the Silkroad Online category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Jul 2017
Posts: 118
Received Thanks: 65
Detect bot join server

How can i dectect bot join server, any idea or hint on this?



athena1410 is offline  
Old 08/13/2018, 07:33   #2
 
elite*gold: 0
Join Date: Sep 2012
Posts: 192
Received Thanks: 45
content id


concucu is offline  
Thanks
1 User
Old 08/13/2018, 08:44   #3
 
elite*gold: 0
Join Date: May 2006
Posts: 613
Received Thanks: 279
Quote:
Originally Posted by athena1410 View Post
How can i dectect bot join server, any idea or hint on this?
its all about creativity, think about what bot differs from a normal client, i could think of a few things, that would make this much easier to handle.
easiest method would be via a filter.
Isoline* is offline  
Thanks
1 User
Old 08/13/2018, 09:24   #4
 
elite*gold: 0
Join Date: Jul 2017
Posts: 118
Received Thanks: 65
Quote:
Originally Posted by concucu View Post
content id
I don't understand, can you explain more ?

Quote:
Originally Posted by Isoline* View Post
its all about creativity, think about what bot differs from a normal client, i could think of a few things, that would make this much easier to handle.
easiest method would be via a filter.
Thank, I will try to find different

I have find some different e.g.: only normal user login via launcher has sent packet 0x6104 (set locale) and bot only handshake and accept handshake only one time.
I only use mbot for test, i think it right with orther bot because bot only load sro_client and auto set locale = 22 when send login packet (vsro). was i right ?
Sorry for my poor English


athena1410 is offline  
Old 08/13/2018, 14:54   #5
 
elite*gold: 0
Join Date: Sep 2017
Posts: 845
Received Thanks: 472
Clientless, through packets.
Bots, I don't know yet actually and I was tryin' to find out how recently but I think it can be the the arguments.
#HB is offline  
Old 08/13/2018, 16:27   #6
 
elite*gold: 0
Join Date: Jan 2009
Posts: 571
Received Thanks: 750
Quote:
Originally Posted by athena1410 View Post
I don't understand, can you explain more ?


Thank, I will try to find different

I have find some different e.g.: only normal user login via launcher has sent packet 0x6104 (set locale) and bot only handshake and accept handshake only one time.
I only use mbot for test, i think it right with orther bot because bot only load sro_client and auto set locale = 22 when send login packet (vsro). was i right ?
Sorry for my poor English

0x6104 is opcode used to request notices to display in launcher.
I don't think the fact that bot only connects once (skips launcher part) is going to help you (you can always start launcher and then bot).
I'm not 100% sure whether mbot does this but content_id (locale) can be taken from media.pk2 You could change content_id in media and modify sro_client to send different value. This will let you know whether client or bot is used.


All this can be worked around simply by putting another "filter" between the bot and server.
zeteris is offline  
Old 08/13/2018, 20:49   #7
 
elite*gold: 0
Join Date: Sep 2017
Posts: 845
Received Thanks: 472
Quote:
Originally Posted by zeteris View Post
0x6104 is opcode used to request notices to display in launcher.
I don't think the fact that bot only connects once (skips launcher part) is going to help you (you can always start launcher and then bot).
I'm not 100% sure whether mbot does this but content_id (locale) can be taken from media.pk2 You could change content_id in media and modify sro_client to send different value. This will let you know whether client or bot is used.


All this can be worked around simply by putting another "filter" between the bot and server.
Sorry, but.. Is locale the best way to implement that?
#HB is offline  
Old 08/13/2018, 21:39   #8
 
elite*gold: 100
Join Date: Apr 2008
Posts: 712
Received Thanks: 979
Quote:
Originally Posted by #HB View Post
Sorry, but.. Is locale the best way to implement that?
Any difference will do. Locale is the easiest because its fairly easy to do. You can also swap MsgId's and detect third party tools on this (Joymax did that with (Drews?) Clientless Tool in the past). You could also mess with the handshake (e.g. change the Polytable of CRC, mess with the count byte seed. The third-party tool's proxy will use the unmodified one, for sure). Advantage on this one is, that you can detect a third-party-tool even before it is fully connected.
florian0 is offline  
Old 08/13/2018, 22:34   #9
 
elite*gold: 950
Join Date: Aug 2015
Posts: 1,955
Received Thanks: 1,137
locale is the way to go imo
B1Q is offline  
Old 08/14/2018, 16:58   #10
 
elite*gold: 0
Join Date: May 2006
Posts: 613
Received Thanks: 279
The locale is a bad practice, it is very common, and it can be bypassed easily, and you will be forced to change your server locale id.

Messing with the cyclic redundancy check would not only block clientless, but will probably make Bots not work on your server.

There is a packet that is being sent from the server from all connections but clientless, i did this part long time ago, hit me up if u want it.

Furthermore, i could think of a way u could measure the time of packets between the login animation (when u press enter after being connected to the server, its a black screen animation, than your chars appear in CPS_CharSelect screen), a clientless is not affected by the animation obviously.

but thats just my way of thinking there are several ways to achieve that.
Isoline* is offline  
Old 08/14/2018, 20:51   #11
 
elite*gold: 0
Join Date: Sep 2014
Posts: 607
Received Thanks: 166
My 2 cents: Don't invest too much time. Most bot creators won't even bother if their bots don't work on a particular server.
qqdev is offline  
Old 08/15/2018, 02:27   #12
 
elite*gold: 950
Join Date: Aug 2015
Posts: 1,955
Received Thanks: 1,137
Quote:
Originally Posted by Isoline* View Post
The locale is a bad practice, it is very common, and it can be bypassed easily, and you will be forced to change your server locale id.

Messing with the cyclic redundancy check would not only block clientless, but will probably make Bots not work on your server.

There is a packet that is being sent from the server from all connections but clientless, i did this part long time ago, hit me up if u want it.

Furthermore, i could think of a way u could measure the time of packets between the login animation (when u press enter after being connected to the server, its a black screen animation, than your chars appear in CPS_CharSelect screen), a clientless is not affected by the animation obviously.

but thats just my way of thinking there are several ways to achieve that.
measuring the "time" between packets is not a good idea. i know the locale change can be bypassed easily, but, the average player does not know HOW TO.
this might not work but i THINK you can force a locale change using a dll or send a custom handshake packet from the launcher to your filter


B1Q is offline  
Reply



« Select Values from Database C++ | iSro OpCodes .. »

Similar Threads
Question about GM detect and player detect script
05/16/2010 - Dekaron - 2 Replies
The GM detect is working? how does it work and the combination of player detect script can i put then it will detect tell me the function also of player detect script hack I appreciate ur answer



All times are GMT +1. The time now is 14:57.


Powered by vBulletin®
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.

BTC: 33E6kMtxYa7dApCFzrS3Jb7U3NrVvo8nsK
ETH: 0xc6ec801B7563A4376751F33b0573308aDa611E05

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2020 elitepvpers All Rights Reserved.