วิธีการตรวจสอบและป้องกันการละเมิด (บอตต์) ของ API เกมออนไลน์


49

ฉันได้ทำงานกับแนวคิดเกมในเวลาว่างของฉัน รูปแบบการเล่นและเนื้อหาทำให้เกมนี้เป็นเกมออนไลน์แบบผู้เล่นหลายคนที่สร้างขึ้นด้วยเทคโนโลยีเว็บที่ได้รับการยอมรับเป็นอย่างดี คุณควรรู้ว่ามันตกอยู่ในกลยุทธ์และประเภทการจำลอง นั่นหมายความว่า: ไม่ต้องวิ่งไปไหนมาไหนพร้อมกับตัวละครหรือแอ็คชั่นอะตอมมิกที่คล้ายกัน

ณ จุดหนึ่งฉันรู้ว่ามีปัญหาใหญ่: การมีเบราว์เซอร์ที่ใช้ front end อาศัย REST API back end ทำให้มันเป็นเป้าหมายที่ยอดเยี่ยมสำหรับบอท ในขณะที่ระบบอัตโนมัติเป็นที่ต้องการสำหรับธุรกิจมันเป็นพิษต่อเกมที่สนุก ฉันพบว่ามันเป็นเกมเบราว์เซอร์มือแรกในอดีตคือผู้เล่นที่ประสบความสำเร็จมากที่สุดคือบอทซึ่งทำให้ทุกคนสงบลง

จากมุมมองปัจจุบันของฉันฉันไม่เห็นความเป็นไปได้ที่จะป้องกันบอทเมื่อสร้างเกมออนไลน์ที่มีผู้เล่นหลายคนโดยใช้ REST API ข้อยกเว้น: ทำให้เป็นโอเพนซอร์ซเพื่อให้ทุกคนสามารถโฮสต์อินสแตนซ์ของเขาเองสำหรับกลุ่มส่วนตัวหรือแม้แต่แค่ตัวเอง (เพื่อไม่ให้ jerks รำคาญกับบอท)

มีวิธีการที่แตกต่างกันระหว่างผู้เล่นที่ซื่อสัตย์ที่เพิ่งตั้งปลุกสำหรับการกระทำที่เป็นไปได้ต่อไปและบอทจะรับโอกาสโดยอัตโนมัติทุกครั้งที่ปรากฏตัวหรือไม่ นอกจากนี้ stoppers แสดงเช่น captchas ถ้าไม่ฉันจะคิดเกี่ยวกับเทคโนโลยีกองซ้อนอื่นซึ่งทำให้อย่างน้อยยากยิ่งที่จะยุ่งกับการสื่อสารของลูกค้าเซิร์ฟเวอร์ (โปรโตคอลเลขฐานสองเข้ารหัสที่เป็นกรรมสิทธิ์ในไคลเอนต์รหัสพื้นเมือง)

แก้ไข : ขอบคุณคำตอบของคุณเป็นแรงบันดาลใจ แต่ก็ทำให้ฉันตระหนักว่าการตอบโต้ที่เฉพาะเจาะจงไม่สามารถทำได้โดยไปที่รายละเอียดของเกม อย่างไรก็ตามนั่นอาจจะมากเกินไปสำหรับคำถามในการแลกเปลี่ยนสแต็ค ดังนั้นฉันแค่ต้องการชี้ให้เห็นประเด็นที่สำคัญที่สุด:

  • ผู้เล่นกำลังสำรวจพัฒนาและจัดการเมื่อใดก็ตามที่พวกเขาต้องการ ธุรกิจของพวกเขายังคงทำงานได้ดีเมื่อพวกเขาออฟไลน์ (มันเป็นเกมที่สงบไม่มีอาวุธที่เกี่ยวข้อง) การขยายตัวและความก้าวหน้าเท่านั้นที่ต้องมีการกระทำของผู้เล่น การกระทำเหล่านั้นถูก จำกัด โดย:
  • เวลาเป็นหนึ่งในทรัพยากรหลัก (เช่นในการฝึกอบรมทักษะ EVE Online) กระบวนการทั้งหมดในเกมจำเป็นต้องใช้มัน ไม่มีจุดในการออนไลน์ 24/7 ผู้เล่นเฉลี่ยควรจะประสบความสำเร็จแล้วโดยใช้เวลาไม่เกินหนึ่งชั่วโมงทุกวันในหนึ่งหรือสองครั้ง ( คร่าว ๆแนวคิดยังอยู่ในการพัฒนา)

9
คุณไม่สามารถสร้างเกมดังกล่าวที่ผู้อื่นเขียนโปรแกรมหรือซื้อบอทไม่ทำลายความสนุกของผู้เล่นมนุษย์? และประการที่สองการตั้งโปรแกรม bot / AI เพื่อเล่นเกมสามารถสนุกได้ด้วยตัวเอง ไม่ควรทำลายความสนุกของผู้อื่น
Kasper van den Berg

26
"ระบบอัตโนมัติ [... ] เป็นพิษต่อเกมที่สนุก" ไม่เห็นด้วยอย่างยิ่ง. หากเกมของคุณเกี่ยวกับความสนุกอย่างแท้จริงทำไมต้องลงโทษผู้เล่นในการข้ามส่วนที่พวกเขาไม่มี หากองค์ประกอบจากเกมของคุณน่าเบื่อจนผู้เล่นไม่ต้องการที่จะเล่นและรู้สึกถึงความปรารถนาที่จะมีสคริปต์เข้าครอบครองนั่นเป็นปัญหาที่แท้จริงที่ต้องแก้ไข
Marcks Thomas

6
ตัวอย่างของคุณมีการตอบสนองที่ง่าย: ให้เครื่องมือแก่ผู้เล่นเพื่อที่พวกเขาไม่ต้องการบอท เช่นปล่อยให้พวกเขาเข้าคิวการกระทำมากกว่าสนับสนุนให้พวกเขาออนไลน์ในช่วงเวลาที่แม่นยำหรือรับ / สร้างเครื่องมือสำหรับพวกเขา

4
เหตุผลหลักที่ผู้คนใช้บอทนั้นเป็นเพราะบางส่วนของเกมน่าเบื่อและน่าเบื่อสำหรับพวกเขา (ถ้าพวกเขาสนุกพวกเขาก็แค่เล่น) เห็นได้ชัดว่าผู้เล่นของคุณเพลิดเพลินกับการแข่งขันและความท้าทาย แต่ไม่ใช่การเล่นเกมอัตโนมัติ คุณสามารถลองเปลี่ยนการออกแบบเกมเพื่อลบชิ้นส่วนที่ผู้คนใช้บอทเพื่อเอาชนะหรือปรับสมดุลเกมของคุณเพื่อสร้างการตัดสินใจที่ยากและมีความหมายมากขึ้นซึ่งผู้เล่นสามารถทำได้เพียงคนเดียวและบอทไม่สามารถ (เช่นกลยุทธ์เชิงลึก) . มิฉะนั้นคุณจะถูกตัดสินให้เข้าร่วมการแข่งขันทางอาวุธและบอตเตอร์จะชนะ
Superbest

