Register for your free account! | Forgot your password?

You last visited: Today at 10:43

  • 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
 
athena1410's Avatar
 
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
 
concucu's Avatar
 
elite*gold: 0
Join Date: Sep 2012
Posts: 214
Received Thanks: 117
content id
concucu is offline  
Thanks
1 User
Old 08/13/2018, 08:44   #3
 
Isoline*'s Avatar
 
elite*gold: 0
Join Date: May 2006
Posts: 667
Received Thanks: 345
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
 
athena1410's Avatar
 
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
 
#HB's Avatar
 
elite*gold: 100
Join Date: Sep 2017
Posts: 1,097
Received Thanks: 889
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
 
zeteris's Avatar
 
elite*gold: 0
Join Date: Jan 2009
Posts: 575
Received Thanks: 752
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
 
#HB's Avatar
 
elite*gold: 100
Join Date: Sep 2017
Posts: 1,097
Received Thanks: 889
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: 860
Received Thanks: 1,465
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
 
B1Q's Avatar
 
elite*gold: 350
Join Date: Aug 2015
Posts: 1,999
Received Thanks: 1,184
locale is the way to go imo
B1Q is offline  
Old 08/14/2018, 16:58   #10
 
Isoline*'s Avatar
 
elite*gold: 0
Join Date: May 2006
Posts: 667
Received Thanks: 345
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: 8
Join Date: Sep 2014
Posts: 625
Received Thanks: 177
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
 
B1Q's Avatar
 
elite*gold: 350
Join Date: Aug 2015
Posts: 1,999
Received Thanks: 1,184
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


Similar Threads 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 +2. The time now is 10:43.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

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