Professional Documents
Culture Documents
WASTEDBRO
AvoidingDetection:ScripterEditionScripterDiscussionTRiBotForums
Scripters'Forums
ScripterDiscussion
ViewNewContent
AvoidingDetection:ScripterEdition
StartedbyTRiLeZ,Feb17201511:28PM
TRiLeZ
Posted17February201511:28PM
Messenger
Notifications
NAVIGATION
INTERACT
AddusonFacebook
AvoidingDetection:
ScripterEdition
AddusonGoogle+
SinceRuneScapebotshavebeeninexistence,therehaveexistedmanyscriptsthatarefundamentallyin
human.AtTRiBot,Ivenoticedmanyscripts(evenpremiumscripts)falldowntotheseinhumantendencies.
EvenifascriptisABCL10,ifitcontainstheseinhumantendencies,thenitwillleadtobansuponbans.Thefact
thatitisABCL10wontevenmatterbecausethesetendenciesputablatantredcrossonthebackofRuneScape
players.Withthisguide,Ihopetohelpscriptersridthosetendenciesfromscripts.
Ifyouwantmoreusersforyourscript,ifyouwanttosellmoreinstancesofyourscript,orifyoujustplaindon't
likebans,thencontinuereading.Remember,peoplearen'tgoingtouseyourscriptiftheythinkitwillgetthem
banned.
Randomization
Humansarenotrandom.Theyfollowtendenciesandpatternswhenperformingactions.
Asanexample,considerthrowingadartatadartboard.Ahumanwillaimforthebullseye.Theactualshots
madebyahumanwontallhavehitthebullseye,butthedartswillbeorientedaroundthebullseye.Nowlets
saywehavearobotthatplaysdarts.Itsgoalistohitthebullseye.Itdoessoeverytime.
Intheexampleabove,mostscriptsactliketherobot.Itllaimforthetargetandsucceedeverytime.Butmost
scriptshaverandomization,sotheydontexactlyperformliketherobot,butthereisaproblemwithtypical
scriptrandomization,whichIgetintobelow.
Letsexaminetwopictures.Onepicturecontainshumanclickedpointsofinventoryitemsandgametabs.The
othercontainspointsgeneratedviaGeneral.random(min,max)forthesameinventoryitemsandgametabs.
Foreveryhumanclickpointonanitem,thereisapointgeneratedviaGeneral.random(min,max)forthatsame
interfaceoritem.Thatis,ifthehumanclickeditem#1453times,therewillbe53computergeneratedpoints
forthesameitem.Tryandfigureoutwhichishuman,andwhichiscomputer.
https://tribot.org/forums/topic/45437avoidingdetectionscripteredition/
1/11
4/7/2015
AvoidingDetection:ScripterEditionScripterDiscussionTRiBotForums
Thefirstimageisobviouslythehuman.Howcanwetell?Inthefirstimage,theclicksareorientedaroundthe
centeroftheinterface/item.Humansknowthataimingatthecenterwillproducethehighestsuccessratein
clickingtheinterface/item.Buttheyallarentlocatedatthecenteroftheitemsbecausehumansarentthat
preciseoraccurate.
Withthesecondimage,youllnoticethatthepointsareevenlydistributedthroughtheboundsofthe
interface/item.Asweveseeninthefirstpicture,humansonlyevenlydistributetheirclicks.Theirclicksare
orientedaroundthecenter.Thisiswhatpseudorandomintegergenerationdoesitgeneratedintegerswhich
areevenlydistributedthroughthebounds.Theintegersarerandom.
Letsexaminethestatisticaldefinitionofarandomevent:Instatistics,arandomvariableisanassignmentofa
numericalvaluetoeachpossibleoutcomeofaneventspace.Thatis,eachdifferentelementwithintheevent
space(bounds)hasanequalprobabilityofbeingchosen.Sobythedefinitionofrandomness,humansarent
random.Humanactionsarentrandom.Theevidencethathumansarentrandomisshowninthefirstpicture.
Sostopmakingyourscriptsrandom.
RandomizationinTermsofJagex
ThereiscodeintheRuneScapeclientthatsendsallmouseeventstoJagexservers.Whenyouperformanaction
withinRuneScape,packetsaboutthatactionwillbesenttoJagexservers.Jagexcanseewhichpointyoudecide
toclick.Theycanseehowmanymillisecondsindelayyouhavebetweenactions.LetsassumeJagexanalyzes
thesethings.CanIjustifywhyIthinkweshouldassumethis?Lookattheimagesaboveonemoretime.Isit
possibletodetectbotsbasedonthepointschosentobeclicked?Yesitis.Itisterriblyeasytodetectbotsbased
onthepointstheychosetoclick.SowhynotassumethisissomethingJagexlooksfor?Itdmakeitterriblyeasy
forthemtodetectbots.ThiswouldbeoneofmydetectionmethodsifIwereJagex.
PointstobeclickedisnottheonlywayJagexcandetectcomputerizedrandomization.Reactiontimesarealso
flawed.
Letscreateanexample.Saywehaveaboneburyingscript.Aftereachboneisburied,thescriptsleepsusing
General.random(1200,1500).Thatis,thescriptgeneratedapseudorandomintegerbetween1200msand
1500msforthesleepperiod.Iamgoingtoemulatethissleep100,000times,andprovidethestatisticalanalysis
ofthosesleepsbelow.Hereisahistogramofthose100,000sleeptimes.
Figure3
Thecomputergeneratedsleeptimesareevenlydistributed,between1200and1500(withsomeoutliersslightly
above1500).
BelowisahistogramofhumanreactiontimesIvecollectedfrompeopleplayingRuneScape.Idonthaveany
dataspecifictoboneburying,orwherethereactiontimeshouldbeaboutthesameasabove,soletsjust
examinereactiontimesingeneral.
https://tribot.org/forums/topic/45437avoidingdetectionscripteredition/
2/11
4/7/2015
AvoidingDetection:ScripterEditionScripterDiscussionTRiBotForums
Thedataisrightskewedandunimodal,whichisfardifferentfromtheevenlydistributed
sleeptimesasshownabove.Letshaveacloserlookofthehumanreactiontimes<
10,000ms.
Figure5
Thisdataisalsorightskewedandunimodal,withthehighestfrequencyofreactiontimesbeingintherangeof
500to1000ms.
Thereasonwhytherearesomanyhighreactiontimesisthatreactiontimesdependonmanyfactors.Some
factorsresultinhighorveryhighreactiontimes.Aproblemwithscriptsisthattheyconsidernofactors.A
humansreactiontimemaybebasedon20+factorswhileascriptconsiders0factorsthescriptjustpicks
randomnumbersbetweenarbitrarybounds.Butthisisaproblemwhichwillbediscussedandtakencareofata
latertime.
Nowletscomparecomputergeneratedsleeptimeswithhumanreactiontimes.Computergeneratedsleep
timesareevenlydistributed,witheasilyrecognizablebounds.Ontheotherhand,humanreactiontimesare
rightskewed,unimodal,andhavenobounds(otherthanitbeingimpossibletohaveanegativereactiontime).
Letsgobacktothedartboardexample.Intermsofreactiontimes,reactionsareorientedaroundacertain
value,muchlikehowthrowndartswereorientedaroundthebullseye.
InhumanreactiontimesaresomethingterriblyeasyforJagextodetect.Alltheyhavetodoisrecordatime
stampofanevent,saythetimeatwhichyourcharacterfinisheschoppingdownatree.Thentheydtakethe
timestampofthepacketforyouclickingadifferenttree,theminimap,orsomethingsimilar.Theydcompare
thetwotimestampstocalculateyourreactiontime.
Jagexcaneasilystatisticallyanalyzethereactiontimesofplayers,asIvedoneabove.Mostscriptstodayproduce
reactiontimessimilartowhatsshowninFigure3.Humansproducereactiontimessimilartowhatsshownin
Figure5.Howdifferentarethetwosetsofdata?Woulditbeeasytodetectabotbasedonreactiontime?Yes.It
wouldbeterriblyeasytodetectbotsbasedonreactiontimes.WeshouldassumeJagexanalyzesreactiontimes
becauseitissuchaseasyandreliablewayofdetectingbots.Nohumanisgoingtoproducereactiontimes
similartoFigure3.Well,maybeoneinatrillionpeoplewillsinceIcantprovethat.ButImsureJagexwould
besatisfiedwith99.999999999%accuracy.Falselybanningoneinatrillionpeoplewouldbeworthhavinga
definitewayofdetectingbots.
NowletsbringupABCforaminute.ABChasdelayswhichcircumventsthedetectionabove(toanextentIm
workingonimprovingit).However,ABCdelaysareverylimitedinthattheyareonlydefinedforcertain
scenarios.AscriptmayimplementABCdelays,butIbetyounotthatthescriptalsohasotherdelayswhichuse
General.random(min,max).Thisisaproblem.Evenifyouhavehumanlikedelaysformostevents,ifyouuse
delayswhichuseGeneral.random(min,max),yourscriptishighlyexposed.
Torecap,hereiswhyyoushouldavoidusingGeneral.random(min,max).Thevaluesgeneratedwillbeevenly
distributed,betweentherangeof[min,max].Jagexisabletonotice:
1. Thedataisevenlydistributed.
2. Theminimumusedtogeneratethepseudorandominteger.
3. Themaximumusedtogeneratethepseudorandominteger.
ThosearethreewaysJagexisabletodetecttheuseofGeneral.random(min,max)fordeterminingtask
execution,reactiontimes,etc.EvenusingGeneral.random(0,1)==0todeterminewhethertoopenthechoose
optionmenu,ortojustleftclickanobjectisdetectable.Thereasonbeingisthatallusersofthescriptwillbe
openingthemenu50%ofthetime,andleftclicking50%ofthetime,always.
Humansarenotrandom.
MyProposition
https://tribot.org/forums/topic/45437avoidingdetectionscripteredition/
3/11
4/7/2015
AvoidingDetection:ScripterEditionScripterDiscussionTRiBotForums
IproposethatweshouldavoidusingGeneral.random(min,max)asmuchaspossible.Herearesomescenarios
inwhichweshouldnotuseGeneral.random(min,max),butnotlimitedto:
ReactionTimesorDelays
PointClicking
Determiningwhichactiontoperform
E.x.CallingGeneral.random(0,4).If0,performactionA.Elseif1,performactionB.Elseif2
performactionC.Elseif3,performactionD.Elseif4,performactionE.
InsteadofusingGeneral.random(min,max),weshouldgeneratedintegerswhichareorientedaroundacertain
value,andwhichhavenodefinitebounds(oratleasttrytonotusebounds).
IproposethatweuseGaussianpseudorandomintegers(http://en.wikipedia....ussian_function
(http://en.wikipedia.org/wiki/Gaussian_function)).Wecanusenormaldistributiontoeasilyreplicatehuman
behaviour.Whyisthis?Normallydistributedintegersorientaroundameanvalue,muchlikehowhuman
behaviororientsaroundatargetaction(suchasdartsbeingaimedatthebullseye,andlandingaroundthe
bullseye).
TRiBothasmethodsinsidethegeneralclasscalledrandomSD.Thesemethodswillgeneratenormally
distributedintegers,tohelpyouingeneratinghumanlikebehaviour.
Now,ifyouwantaskewedbellshapeddistributioninsteadofanormaldistribution,thenyoucancreatea
functionwhichusesRandom.nextGaussian()todothat.Seehttp://stackoverflow...certainnumber
(http://stackoverflow.com/questions/5853187/skewingjavarandomnumbergenerationtowardacertain
number)forsomeexamples.Remembertoavoidusingbounds.
Ihighlyrecommendthatyoucollecthumandataforyourscriptwhilewritingit.Forinstance,ifyouhavea
delaybetweenburyingbones,youshoulduseaprogramtotimeyour(human)reactionforburyingbones.Then
analyzethedatayoucollected.Afterwards,createamethodtogenerateareactiontimeforburyingbonesto
simulateyourhumanreactiontime.Afteryouvedonethat,generateatonofvalues,thenanalyzethosevalues.
Compareyourhumananalysistoyourscriptanalysis.Makesureyoudontreleasethescriptuntilyoucanttella
computeranalysisapartfromthehumananalysis.
Thatsnotallyoucando.WhengeneratingtheseGaussianpseudorandomintegers,avoidhavingallscriptusers
usethesameparameters(mean,standarddeviation,etc.).Idrecommendgeneratingdifferentparametersfor
differentRuneScapeaccountsbasedonaseedoftheRuneScapeusername.Thatway,usersofyourscriptwont
allsharethesamereactiontimesandsuch.AsexplainedinotherthreadsrelatingtoABCandcharacter
randomization,100differentplayersallplayingthesamewayisnttoohardtodetect.
LetshavealookwhatIcameupwithforinventory/interfaceclicking.InsteadofusingGeneral.random(min,
max)togeneratepoints,Iusednormaldistribution(General.randomSD).Belowareimagesofpointsgenerated
by1)computer,and2)human.
Isiteasytonoticewhichoneiscomputergenerated,andwhichoneishuman?Notatall.Keepinmindthatthe
humangeneratedonewasgeneratedfromthedataof10differentpeople,allmashedup.Differenthuman
accuracieswereallcombinedwhenformingthedata.Thecomputergenerateddataissimulatedforone
individual,not10.Thatexplainswhythedistributionofpointsinthebottomhalfoftherightimageisalotmore
spreadoutthanthedistributionofpointsinthebottomhalfoftheleftimage.Wecanassigndifferentspreads
(standarddeviations)foreverydifferentRuneScapeaccounttoachievemaximumhumanlikebehaviour.
Sotoiteratemyproposition,stayawayfromGeneral.random(min,max)fordecidingscriptbehaviour,and
makesuretoanalyzeandcompareyourscriptbehaviourtoyourhumanbehaviour.
https://tribot.org/forums/topic/45437avoidingdetectionscripteredition/
4/11
4/7/2015
AvoidingDetection:ScripterEditionScripterDiscussionTRiBotForums
makesuretoanalyzeandcompareyourscriptbehaviourtoyourhumanbehaviour.
GeneratingReactionTimes
Youmaynotknowhowtomakeyourscriptgeneratereactiontimes,soletmeteachyou.
First,familiarizeyourselfwithNormalDistribution(http://en.wikipedia....al_distribution
(http://en.wikipedia.org/wiki/Normal_distribution))andStandard
Deviations(http://en.wikipedia.org/wiki/Standard_deviation).()Itisessentialthatyouknowthoseconceptsif
youwishtosuccessfullyimplementhumanlikerandomization.
Now,let'ssaywearemakinganalchingscript.Weneedtogeneratereactiontimesforknowingwhentocastthe
spell.Thereactiontimewillbethetimebetweenwhenthecharacterfinishesthealchinganimation,andwhen
theuserorbotclickstheitem/interfacetocastthespell.
Weshouldcreateascripttomeasurethisreactiontime,thentoaddthatreactiontimetoalist.Youshouldknow
howtodothis.
Afterabout500alchs,havethescriptcalculatemeanandstandarddeviation.Makesureyoudon'tcalculatethe
meanandSDwithalowsamplesize(solessthan500alchs)becausetheloweryougo,thelessaccuratethe
calculatedvalueswillbe.
TocalculatemeanandSDforyourreactiontimes,youcanusethecodebelow:
double[]calculateReactionTime(finalList<Integer>reaction_times){
doublesum=0
for(finalinttime:reaction_times)
finaldoublemean_time=sum/reaction_times.size()
doublevariance=0
for(finalinttime:reaction_times)
variance/=reaction_times.size()
finaldoublesd=Math.sqrt(variance)
returnnewdouble[]{mean_time,sd}
sum+=time
variance+=Math.pow(timemean_time,2)
Inputthelistofreactiontimes.Makesureyoudon'tinputanemptylistorthemethodwillthrowadivideby
zeroexception.Themethodwillreturnanarrayofdouble,withthefirstindexbeingmeanreactiontime,and
thesecondindexbeingstandarddeviationofthereactiontimes.
Wewillusethesevaluestogenerateourpseudoreactiontime,usingsomethinglike
General.randomSD(0,30000,mean_time,sd)
Where0isthelowerbound(youcan'thaveanegativereactiontime),30000istheupperbound(over99.9%of
returnedreactiontimesshouldbelessthanthisbound).Mean_timeandsdshouldbeaconstantvaluewithin
thescript,thesamevalueswhichwerereturnedbycalculateReactionTime.Soif{531,86}wasreturnedby
calculateReactionTime,thenyou'duse531asmean_timeand86assd.
Now,weshouldapplycharacterrandomizationtothesevalues.Thatis,foreverydifferentRuneScapeaccount,
thescriptshouldgeneratedifferentvaluesformean_timeandsd.Takethiscodeforexample:
doublerandomSD(finalRandomrandom,finaldoublemin,finaldoublemax,
doublerand
finaldoublemean,finaldoublesd){
do{
}while(rand<min||rand>=max)
returnrand
rand=(int)(random.nextGaussian()*sd+mean)
https://tribot.org/forums/topic/45437avoidingdetectionscripteredition/
5/11
4/7/2015
AvoidingDetection:ScripterEditionScripterDiscussionTRiBotForums
returnrand
double[]generateCharacterProfile(finalStringusername){
longseed=0
for(inti=0i<username.length()i++){
seed<<=2
seed+=username.charAt(i)
seed*=username.length()
finalRandomrandom=newRandom(seed)
finaldoublehuman_mean_time=531
finaldoublemean_time=randomSD(random,human_mean_time(human_mean_time/5),human_mean_time+
finaldoublehuman_sd=86
finaldoublesd=randomSD(random,human_sd(human_sd/10),human_sd+(human_sd/10),human_sd,human_sd
returnnewdouble[]{mean_time,sd}
Thiscodewillgenerateaseedbasedontheplayer'susername.Withthatseed,itcreatesameanreactiontime,
andastandarddeviationspecifictotheindividualplayer.Youshouldthenusethesevaluestogeneratethe
reactiontime,insteadofusingconstantssuchas531and86.Bytheway:Ididn'ttesttheseedgenerationabove,
soifyouaregoingtousethatseedgeneration,youshouldtestthatitworks.
Youcaneventakethisonestepfurtherandcollectrealhumanmeantimesandstandarddeviationsfrom
multiplepeople,thenusethatdatatoadjustgenerateCharacterProfile(you'dwanttocalculateameanandSD
forthecollectedmeansandSDs).
IndividualPlayerCharacteristics
AnothertendencyofscriptersistomakealltheRuneScapeplayerswhousetheirscripthavethesame
characteristics.
Saywehaveawoodcuttingscriptthatusesrunbycontrolclick.Withtypicalscripts,allusersofthescriptwillbe
forcedtouserunbycontrolclick.
Nowletsconsiderhumanplayers.Howmanyofthemuserunbycontrolclick?Itcouldbeamajorityofplayers,
oritcouldbeaverysmallminorityofplayers.Letsjustsaythat5%ofhumanplayersuserunbycontrolclick.
Ifallplayerswhousethescriptareusingrunbycontrolclick,theamountofplayerswhoarewoodcuttingand
usingrunbycontrolclickisgoingtodrasticallyincrease(withthe5%assumptionabove).Saytheamountof
woodcuttersusingrunbycontrolclickraisesfrom5%(humans)to40%.The35%increasewillbefromthebots.
Fromastatisticalstandpoint,5/40,or12.5%ofthepeopleusingrunbycontrolclickarehumans.35/40,or
87.5%ofthepeopleusingrunbycontrolclickarehumans.Whileaplayerusingrunbycontrolclickmaynot
necessarilybeabot,theresagoodchanceofit.SothatplayerwouldbelikelyflaggedbyJagexforfurther
inspection.
Now,certaincharacteristicsperformedbythescriptcouldbeperformedbyamajorityofhumanplayers,ora
minority.Havingscriptcharacteristicsperformedbyaminorityofhumanplayersislikelytoraiseaflag.Butwe
dontalwaysknowforafactwhetherthecharacteristicifperformedbythemajority,ortheminority.
Thisiswhyweshouldntgivecharacteristicstoalltheusersofascript.Rather,thecharacteristicsshouldbe
generateduniquelyforeachindividualRuneScapeplayer(likehowABC/characterrandomizationdoesit).
Further,thegeneratedcharacteristicsshouldreflectthehumanpopulation.Ifamajorityofrealplayersperform
actionXoveractionY,thenthescriptshouldmakeamajorityofitsusersperformactionXoveractionY.
ThisisthegoalofABCtogenerateuniquecharacteristicsforeverydifferentRuneScapeplayer.ButABC
doesntspanenoughareastocoverallpossibleplayingcharacteristics.Youasascriptershouldgenerate
characteristicsforeverydifferentRuneScapeplayerifthatcharacteristicisntcoveredbyABC.
https://tribot.org/forums/topic/45437avoidingdetectionscripteredition/
6/11
4/7/2015
AvoidingDetection:ScripterEditionScripterDiscussionTRiBotForums
Thisdoesntjustapplytosituationssuchasrunningviaclickingtherunbutton,orrunningbycontrolclick.This
alsoappliestobottomlevelscriptbehaviors,suchashowthescriptgoesaboutsolvingproblems.Takeachicken
killingscriptbyme,andachickenkillingscriptbyUsaforexample.Thetwoscriptswillperformdifferently
becausedifferentproblemsolvingapproacheswereimplemented.Thisishowyourscriptshouldwork.For
playerX,thescriptperformsliketheonemadebyTRiLeZ.ForplayerY,thescriptperformsliketheonemade
byUsa,forplayerZ(etc)
Individualplayercharacteristicsmaynotbeadeadgiveawaythataplayerisabotlikehowrandomization
issuesdo,butassigningdifferentcharacteristicstodifferentplayersisimportanttoavoidplayersbeingflagged
asbots.Ifenoughflagsareraisedforaplayer,thatplayerwilleventuallyreceiveaban.
LackofDelaysofReactionTimes
Thisisabigproblemwithalotofscripts.Thescriptsdontperformanysortofdelaybetweenactions.Lookback
atFigure5.Areallofthereactiontimes0?Someare,butmostarent.Soperformingactionswith0delays
betweenthemisterriblyeasytodetect.Figure5ismyprooftothisclaim.
Soplease,fortheloveoftheFlyingSpaghettiMonster,stopmakingyourscriptperformnodelaybetween
actions.
LetssaywearedeliveringaballfrompointAtopointB.Youhavetwooptionseitherruntheballtothetarget,
orinsertitintoamachinewhichisabletoshoottheballat200metrespersecond.Ifyoumeasurethetimeit
takesgettheballfrompointAtopointB,areyouabletoconcludewhethertheballwasrunbyahuman,orshot
viamachine?Mostdefinitely.
HavingnoreactiondelayistooeasyforJagextodetect,sostopdoingit.
UsingAPIMethodsvsCustomMethods
AlotoftheAPImethodswerecraftedwithantibaninmind.Ontheotherhand(orevenall),mostcustom
methodsIveseenhavehadzeroantibaninitiative.Oftentimes,theyllalsobehighlydetectable,becauseofone
ofthecommonscriptflawsIvelistedabove.IurgeyoutoalwaysuseAPImethodsoverusingcustommethods
forthisreason.
Asanexample,IlluseUsaslatestwoodcuttingscript(sorry).Histreeclickingscriptchosearandompointfrom
thetreemodel(remember,randomnumbersareevenlydistributed).Humansdontchosepointsthisway.
TRiBotsmodelclickingmethodshavealgorithmswhichchoosesthemosthumanlikepointtoclick.Another
flawwithhisclickingmethodwasthatitusedGeneral.random(0,50)togenerateadelaybetweenmovingthe
mousetothedestination,andsendingtheclick.Thiswillproduceadelaybetween0and50,witheven
distribution.AsevidentinFigure5,humandelaysarenotlikethis.
SopleasestopusingcustommethodsoverAPImethods.Mayeventhinkyourcustommethodshavegoodanti
ban,buttheyprobablydont.
IknowsomeAPImethodsdonotbehaveinthebestwayforallcircumstances,butpleasetrytomakeitwork.
Youcanalsohelpbyexplainingtomehowtheyarefailingforyou,andIcantryandimprovethem.
HighSpeedsandLowDelays
Highspeedsandlowdelayscanalsobeagiveawayforyourbots.Humansareonlysofast.Humanscanonly
maintainveryhighattentionforsolong.YourbotsshouldntmakethosewhouseitSuperman.Supermanis
obviouslynothumanbecausenohumancanliftthousandsofpounds.Nohumancanrunattenthousandmiles
persecond.Yourscriptshouldnotperformactionsfasterthanhumanscan.Ifitdoes,thenanyplayerwhouses
yourscriptwilllooklikeSuperman.Smallspeedincreasesmaynotbeverynoticeabletothehumaneye,butif
thespeedsarestatisticallyanalyzed,theywillstandoutlikeasorethumb.
Conclusion
Pleaseimproveyourscriptsusingtheaboveconsiderations.Peopledontwanttogetbannedafterusingbots.
Thehigherthanbanrate,thelowertheamountofpeopleusingbots.Ifyouwantmoreuserstouseorpurchase
yourscripts,youshouldmakeitsousersarentafraidtheyllgetbannedbyusingit.Thehigherthebanrate,the
fasterthebottingcommunitywillshribbleupanddie.Ifyouenjoybans,losingmoney,and/orlosingusers,then
https://tribot.org/forums/topic/45437avoidingdetectionscripteredition/
7/11
4/7/2015
AvoidingDetection:ScripterEditionScripterDiscussionTRiBotForums
ignorethismessage.Otherwise,gettowork.
TRiLeZ
Posted17February201511:42PM
Ifyouwantaccesstostatisticalanalysissoftware,IrecommendpurchasingasubscriptiontoStatCrunch
(http://www.statcrunch.com/).It's$15for6months.
Usa
Posted18February201512:00AM
Alessonforalltolearnandimproveupon,weneedtochangeourthinkingandhabitsalikeandreallyfocuson
eachindividualmethodtoensurewe'reofferingthebestantibanpossibletothecustomer.Therearealotof
greattipsinhere,muchofwhatIhavelearnedbutnotpracticedinrecentevents,thatIhopewecanallfocuson
infuturedays.
TRiLeZ
Posted18February201505:16PM
IaddedasectioncalledGeneratingReactionTimes.
JoeDezzy1
Posted18February201508:58PM
exploitingusernamesatitsfinest
JJ
Posted20February201504:47PM
Interestingread,I'llmakeuseofrandomSDinJJ'sFightersoon
wastedbro
Posted27February201502:35PM
SoinsteadofusingGeneral.random(min,max),weshoulduserandomSDbecauseitusesabellcurve
distributionofrandomness.
Isitstillviabletousethistypeofrandomnessifwedon'tpreciselyknowtheaveragehumantime?Canwejust
assumetheaveragehumandelaybasedoneducatedguessinginacasewhereitwouldnotbeviableorworth
gettingourowndata?
Iunderstandthatbydoingso,itdoesdecreaseeffectivenessofthemethod,howeverIjustwanttoknowifit's
moreviablethananevenlydistributed(min,max)generation?
Asanexample,Ihaveamethodthatclicksanobject.Ifitmisses,Ineedittowaitacertainamountoftime
beforetryingagain.Todothis,Igeneratedausernameseed(yourmethod)withtheaveragehumanmeantobe
about320andSDto102.ThenIenteredtheusernameseededvaluestotherandomSDmethodtosimulatea
randomwaittimewhichshould,inmostcases,be200350.
Iassumemymethodisbetterthandoing"sleep(200,350)".
Usa
Posted27February201507:09PM
wastedbro,on27Feb20152:35PM,said:
SoinsteadofusingGeneral.random(min,max),weshoulduserandomSDbecauseitusesabellcurve
https://tribot.org/forums/topic/45437avoidingdetectionscripteredition/
8/11
4/7/2015
AvoidingDetection:ScripterEditionScripterDiscussionTRiBotForums
SoinsteadofusingGeneral.random(min,max),weshoulduserandomSDbecauseitusesabellcurve
distributionofrandomness.
Isitstillviabletousethistypeofrandomnessifwedon'tpreciselyknowtheaveragehumantime?Canwe
justassumetheaveragehumandelaybasedoneducatedguessinginacasewhereitwouldnotbeviableor
worthgettingourowndata?
Iunderstandthatbydoingso,itdoesdecreaseeffectivenessofthemethod,howeverIjustwanttoknowif
it'smoreviablethananevenlydistributed(min,max)generation?
Asanexample,Ihaveamethodthatclicksanobject.Ifitmisses,Ineedittowaitacertainamountoftime
beforetryingagain.Todothis,Igeneratedausernameseed(yourmethod)withtheaveragehumanmean
tobeabout320andSDto102.ThenIenteredtheusernameseededvaluestotherandomSDmethodto
simulatearandomwaittimewhichshould,inmostcases,be200350.
Iassumemymethodisbetterthandoing"sleep(200,350)".
TheonlycorrectwaytoutilizerandomSDistogetamin/max/mean/sdfromactualhumandata.Thiscanbe
takenfromascript,Iamcurrentlywritingatool(moreofaskeleton)thatwouldservethepurposeofthis.
Thescripterwouldthenhavetowritetwocases,thestartandendofthetimingtest.
i.e.youarecalculatinghowlongitfromthetimeyouclicktoopenthebanktoyourfirstmousemovementtothe
itemsinthebank,youwritebothmethodsandaddthemtothetool...runitfor100times(suggestedbyTRiLeZ)
tohavesufficientdataandthenwhenyoustopit,thescriptwilloutputyourinformation.I'llhavethisopen
sourcedtomorrowmorning.
tldryoucantassumeyouknowwhatthehumanreactiontimingis,withoutactuallytestingiteventhoughyou
havean"idea"ofwhatthevaluesare
TRiLeZ
Posted27February201507:18PM
I'dalsoliketostressthatadifferentof100msinmeanorSDmaynotbetoonoticabletothehumaneye,but
whenstatisticallyanalyzed,thedifferencewillbeobvious.GuessingmeanandSDmightseemeffectivewhena
scriptperformsthedelays,butthat'snotastatisticallyviableapproach.It'sbetterthanusingsleep(min,max),
butyoucan'texpecttowinamarathonifyouhalfassit.
wastedbro
Posted27February201507:39PM
TRiLeZ,on27Feb20157:18PM,said:
I'dalsoliketostressthatadifferentof100msinmeanorSDmaynotbetoonoticabletothehumaneye,but
whenstatisticallyanalyzed,thedifferencewillbeobvious.GuessingmeanandSDmightseemeffective
whenascriptperformsthedelays,butthat'snotastatisticallyviableapproach.It'sbetterthanusing
sleep(min,max),butyoucan'texpecttowinamarathonifyouhalfassit.
Ofcoursenot,Ijustwantedtoknow.
Halfassingthisismoreviablethanallpreviousmethodsthatexist.However,tobeclear,I'mnothalfassing.
Somethingscanbevery,veryhardtomeasure.Forexample,thereactiontimetotryagainafteramissclick(or
themousefailingtoactuallyclick).I'dhavetodetectthatpatternandhavepeopleplaynormallyforhourstojust
getevenafewsamples.AndeventhenitdependsaLOTofwhattypeofobjecteachpersonisattemptingto
click.
daxmagex
Posted27February201508:03PM
TRiLeZ,on27Feb20157:18PM,said:
I'dalsoliketostressthatadifferentof100msinmeanorSDmaynotbetoonoticabletothehumaneye,but
https://tribot.org/forums/topic/45437avoidingdetectionscripteredition/
9/11
4/7/2015
AvoidingDetection:ScripterEditionScripterDiscussionTRiBotForums
I'dalsoliketostressthatadifferentof100msinmeanorSDmaynotbetoonoticabletothehumaneye,but
whenstatisticallyanalyzed,thedifferencewillbeobvious.GuessingmeanandSDmightseemeffective
whenascriptperformsthedelays,butthat'snotastatisticallyviableapproach.It'sbetterthanusing
sleep(min,max),butyoucan'texpecttowinamarathonifyouhalfassit.
WouldusingthisSDalgorithmbeaviablereplacementofwaitNewOrSwitchobjectdelay?
I'llgiveinahuntingexamplesinceit'swhatI'mconcernedabout.
Whenhuntingforlongperiodsoftime,apersongetsbetterandmoreefficientatthetask,whichinthiscaseis
hunter.Whenyou'vejustlayeddownatrap,inordertomoveontothenextlocation,youwillhavetoclickonto
thenextlocationbeforethenext"runescapetick"comesin(Orelseyourcharacterwillignoretheclickand
wastesthenext1.5secondsmoving1tileleftoutofyourcontrol).Thistimeframeisabout<400milliseconds.
Thisisaveryshortamountoftimeandevenwithcombatswitchdelaythebotwillmissthisveryoften.Added
ontothefactorthatsomeaccountprofilesdonothavehovernext,theywillcompletelymissthistimespan
completelyeverytime.Iactuallybelievethatifyoudonothaveanaccountwithaabcprofilethathoversnext,
thebotwillalmostneverhitthetimingsright.ThisissomethingIwitnessedwiththeABCprofilesof~10
accountslastweekendallhuntingchins.
WhatIhavefoundisthatthebotshowsnosignof"humanimprovement".Thebotwillhuntconsistentlyas
efficient,orinefficientasithadstartedwith.Ofcourse,thiswouldbefixedwithafatiguesystemthatincreases
thelengthsleepsovertime,butthiswouldmeanthatthistimeframeoftraplayingwillbemissed100%ofthe
time,meaningallhunterbotsafterxamountoftimewillhuntasinefficientlyaspossible.
Hereisaexamplecaseofmeimitatingthebot
Theconditiontoclicknexttileisthemomentthetrapisdetectedonground
Myhovernextwouldbethetileontherightside.IfIfailthetiming,Iwouldmovetotheleftside
regardlessofwhereIclick.
Mymouseinitialpositionwouldbeattheinventory(Imitatingbotafterjustfinishedclickinglaytrap
frominventory)
Timingneededtohuntefficiently
FailCases
Withouthovernext
https://tribot.org/forums/topic/45437avoidingdetectionscripteredition/
10/11
4/7/2015
AvoidingDetection:ScripterEditionScripterDiscussionTRiBotForums
Withhovernext
NewBotterFTW
Posted05March201510:22PM
Quote
Itdoesn'tmatterhowbeautifulyourtheoryis,itdoesn'tmatterhowsmartyouare.Ifitdoesn'tagreewith
experiment,it'swrong.
Readmoreathttp://www.brainyquo...kKp7zlxyJoYQ.99
(http://www.brainyquote.com/quotes/authors/r/richard_p_feynman.html#GfhHkKp7zlxyJoYQ.99)
BasicallyIamtryingtosaythatthismethodwillonlyworkifyouexperimentallygetthevalues,youcan'tguess
whattheymightbe.
EditedbyNewBotterFTW,05March201510:23PM.
TehRhio
Posted21March201507:13PM
daxmagex,on27Feb20158:03PM,said:
WouldusingthisSDalgorithmbeaviablereplacementofwaitNewOrSwitchobjectdelay?
BacktoScripterDiscussionNextUnreadTopic
https://tribot.org/forums/topic/45437avoidingdetectionscripteredition/
11/11