6
tl; dr: ผู้คนจะไม่ชอบแข่งขันกับผู้ชายด้วยการเตือนภัยและไม่มีงานใดนอกจากการต่อสู้กับบ็อต - และนั่นคือสิ่งที่จะผลักดันให้พวกเขาวิ่งบอท
Random832

คำตอบ:


50

หากผู้คนต้องการบอทฉันไม่คิดว่าคุณจะหยุดพวกเขาได้จริงๆ

แน่นอนคุณสามารถใช้มาตรการหลายอย่างที่ทำให้การบอตเจ็บปวดมากขึ้นหรือน้อยลง แต่คุณสามารถทำได้มากก่อนที่โค้ดเบสของคุณจะกลายเป็นระเบียบขนาดมหึมาซึ่งเป็นนรกที่ต้องดูแลรักษาข้อผิดพลาดและผู้ใช้ที่ชอบด้วยกฎหมาย ในขณะเดียวกัน botters จะหาวิธีที่จะเอาชนะวิธีการของคุณ

  • มีมากกว่าพวกคุณ
  • พวกเขามีเวลาว่างมากขึ้นในมือของพวกเขา (คุณต้องแบ่งเวลาระหว่างการพัฒนาที่เกิดขึ้นจริงและการพิสูจน์อักษร bot พวกเขาสามารถแฮ็ครหัส bot ของพวกเขาตลอดทั้งวัน)
  • ในขณะที่คุณสร้างความแปลกใหม่ความท้าทายในการปกป้องผู้เขียน ธ ปท. จะได้รับการส่งเสริมเพิ่มเติมเพราะมันสนุกที่จะทำลายการป้องกันบอทของคุณ
  • หากมีตลาดมืดของผู้คนที่ทำกำไรเชิงพาณิชย์จากบ็อตยิ่งยากที่คุณจะเขียนบอทที่บอททำงานที่มีค่ามากขึ้นจะกลายเป็นดังนั้นคุณจึงสร้างแรงจูงใจบอท

โดยทั่วไปคุณจะถูกขังอยู่ในการแข่งขันทางแขนกับบอตเตอร์และตามตรรกะตามแนวของคะแนนด้านบนรวมถึงประสบการณ์ของฉันกับเกมดังกล่าวคุณจะไม่สามารถติดตามได้

ผู้พัฒนาเกมบางรายใช้มาตรการต่อต้านการโกงอย่างรุนแรง: ตัวอย่างเช่น Steam จะสแกนหน่วยความจำและระบบไฟล์เพื่อค้นหาแฮ็กและผู้กระทำผิดสามารถถูกลงโทษได้โดยการสูญเสียบัญชีมูลค่าหลายร้อยดอลลาร์ ถึงกระนั้นก็ยังมีบอทและแฮ็กอื่น ๆ สำหรับเกม Steam และบางเกมก็ใช้งานได้ครึ่งเวลา คุณมี API ที่เปิดกว้างสำหรับผู้ใช้และไม่สามารถควบคุมคอมพิวเตอร์ของผู้ใช้ได้ มันเป็นการต่อสู้ที่ยากเย็นแสนเข็ญตั้งแต่ต้น

ปัญหาที่คุณพยายามแก้ไขคือการทดสอบทัวริง: ยกเว้นเป็นการทดสอบทัวริงที่ง่ายมากเพราะคุณไม่สามารถโกงได้โดยต้องการปัญหา AI ยากเช่นภาษา ไม่ว่าคุณจะสร้างฮิวริสติกจำนวนมากแค่ไหนก็ตามมันเป็นเรื่องธรรมดาที่บอตเตอร์จะเพิ่มการสุ่มให้กับการกระทำของบอทเพื่อให้มันเลียนแบบมนุษย์ มันคงไม่ยากเลยที่จะให้บอทดูคุณเล่นสักหน่อยและเรียนรู้วิธีการทำเวลาให้เหมือนกับคุณ จากนั้นเมื่อคุณแบนบอทบ็อตเตอร์จะโพสต์คำปราศรัยครั้งใหญ่ในฟอรัมว่าเขาเป็นผู้เล่นที่ทุ่มเทได้อย่างไร (และบางทีเขาอาจเป็นคนที่มองโลกในแง่ดีผิด ๆ ) และผู้ชมหลักของผู้เล่นฮาร์ดคอร์

ทำให้เกมสนุกเกินไปที่จะบอท

เหตุผลหลักที่มีคนใช้บอทเนื่องจากมีบางส่วนของเกมที่พวกเขาต้องการข้าม หากพวกเขาสนุกกับเกมและพบว่าสนุกพวกเขาจะไม่ได้เล่นบอทพวกเขาจะเล่นเอง

แต่ถ้าเกมนั้นน่าเบื่อทำไมเล่นเลย? สันนิษฐานว่าบางส่วนของเกมน่าเบื่อและบังคับให้ไปยังส่วนที่สนุก ยกตัวอย่างเช่นใน MMO ทุกคนชอบที่จะขึ้นไปสู่ระดับ แต่ไม่มีใครต้องการที่จะฆ่าหนูพิษไร้เดียงสา 42,324 ที่น่ากลัวเพื่อรับ XP ดังนั้นพวกเขาจึงปล่อยให้บ็อตบดและเข้าไปเล่นส่วนที่สนุก

นี่ไม่ใช่คำวิจารณ์ของคุณหรือเกมของคุณ แต่อย่างน้อยผู้เล่นบางคนก็พบว่าเกมของคุณน่าเบื่อ คุณควรดูว่าคุณสามารถลดส่วนที่น่าเบื่อเหล่านี้และมองหาการตัดสินใจที่ยากและมีความหมายมากขึ้น: บอทไม่เก่งในการใช้กลยุทธ์ที่ลึกหรือการคิดนอกกรอบเทียบกับสติปัญญาของมนุษย์

จากคำอธิบายของคุณฉันได้รับความประทับใจว่านี่เป็นเกมเบราว์เซอร์ที่คล้ายกับทราเวียนซึ่งมีคิวการสร้างที่มีลำดับการสร้างที่ดีที่สุดเพียงครั้งเดียวและ "การบำรุงรักษา" บางอย่าง คุณบอกว่าไม่มีความขัดแย้ง แต่ในละครเรื่อง MMO และเรื่องการเมืองเล็ก ๆ น้อย ๆ นั้นเป็นสิ่งที่หลีกเลี่ยงไม่ได้ (IMO มันเป็นสิ่งดึงดูดหลัก) ดังนั้นฉันมั่นใจว่าผู้เล่นของคุณจะหาหนทางที่จะปะทะหัว ด้วยเกมประเภทเหล่านี้ความน่าเบื่อมากมายมาจากงาน "การบำรุงรักษา" เหล่านี้ - สิ่งที่ผู้เล่นต้องการทำคือสร้างพันธมิตรและเล่นเกมการทูตกับกลุ่มคู่แข่งคู่แข่งการบำรุงรักษาจะกลายเป็นภาษีที่คุณต้องตื่น ถึงการเตือนภัยในเวลาไม่กี่ชั่วโมงเพื่อให้ได้รับอนุญาตให้เข้าสู่ส่วนการทูตที่สนุก ดังนั้นตัดความน่าเบื่อออก:

