Sunteți pe pagina 1din 11

4/7/2015

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

TRiBotForums Scripters'Forums ScripterDiscussion

https://tribot.org/forums/topic/45437avoidingdetectionscripteredition/

11/11

S-ar putea să vă placă și