วิธีนี้อาจไม่ได้ผลเสมอไป ผู้เล่นทุกคนไม่สามารถทนกับความเบื่อหน่ายหรือความสนุกแบบเดียวกันได้ คุณสามารถมีกลไกที่โดดเด่นที่ 99% ของผู้เล่นของคุณเพลิดเพลิน แต่ 1% พบว่าน่าเบื่อ เกิดอะไรขึ้นถ้า 1% จากนั้นเริ่มเขียนบอททำลายความสนุกให้ 99%? แต่ในที่สุดมันเป็นเรื่องของการศึกษาระดับปริญญา คุณไม่สามารถลบการบอตออกได้อย่างสมบูรณ์ แต่คุณสามารถลดความเสียหายให้น้อยที่สุดได้

Undercut botters

ผลกระทบเชิงลบมากมายจากบอทมาจากผู้เขียนบอทในเชิงพาณิชย์ หากเป็นกรณีนี้สำหรับคุณคุณสามารถแข่งขันกับบอทได้ เกมออนไลน์ตามเวลาจริงจำนวนมากมีคุณสมบัติพิเศษที่อนุญาตให้ข้ามเวลาและการดำเนินการอัตโนมัติ (เช่นคิวการสร้างเพิ่มเติม) จำนวนเงินเหล่านี้สำหรับบอทอย่างเป็นทางการของนักพัฒนาที่ถูกลงโทษ หากคุณมีสิ่งเหล่านี้และตั้งราคาอย่างเหมาะสมผู้เล่นจะซื้อพรีเมี่ยมของคุณแทนการซื้อบอท ข่าวดีก็คือคุณต้องรับผิดชอบ API ดังนั้นคุณจึงมีข้อได้เปรียบอย่างมากในการพัฒนาระบบอัตโนมัติที่มีคุณภาพสำหรับเกมของคุณ

สิ่งนี้จะไม่กำจัด botters มือสมัครเล่นหรือผู้ที่รู้สึกว่าพรีเมี่ยมของคุณไม่คุ้มค่ากับเงินดังนั้นประสิทธิภาพของวิธีนี้ขึ้นอยู่กับสถานการณ์อีกครั้ง

มองหาด้วยตนเอง

ดังที่ฉันได้กล่าวไว้ข้างต้นสิ่งที่คุณกำลังทำอยู่ก็คือการทดสอบทัวริง เนื่องจากการมีปฏิสัมพันธ์กับมนุษย์ถือเป็นความท้าทายการทดสอบทัวริงที่มีชื่อเสียงคุณสามารถลองใช้ประโยชน์จากมัน

ตรวจสอบผู้เล่นระดับบนสุดด้วยตนเองและดูว่าคุณพบสิ่งที่น่าสงสัยหรือไม่ คุณอาจสามารถหนีไปกับบางครั้งตรวจสอบพวกเขาด้วยวิธีที่ จำกัด จินตนาการของคุณเพื่อดูว่าคุณสามารถหลอกบอทให้ทำสิ่งที่ไม่ได้ทำ

ในขณะที่มันยากที่จะเขียนอัลกอริธึมที่จะตรวจจับบอทได้อย่างน่าเชื่อถือ แต่มนุษย์ก็ไม่ยากที่จะเรียนรู้วิธีสังเกตพวกมัน ฉันคิดว่าเกมเบราว์เซอร์จำนวนมากใช้กลยุทธ์นี้และมันก็ค่อนข้างมีประสิทธิภาพ ข้อเสียคือคุณต้องทำงานที่น่าเบื่ออยู่ตลอดเวลาหรือต้องจ่ายค่านายเกมเพื่อทำบอทลาดตระเวน


4
ฉันเลือกคำตอบนี้เพราะฉันคิดว่าเป็นสิ่งที่คิดมากที่สุดโดยดูจากคำถามหนึ่งขั้นตอนห่างจากรายละเอียดทางเทคนิค ฉันคิดถึงการเลือก Adam Davis มานานแล้วเพราะมันมีความคิดที่ดีเกี่ยวกับ "วิธีการ"
ปีเตอร์

1
@Alomvar ฉันดีใจที่มีประโยชน์ เนื่องจากคำถามที่ได้รับคะแนนโหวตมากดังนั้นคุณอาจรวมทั้งใส่ลิงค์กับเกมของคุณในโปรไฟล์ของคุณ :)
Superbest

2
ฮึ Travian ยังอยู่ใกล้ ๆ เหรอ? ฉันเล่นเมื่อหลายปีก่อนจากนั้นก็หยุดเมื่อฉันรู้ว่าเกมเพลย์สามารถถูกต้มโดยทั่วไปเพื่อ "อาจชนะทางสังคมวิทยาที่ดีที่สุด"
Mason Wheeler

25

การป้องกันที่ดีที่สุดและมีประสิทธิภาพต่อบอทเท่านั้นคือการออกแบบเกมของคุณในแบบที่ผู้เล่นไม่รู้สึกว่าจำเป็นที่จะต้องทำให้เป็นอัตโนมัติในตอนแรก เมื่อผู้เล่นของคุณทำภารกิจง่าย ๆ โดยอัตโนมัติซึ่งไม่จำเป็นต้องใช้ทักษะจริง ๆ มันเป็นสัญญาณว่าส่วนต่อประสานผู้ใช้ของคุณขาดหายไปและพวกเขากำลังทดแทนคุณลักษณะ UI ที่พวกเขาขาดหายไป

  • เกมของคุณมีงานซ้ำ ๆ ที่ผู้เล่นดำเนินการเหมือนเดิมซ้ำแล้วซ้ำอีกเพื่อบดหรือไม่?

    ทำให้แง่มุมของเกมเหล่านี้ซ้ำซ้อนน้อยลงและน่าสนใจยิ่งขึ้นในการเล่นและเล่นซ้ำ

  • เกมของคุณต้องการให้ผู้เล่นดำเนินการในเวลาที่ไม่สะดวกสำหรับพวกเขาเช่นตอนกลางดึกหรือตอนที่ทำงาน

    อนุญาตให้คิวคำสั่งซื้อ (เช่น "build X1 จากนั้น X2 จากนั้น X3 เริ่มต้นแต่ละรายการทันทีที่มีทรัพยากร") หรือกำหนดเวลาการดำเนินการตามเวลาที่กำหนดล่วงหน้า (build X เวลา 3:22 AM)

  • เกมของคุณกำหนดให้ผู้เล่นต้องทำกิจกรรมภายในเวลาอันสั้นหรือไม่?

    อนุญาตให้พวกเขากำหนดค่าเกมในลักษณะที่การกระทำเหล่านี้ถูกทริกเกอร์โดยอัตโนมัติ

    • เมื่อการสร้าง X ถูกทำลายให้สร้างขึ้นใหม่ทันที
    • เมื่อมีคนเสนอทรัพยากร X ด้วยเงินน้อยกว่า Y ให้ซื้อหน่วย Z ทันที
    • ขายทรัพยากรทั้งหมด X อัตโนมัติเมื่อสต็อกเกิน Y หน่วย แต่ไม่น้อยกว่า Z เงินต่อหน่วย

ตรวจสอบชุมชนของคุณ เมื่อคุณสังเกตเห็นว่าพวกเขาทำสิ่งอื่นโดยอัตโนมัติขโมยแนวคิดและเพิ่มตัวเลือกเพื่อทำให้เป็นเกมหลักโดยอัตโนมัติ


5
นี่เป็นคำแนะนำที่ดีซึ่งทำให้เกมของคุณดีขึ้นและลดความเสี่ยงในการเล่นเกมของคุณทำให้ผู้เล่นของคุณเหมือนบอทมากขึ้น ;-) ถ้าการเป็นบอททำให้ผู้เล่นเกมของคุณยอดเยี่ยมบางทีเกมน่าจะเกี่ยวข้องกับการคิดของมนุษย์มากกว่า ฉันไม่เห็นด้วยว่ามันเป็นการป้องกันที่มีประสิทธิภาพเพียงอย่างเดียว แต่ฉันยอมรับว่ามันเป็นภาพรวมที่ดีที่สุด +1
Dronz

7
ในขณะที่ฉันเห็นด้วยกับวิญญาณของเรื่องนี้ แต่น่าเสียดายที่หลักฐานที่คุณสามารถทำให้เกมไม่น่าเบื่อคือการเข้าใจผิด ถ้ามีผู้เล่น 10,000 คนชอบช่าง X แต่ 10 คนน่าเบื่อและเขียนบอททำลายความสนุกของ 10,000 นี่คือสิ่งที่เกิดขึ้นกับ aimbots ใน FPSs: วิธีแก้ปัญหาแบบอะนาล็อกจะทำให้เป้าหมายเล็งน้อยลง แต่ผู้เล่นจำนวนมากชอบที่จะพัฒนาทักษะการเล็ง มีเพียงไม่กี่คนที่รู้สึกว่าจำเป็นต้อง aimbot
Superbest

1
ฉันรักคำแนะนำของคุณฉันอยากให้เกมมากขึ้น woukd ทำสิ่งนี้แทนการขอให้คุณเป็น 24/7 ได้อย่างมีประสิทธิภาพ
meneldal

@Superbest จริง ๆ แล้วฉันสามารถเห็นวิธีแก้ปัญหาที่คุณสามารถออกแบบการเล็งให้มีความสำคัญมากกว่า แต่ก็ยังยากที่จะทำการบอทให้มีประสิทธิภาพตัวอย่างเช่นถ้าคุณออกแบบอาวุธให้มีอัตราการยิงที่ช้าและแม่นยำมากขึ้น นักพากย์เพราะเขาไม่สามารถยิงกระสุนได้เพียงพอสำหรับผู้เล่นทุกคนที่โจมตีเขา
Matthew Pigram

2
ตรงนี้เป็นประเด็น! หากมีการคลิกปุ่มครั้งเดียวที่มีประสิทธิภาพ ณ เวลา X bot ที่เป็นไปได้สำหรับเกมของคุณแล้วเขียนด้วยตัวคุณเองและมอบให้กับทุกคน! - ให้ผู้เล่นตัดสินใจล่วงหน้าสิ่งที่ควรสร้างเมื่อเวลาพร้อม ... ความสนุกในเกมเกี่ยวกับการตัดสินใจ!
Falco

23

อย่าทำให้เกมของคุณอ่อนไหวต่อความพยายามของจอห์นนี่ - ออน - สปอต

อันดับแรกตรวจสอบให้แน่ใจว่าผู้เล่นที่เล่นเกมของคุณเพียงยี่สิบนาทีหรือหนึ่งชั่วโมงต่อวันในการนั่งเดี่ยวไม่ได้เป็นข้อเสียอย่างใหญ่หลวงสำหรับผู้เล่นที่เปิดเกมไว้ในที่ทำงานและเล่น 16 ชั่วโมงต่อวัน

สิ่งนี้อาจต้องมีการเปลี่ยนแปลงในกลไกเกมของคุณ - ตัวอย่างเช่นการจัดสรรการย้ายที่เติมขึ้นเมื่อคุณไม่ได้เล่นและอนุญาตให้ผู้เล่นดำเนินการเคลื่อนไหวอย่างรวดเร็วจำนวนมากเมื่อพวกเขาสามารถเล่นได้มากกว่ากลไกที่ต้องดูแลอย่างต่อเนื่อง

สิ่งนี้จะทำให้ผู้สร้างบอทสับสนเพราะพวกเขาสามารถติดตามเกมได้และพวกเขาก็ไม่จำเป็นต้องกดปุ่มเพื่อสร้างหุ่นยนต์ที่ดำเนินการกับพวกเขา

ต้องการข้อมูลเซิร์ฟเวอร์สำหรับแต่ละการกระทำและทำให้เซิร์ฟเวอร์ตอบสนองช้าลง

เมื่อผู้เล่นเล่นเกมพวกเขาขอหน้าซึ่งนำเสนอพวกเขาด้วย UI ที่พวกเขาโต้ตอบด้วยเพื่อให้ย้าย คุณสามารถแทรกองค์ประกอบเช่นองค์ประกอบแบบฟอร์มที่มองไม่เห็นซึ่งยืนยันว่าพวกเขาร้องขอหน้าเว็บจริงก่อน หมายเลขสุ่มที่เซิร์ฟเวอร์ของคุณเก็บพร้อมกับ ID ของผู้ใช้และหน้าใดที่พวกเขาร้องขอครั้งสุดท้าย เมื่อมีการกระทำเกิดขึ้นเซิร์ฟเวอร์จะตรวจสอบว่าผู้ใช้รายนี้ส่งคืนหมายเลขสุ่มที่เหมือนกันและกำลังดำเนินการกับการกระทำบนหน้าเว็บที่พวกเขาเห็นครั้งสุดท้าย สิ่งนี้ไม่เพียง แต่หมายความว่า bot จะต้องทำการเรียก API สองครั้งสำหรับทุกการกระทำ แต่ผู้ใช้ทั่วไปไม่สามารถเปิดหลาย ๆ หน้าและดำเนินการอย่างรวดเร็วตามลำดับ (หากนี่เป็นปัญหากับการออกแบบของคุณ)

การเรียกใช้ API สองรายการจะช่วยให้คุณสามารถลดบอทลงได้ในภายหลัง ในที่สุดคุณจะเห็นรูปแบบที่น่าสงสัยและคุณจะสามารถรับมันได้ เมื่อเซิร์ฟเวอร์ของคุณตรวจพบรูปแบบที่น่าสงสัยมันสามารถชะลอการตอบสนองของ API ในการโทรครั้งแรกภายในไม่กี่วินาทีซึ่งจะรบกวนผู้ใช้ แต่จะทำให้บอทช้าลงจริงๆ เพิ่มเติมหากคำขอที่สองกลับมา "เร็วเกินไป" (อะไรก็ตามที่มีความหมายสำหรับเกมของคุณ) คุณสามารถปฏิเสธได้หรือโหลดหน้าเว็บซ้ำพร้อมข้อผิดพลาดในเกมหรือเหตุผลในการขอส่งอีกครั้ง "คุณสร้างไม่ได้อย่างรวดเร็วโปรดใช้เวลาของคุณ" เช่น

ฟังผู้ใช้ของคุณและคุณจะพบสิ่งที่พวกเขาตกลงและสิ่งที่ทำให้พวกเขารำคาญ

ทำการเคลื่อนไหวและการกระทำที่ต้องใช้ความคิด

หากเกมนั้นเป็นปุ่มคลิกง่ายคุณจะไม่สามารถทำบอทได้มากนัก ลองออกแบบเกมของคุณใหม่เพื่อให้เกมทำการทดสอบแบบ captcha

ไม่รู้อะไรเกี่ยวกับเกมฉันไม่สามารถแนะนำอะไรได้มาก หากเกี่ยวข้องกับการเลือกตำแหน่งในการสร้างอาคารให้ออกแบบอินเทอร์เฟซเพื่อให้ผู้ใช้สามารถเลือกได้ทุกที่แม้ว่าจะมีตำแหน่งที่ชัดเจนซึ่งไม่สามารถใช้งานได้ หรือบางทีผู้ใช้ต้องจับคู่การวางแนวให้ถูกต้องเพื่อให้ตำแหน่งนั้นสำเร็จ หากเกี่ยวข้องกับการเลือกการดำเนินการให้รวมรายการของการกระทำที่ยาวขึ้นซึ่งบางรายการอาจไม่มีเหตุผลในสถานการณ์ที่กำหนด

รวมการตรวจสอบบ็อตแบบสุ่มที่ง่ายมาก

เพิ่มกล่องโต้ตอบเป็นครั้งคราว "คุณแน่ใจหรือไม่" เช่น เปลี่ยนคำถามและการใช้ถ้อยคำบ่อยครั้งและใช้เป็นจุดตรวจสอบบอท

เปลี่ยน API

เปลี่ยน API บ่อยครั้งบังคับให้พวกเขาแยกวิเคราะห์เว็บเพจจริงสำหรับตัวแปรที่ถูกต้องและวิธีกลับไปยังเว็บเซิร์ฟเวอร์ หากคุณพัฒนาอินเตอร์เฟสโดยใช้เทมเพลตให้แทนที่เทมเพลตด้วยรหัสที่ใช้แฮชเค็มหรือเครื่องกำเนิดตัวแปรแบบสุ่มสำหรับชื่อตัวแปรแต่ละตัว จากนั้นเริ่มใช้จาวาสคริปต์เพื่อเข้ารหัสการตอบสนองและเปลี่ยนการเข้ารหัสบ่อยครั้ง คุณอาจจะสามารถเขียนซอฟต์แวร์ที่ทำสิ่งนี้ให้คุณและมีทุกอย่างที่สุ่มตลอดเวลาหรือแค่ทำแม่แบบคงที่ที่คุณเปลี่ยนเป็นครั้งคราว


หากเกมเบราว์เซอร์ API เปลี่ยนแปลงและสิ่งที่ไม่สำคัญ ถ้าคุณไม่เต็มใจที่จะเปลี่ยนข้อความทั้งหมดในไคลเอนต์ทุกครั้งเช่นกัน (นั่นจะน่ากลัวสำหรับผู้เล่น UI เปลี่ยนตลอดเวลา .. เอ่อ .. ) และถ้าตำราไม่เปลี่ยนไป แม้เพียงแค่ jQuery เมื่อฉันเล่นทราเวียนและฉันกำลังจะโจมตีฉันเปิดแท็บจำนวนมากตั้งค่าข้อมูลทั้งหมดที่พร้อมและเมื่อเวลาหมดเลื่อนไปทุกอย่างที่คลิกส่ง ไม่เร็วแค่บอทเร็ว แต่ความล่าช้าของ API ของคุณอาจทำให้ฉันลำบาก
Katu

1
@ Katu ขึ้นอยู่กับเกมองค์ประกอบ UI จำนวนมากอาจเป็นภาพอยู่แล้ว การเปลี่ยนชื่อภาพการแก้ไขไฟล์ภาพแฮชเล็กน้อยเป็นต้นจะทำให้มีความท้าทายมากขึ้น อย่างน้อยที่สุดคุณบังคับให้พวกเขาดาวน์โหลดองค์ประกอบทุกอย่างเพื่อค้นหาว่าจะจัดการอย่างไร พวกเขาสามารถใช้จาวาสคริปต์เพื่อค้นหาองค์ประกอบที่อยู่ด้านบนของสถานที่ที่กำหนดบนหน้าจอแล้วลองเปิดใช้งานนั้น แต่คุณสามารถทำให้ยากขึ้นได้โดยให้ไคลเอนต์จาวาสคริปต์รายงานตำแหน่งที่คลิกเมาส์แทนการคลิกองค์ประกอบ
Adam Davis

@Katu ในที่สุดคุณก็สามารถจัดการได้ แต่ถ้าคุณต้องใช้ความพยายามมากพอคุณจะลดจำนวนคนที่เต็มใจจะไปซึ่งอาจจะเพียงพอ
Adam Davis

2
ปัญหาเกี่ยวกับการ "ย้ายจัดสรร" คือการที่คุณกำลังบอกทุกผู้เล่นของคุณว่าพวกเขาสามารถเล่นได้เฉพาะเวลา 30 นาทีต่อวันหรือ แต่จะใช้เวลานานที่จะใช้ขึ้นที่ annoys พวกเขา จำกัด รายได้จากโฆษณาของคุณและสร้างสิ่งล่อใจใหญ่ เพื่อให้พวกเขาซื้อมากขึ้นผ่านการสื่อสารแบบไมโคร
Random832

ฉันเห็นด้วยกับการวางตำแหน่งและการวางแนว! นั่นคือในเวลาเดียวกันบวกสำหรับผู้ใช้ที่ถูกกฎหมายและลบสำหรับบอท
miva2

13

คุณไม่สามารถหยุดพวกเขา แต่คุณสามารถทำให้ชีวิตของพวกเขามีความสุขได้เนื่องจากพวกเขาต้องใช้เวลามากมายในการเขียนบอทและอัปเดตพวกเขา คุณต้องใช้สิ่งที่คุณต้องตรวจสอบว่าผู้ใช้ถูกต้อง

  • ตรวจสอบส่วนหัวคำขอและปฏิเสธคำขอด้วยค่าที่ไม่ถูกต้อง ตั้งค่าการตรวจสอบส่วนหัวที่กำหนดเองสำหรับที่มีอยู่เช่น user-agent แน่นอนว่ามันง่ายที่จะเอาชนะ แต่ก็ง่ายกว่าที่จะตรวจสอบ หากนักเขียนบทไม่มีประสบการณ์อาจต้องใช้เวลาสักครู่กว่าจะคิดได้! งานของคุณคือการบังคับให้มากที่สุดเพื่อให้ถูกต้องหรือไม่
  • คุณอาจมีลายเซ็นแฮชบางอย่างหรือบางอย่างในคำขอของคุณซึ่งสร้างขึ้นในฝั่งไคลเอ็นต์ด้วยฟังก์ชั่นบางอย่าง ถ้าอย่างนั้นก็ให้เปลี่ยนมัน! ทำให้เป็นสคริปต์ที่ไม่สามารถแคชได้แยกต่างหากและเปลี่ยนเป็นช่วงเวลาสุ่ม ทำสองสามอย่างหรือแก้ไขได้ทันทีโดยเพิ่มเกลือแบบสุ่มลงในกระบวนการแฮช ในขณะที่มันอีกครั้งเอาชนะได้ง่ายนี่จะบังคับให้พวกเขาจับตาการทำงานของคุณ พวกเขายังอาจต้องใช้ขั้นตอนการติดตั้งคงที่เพื่อให้ผู้ใช้อัปเดต อื่น ๆ บอทของพวกเขาจะเริ่มส่งคำขอแฮชอย่างไม่ถูกต้อง คุณสามารถแบนผู้ใช้ที่ทำบ่อยเกินไป ผู้ใช้ที่ถูกต้องจะย้ายไปรอบ ๆ ลูกค้าของคุณอยู่แล้วดังนั้นพวกเขาจะเรียกฟังก์ชันการแฮชใหม่ทุกครั้ง อย่าลืมอัปเดตฝั่งเซิร์ฟเวอร์ด้วย (แบ็กเอนด์ที่อิงกับสคริปต์จะช่วยได้จริงๆที่นี่)
  • ติดตามประสิทธิภาพการใช้ทรัพยากร หากพวกเขาใช้จ่ายทันทีหลังจากที่บางสิ่งบางอย่างมีราคาไม่แพงหรือหากการบุกใหม่มักจะส่งภายใน 1-2 วินาทีจากครั้งล่าสุด 24/7 คุณจะจัดการกับผู้เล่นฮาร์ดคอร์หรือบอท คุณร้องขอ captcha จากบุคคลดังกล่าวและบังคับให้ออกจากระบบเขา หากเขายังคงทำคำขอหลังจากที่ออกจากระบบ (บอทที่เขียนไม่ดี!) ก็เป็นบอท หากเขาพยายามลงชื่อเข้าใช้หลายครั้งโดยไม่ประสบความสำเร็จแสดงว่าเขาอาจเป็นบอท หากเขาใช้เวลาไม่กี่ชั่วโมงในการ relog เขาอาจจะเป็น bot (บอทอาจขอความช่วยเหลือจากมนุษย์ ณ จุดนี้และเจ้าของอาจจะหลับ)
  • IP อันนี้อาจกำจัดการขายบอท หากมีคนเขียนบอทที่มี $$$ อยู่ในใจพวกเขาอาจไม่ต้องการแชร์แหล่งที่มา พวกเขาจะขายเวลาบอทแทน หากพวกเขามีความโลภพวกเขาอาจใช้เครื่องเดียวพร้อมกับ ips เดี่ยว / ไม่กี่ นั่นหมายความว่าผู้ใช้จำนวนมากจะเริ่มแบ่งปัน IP สิ่งนี้มีความเสี่ยงเนื่องจากกรณีเดียวกันสำหรับผู้ที่แชร์เครือข่าย คุณจะต้องตรวจสอบว่าการตรวจสอบก่อนหน้านี้ใด ๆ ประสบความสำเร็จใน IP ที่แน่นอนและตัดสินใจด้วยตนเองว่าเป็นกลุ่มผู้ใช้ที่ถูกกฎหมายหรือกองทัพของบอท

5
ในขณะที่ความคิดเหล่านี้ฉลาดพวกเขาไม่เพียง แต่เอาชนะได้ง่าย แต่ฉันอยากจะเขียน bot เพราะมันสนุกมากที่จะเอาชนะพวกเขาแม้ว่าฉันจะไม่สนใจเรื่องการทำเกม
Superbest

1
คะแนนส่วนใหญ่นั้นไร้ประโยชน์ คุณกำลังคิดย้อนหลัง ไม่ว่าคุณจะทำอะไรกับแฮชส่วนหัวและอื่น ๆ ลิงก์ "เพื่อซื้อการอัปเกรดสำหรับโรงเตี๊ยมของฉัน" ก็ใช้งานได้จริงไหม? ตอนนี้ฉันสร้างบอทที่พบลิงค์นั้นทุกๆ 2 ชั่วโมงที่มันคลิก ฉันไม่สนใจว่าคุณจะทำอะไรวิเศษ แต่บอทของฉันคลิกมันเหมือนที่ผู้ใช้ทำ การใช้ทรัพยากรเป็นสิ่งที่ดี แต่สามารถยกระดับผลบวกปลอมจำนวนมากที่ต้องใช้งานของมนุษย์ IP .. ตัวอย่างเช่นบอททราเวียน (ไม่ใช่ฟรี) เป็นเว็บเบราว์เซอร์ที่กำหนดเองซึ่งจะส่งทุกอย่างจากไอพีของคุณ
Katu

@ ดีที่สุดใช่มันง่ายที่จะเอาชนะความปลอดภัยนี้อีกครั้ง แต่ถ้ามันเปลี่ยนไปนิดหน่อยคุณจะต้องติดตามการเปลี่ยนแปลงเหล่านั้นและอัพเดทบอทของคุณ นั่นหมายถึงการใช้เวลามากขึ้นในการเขียนบอทเพื่อใช้เวลาในการเล่นน้อยลง :) ไม่มีจุดหมาย
Polan

@Katu คุณถูกต้องวิธีการของฉันจะไม่หยุดบอทซึ่งเป็นปลั๊กอินของเบราว์เซอร์และคลิกที่ลูกค้า แต่สิ่งภายนอกอาจมีปัญหา เพียงค้นหาลิงก์และการโจมตีซ้ำไม่ทำงานเนื่องจากแฮชอาจต้องใช้การประทับเวลาและการรู้คีย์กึ่งลับ ฟังก์ชั่นการแฮชจะเปลี่ยนไปทุก ๆ ครั้งดังนั้นหากคุณไม่มีล่ามจาวาสคริปต์คุณจะต้องเขียนบอทของคุณใหม่ตลอดเวลาเพื่อรวมการเปลี่ยนแปลงเหล่านั้น วิธีการเหล่านี้จะไม่หยุดไม่ให้คนเขียนบอท มันจะต้องมีการบำรุงรักษาอย่างต่อเนื่องดังนั้นคุณจะไม่ประหยัดเวลามากจากการใช้บอท :)
Polan

2
@Polan ไม่เป็นปัญหาหากเขียนบอทนั้นสนุกกว่าการเล่นในตอนแรก
Superbest

8

โดยทั่วไปการแยกความแตกต่างระหว่างบ็อตกับมนุษย์โดยอัตโนมัตินั้นยากกระบวนการรูปแบบบางอย่างของกระบวนการตัดสินใจที่มนุษย์ให้ความช่วยเหลือจะทำงานได้ดีที่สุด

ฉันจะทำอย่างไร: กำหนดฮิวริสติกบางอย่างที่บอกเป็นนัยถึงผู้ใช้อาจเป็นบอต - ทำสิ่งต่าง ๆ ทำสิ่งต่าง ๆ ตลอด 24/7, ... จากนั้นถ้าฮิวริสติกเหล่านี้มีค่ามากกว่าเกณฑ์ที่กำหนด

คุณสามารถสแกนกิจกรรมผู้เล่นด้วยตนเองและดูว่ามันดูเหมือนว่าตกลง หรือคุณทำ captcha ในครั้งต่อไปที่ผู้ใช้ออนไลน์ หรือ (ยิ่งแข็งแกร่งขึ้น) เพียงแค่ส่งข้อความแชทให้เขาซึ่งคุณอธิบายว่าคุณสงสัยว่าเขาเป็นบอตและต้องการให้เขาตอบสนองกับสิ่งที่มนุษย์ต้องการเพื่อพิสูจน์ว่าเขาไม่ใช่บอท (วันของคุณเป็นอย่างไรบ้าง) ... - คุณสามารถมีกลุ่มเหล่านั้นได้) ถ้าเขาไม่ตอบสนองเลยเขาอาจจะเป็นบอท หากเขาตอบกลับคุณจะตรวจสอบคำตอบสำหรับภาพเหมือนมนุษย์และห้ามหุ่นยนต์ด้วยตนเอง หากฮิวริสติกของคุณสมเหตุสมผลผู้ใช้ส่วนน้อยจะถูกซักถามและจำนวนการตอบสนองต่อการสแกนจะน้อย และหากคุณเก็บคำถามไว้เป็นความลับและเปลี่ยนแปลงอยู่เสมอจะไม่มีวิธีใดที่หุ่นยนต์จะสามารถจัดเตรียมได้เว้นแต่จะมีคนคิดค้น SkyNet


8
เมื่อ Skynet เริ่มมีความตระหนักในตนเองทุกคนคิดว่ามันจะพยายามเข้ายึดทัพของโลก พวกเขารู้เพียงเล็กน้อยว่าเป้าหมายเพียงอย่างเดียวคือการครอบงำเศรษฐกิจ MMO ที่ตนโปรดปราน ดังนั้นสงครามมนุษย์ - AI ที่ยิ่งใหญ่ได้ถูกป้องกันไว้โดยนำความทะเยอทะยานก้าวร้าวของพวกเขาไปสู่สถานที่ที่สามารถทำอันตรายได้อย่าง จำกัด
Dan Bryant

1
ปัญหาเกี่ยวกับข้อความคือบอตเตอร์สามารถลงชื่อเข้าใช้เพื่อเล่นได้ทุกวันและเรียกใช้บ็อตในบัญชีเดียวกันเพื่อดูแลการยุ่ง บอตจะเพิกเฉยต่อข้อความมนุษย์จะตอบกลับในเช้าวันรุ่งขึ้นและเป็นการยากที่จะลงโทษผู้เล่นที่ตอบกลับช้าไปสองสามชั่วโมงกับข้อความที่ส่งในตอนกลางคืน
Superbest

@Superbest ที่ดีที่สุดถ้าบอทพยายามที่จะเล่นในขณะที่มนุษย์หลับคุณมีข้อบ่งชี้ที่ดีว่ามันเป็นบอท ปัญหาของการถามคำถามคือถ้าผู้เล่นไม่พูดภาษาอังกฤษ
Loren Pechtel

@ LorenPechtel ดีคุณจะรู้ได้อย่างไรว่าพวกเขากำลังนอนหลับ? มีผู้คนมากมายที่มีตารางการนอนหลับที่ผิดปกติ เพียงเพราะพวกเขาไม่ตอบไม่ได้หมายความว่ามันเป็นบอทบางทีพวกเขาอาจไม่รู้สึกอยากตอบแล้วตัดสินใจตัดสินใจในภายหลัง สำหรับภาษาสมมุติว่าผู้เล่นพูดภาษาในเกมมิฉะนั้นพวกเขาจะเห็นด้วยกับกฎหรือ ToS อย่างไร ไม่ใช่ว่ามันยากที่จะแยกบอทจากคนต่างชาติในการสนทนา
Superbest

@Superbest ความประทับใจของฉันคือเกมจะไม่ดำเนินการต่อในขณะที่คำถามยังไม่ได้รับการแก้ไข ถ้าพวกเขาส่งคำสั่งที่ไร้ประโยชน์ไปเรื่อย ๆ มันก็ค่อนข้างชัดเจนว่ามันเป็นบอทที่ทำมัน
Loren Pechtel

8

โอบกอดบอตเตอร์ คุณได้สร้าง API สำหรับการพักผ่อนที่สมบูรณ์แบบสำหรับ coder เพื่อทดสอบด้วยระบบอัตโนมัติของเกมของคุณ ออกแบบเกมเพลย์ของคุณเพื่อที่บอทจะไม่ได้รับความได้เปรียบเหนือผู้เล่นมนุษย์เนื่องจากเป็นแบบอัตโนมัติ - กำจัดข้อดีของความเร็วในการประหารชีวิต ฯลฯ ที่เครื่องมี ออกแบบเกมของคุณเพื่อให้ bot ให้รายได้เหมือนกับผู้เล่นมนุษย์ถ้าเป็นไปได้หรืออย่างน้อยก็มีสภาพแวดล้อมที่สมบูรณ์ยิ่งขึ้นเพื่อดึงดูดผู้เล่นที่เป็นมนุษย์มากขึ้น

คำถามคือทำไมคนสร้างบอทสำหรับเกมของคุณและพวกเขาจะจ่ายเงินสำหรับสิทธิ์หรือไม่


4

ฉันไม่ neccessarily ไม่เห็นด้วยกับคำตอบที่นุ่มวิทยาศาสตร์ แต่มีอยู่สิ่งที่ทางเทคนิคที่คุณสามารถทำได้ในการตรวจสอบ Botters และบางสิ่งบางอย่างที่เพียงแค่ทำให้ชีวิตยากสำหรับพวกเขา

  • บัญชีเกรดตามจำนวนที่คุณสงสัยว่าพวกเขากำลังใช้บอท สิ่งนี้จะป้อนเข้าสู่เทคนิคอื่น ๆ และปกป้องผู้ใช้ที่ถูกกฎหมายจากการลงโทษของคุณ

  • การหมุนคีย์คุกกี้เซสชัน วิธีนี้ช่วยให้มั่นใจได้ว่าบอทรักษาคุกกี้ไว้ แต่ก็ทำให้ยากขึ้นสำหรับนักบอตที่จะแบ่งปันคุกกี้ระหว่างเบราว์เซอร์และบอท (ซึ่งมีประโยชน์มากในขณะที่กำลังพัฒนาและทดสอบ)

  • อัตรา จำกัด การกระทำบางอย่าง หาทางทำสิ่งที่เร็วที่สุดที่คุณสามารถทำได้จริง ๆ และตรวจสอบว่าบอทเหล่านี้ทำงานได้เร็วแค่ไหน อาจคุ้มค่าที่จะเก็บบันทึกการใช้งานและหาค่าเบี่ยงเบนมาตรฐาน แม้ว่าใครบางคนทำอะไรบางอย่างทุก ๆ 10 วินาทีถ้าพวกเขาทำอย่างนั้นทุก ๆ 10 วินาทีพวกเขาอาจเป็นบอท แก้ไขการให้คะแนนและออกจากระบบ

  • ทำให้การเข้าสู่ระบบยากขึ้นสำหรับบัญชีที่คุณสงสัยว่าอาจเป็นบอท CAPTCHA และคำถามและสิ่งอื่น ๆ ที่หลีกเลี่ยงไม่ได้ทำให้สิ่งต่าง ๆ ยากขึ้นสำหรับนักบอตที่ต้องการเขียนสคริปต์อัตโนมัติ

  • ตรวจสอบการเคลื่อนไหวของเมาส์ / หน้า วันนี้ค่อนข้างง่ายกับ javascript แต่บอตจะไม่มีการเคลื่อนไหวของเมาส์ หากคุณไม่ได้รับระหว่าง "คลิก" พวกเขาอาจจะเป็นมือถือหรือพวกเขาอาจเป็นบอท สอบสวน มันเป็นข้อมูลจำนวนมากที่จะเข้าสู่ระบบ ... ดังนั้นคุณอาจต้องการสำรองไว้สำหรับบัญชีที่เรียกใช้ขั้นตอนก่อนหน้านี้แล้ว

  • สร้างเครื่องมือเพื่อเชื่อมโยงบัญชีตามพฤติกรรม IP ลำดับการกระทำจังหวะการกระทำ หากคุณกำลังจะแบนคนให้แน่ใจว่าคุณมีเครื่องมือในการตรวจสอบการกระทำผิดด้วยตนเอง

  • หมุนเวียนสคีมา URL ตัวแปร CSRF ฯลฯ และทำบ่อยๆ มันเป็นขั้นตอนที่ยิ่งใหญ่และอาจต้องใช้งานล่วงหน้ามากกว่าที่เคยจะคุ้มค่า แต่อย่างน้อยที่สุดบัญชีใด ๆ ที่หยุดทำงานทันที (หรือใช้ค้อนทุบ URL เก่าและส่งชื่อตัวแปรเก่า - บันทึกไว้!) ต้องการระดับดัชนี ธ ปท. ที่เพิ่มขึ้น


3

คุณคิดว่าการทำให้บอทเป็นส่วนหนึ่งของเกมหรือไม่? เป็นการยากที่บอทจะทำลายเกมสำหรับคนอื่นถ้าทุกคนได้รับการสนับสนุนให้สร้างเกมขึ้นมา เพิ่มการสนับสนุนสำหรับการเขียนสคริปต์และการเปลี่ยนแปลงของเกมอย่างฉับพลันจากกลยุทธ์การจัดการทรัพยากรด้วยตนเองไปจนถึงกลยุทธ์การออกแบบบอท


3

สร้างเซิร์ฟเวอร์เฉพาะบ็อตแยกต่างหาก สร้างกระดานผู้นำและเฉลิมฉลองผู้ชนะ ดูข้อมูลที่สร้างขึ้น แบนผู้ใช้จาก severs ปกติที่มีโปรไฟล์ลักษณะการทำงานของบอท


2

ไม่ว่าคุณจะทำอะไรอย่าลืมทำให้ผู้เล่นตัวจริงน่ารำคาญมากขึ้น! การตอบสนองที่ฉันได้เห็นจำนวนมาก (ผลลัพธ์ของหน้าเว็บที่ช้าลงไม่อนุญาตให้เปิดหลายหน้าเพื่ออำนวยความสะดวกในการป้อนข้อมูลที่เร็วขึ้น ฯลฯ ) จะป้องกันผู้เล่นที่ถูกกฎหมายทำสิ่งต่าง ๆ ได้อย่างรวดเร็ว

imho วิธีที่ง่ายที่สุดอาจใช้วิศวกรรมสังคมกับปัญหา: 1) เพิ่มส่วนคำสั่ง NO-BOT อย่างชัดเจนให้กับ TOS ของคุณและเพิ่มว่าการตรวจสอบกิจกรรม bot จะลบผู้เล่นออกจากรายการคะแนนสูง (หรือมีป้ายกำกับ "สิบแปดมงกุฎ) "แนบดังนั้นผู้คนจึงไม่หงุดหงิดกับพวกเขาหากคุณไปเส้นทางนั้นอนุญาตให้ผู้คนซ่อนเร็กคอร์ดที่สิบแปดมงกุฎ)

2) ตรวจสอบพฤติกรรมที่เหมือนบอท (เช่นการส่ง Ping แบบกำหนดเวลาไปยังเซิร์ฟเวอร์เป็นประจำหรือเวลาที่ใกล้เคียงกับที่สมบูรณ์แบบเป็นเวลาหลายชั่วโมงติดต่อกัน) และหากเป็นเช่นนั้นให้นำบัญชีเข้าสู่ "โหมดบอท" - แสดง captchas เป็นครั้งคราว . หากสิ่งเหล่านี้ถูกเพิกเฉย แต่ผู้เล่นยังคงเล่นเกมต่อไปให้ทำเครื่องหมายผู้เล่นว่า "บอท" และแยกเขาออกจากการจัดอันดับ หากพวกเขากำลังพูดถึงทำเครื่องหมายว่าเขาเป็น "ผู้เล่นที่มีอำนาจ" และนำเขาออกจากรายการบอท

วิธีนี้ผู้เล่นส่วนใหญ่จะไม่ได้รับผลกระทบนักเล่นเกมฮาร์ดคอร์จะได้รับผลกระทบในช่วงเวลาสั้น ๆ และบอทจะไม่ "ทำลายเกม" ให้กับผู้อื่น


เกิดอะไรขึ้นถ้าผู้เล่นไฟตัดสินใจที่จะ bot ฉันไม่คิดว่า 'ทำเครื่องหมาย' ผู้เล่นเป็นสิ่งที่สมเหตุสมผลมากมันเป็นประโยชน์อย่างมาก เพียงแค่เล่นมาก ๆ สองสามวันจากนั้นเมื่อคุณได้รับธงไฟขึ้นบอทและไม่ถูกจับ
Dan Pantry
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.