MMO จะจัดการกับการขาดการเชื่อมต่อระหว่าง PvP ได้อย่างไร


20

ใน MMO (ไม่จำเป็นต้องเป็น MMORPG) มีเทคนิคอะไรบ้างในการจัดการกับผู้เล่นที่ตัดการเชื่อมต่อในช่วงกลางของ PvP?

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

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

คำตอบ:


15

เราประสบปัญหานี้กับ CCG ออนไลน์ที่ฉันใช้งาน ทางออกที่ดีที่สุดที่ฉันเคยเห็น:

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

2) การเชื่อมต่อที่ลดลง = คุณแพ้ฝ่ายตรงข้ามชนะ เราต้องคิดว่าถ้าคุณลดลงมันก็ลดลงเพื่อหลีกเลี่ยงการสูญเสียบางอย่าง

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

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


13

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


1
เหมือนกันสำหรับ DAoC มันใช้งานได้ดีเพราะถ้าคุณไม่ทำเช่นนี้ผู้คนสามารถตัดการเชื่อมต่อเพื่อหลีกเลี่ยงการต่อสู้ เคยมีคำสั่ง "Quit To Desktop" / qtd ใน DAoC ที่ทำให้ผู้ใช้ออกจากทันทีและถูกลบออกเนื่องจากสิ่งนี้
Ólafur Waage

8

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

โซลูชันของฉันเป็นดังนี้:

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

  2. บันทึกผลลัพธ์ไปยังตำแหน่งที่ปลอดภัย (Savegame, leaderboard, พื้นที่ข้อมูลออนไลน์และอื่น ๆ )

  3. ตามผลลัพธ์ให้เก็บค่าสถานะ 'GameStarted' นี่เป็นเพียงความหมายว่าเกมได้เริ่มขึ้นแล้ว เราจะต้องการมันในภายหลัง

  4. เมื่อเกมเสร็จสิ้นให้คำนวณผลลัพธ์ที่แท้จริงและนำไปใช้กับคะแนน / สถิติผู้เล่น ยกเลิกการตั้งค่าสถานะ 'GameStarted' นี่เป็นขั้นตอนการจบเกมตามปกติ

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


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

1
พริตตี้ที่รุนแรงสำหรับการเชื่อมต่อโดยไม่ได้ตั้งใจ แต่สามารถใช้วิธีการแก้ปัญหาในพื้นที่ว่า
Kzqai

5

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

แทนที่จะได้รับรางวัลจาก PvP คือการปล้นสะดมร่างกาย (ซึ่งทำให้สิ่งเลวร้ายลงไป) ทำให้ชนะรางวัลบางอย่างเช่น EXP, Gold หรือสิ่งอื่นทั้งหมด (Points? Ranking?) หากผู้เล่นคนใดคนหนึ่งถูกเตะออกไปผู้เล่นที่เหลือจะได้รับรางวัลและผู้เล่นที่ถูกเตะออกจะไม่ได้อะไรเลยนอกจากจะเสียอะไรไป นอกเสียจากว่าจะเป็นระบบการจัดอันดับซึ่งในกรณีที่ผู้เล่นออกไปอาจเสียคะแนนการจัดอันดับบางส่วน


นั่นเป็นการวิเคราะห์ที่ไม่เหมือนใครฉันชอบมัน
Kzqai

สิ่งนี้อาจถูกโจมตีโดยผู้เล่นสองคนที่รู้จักกัน พวกเขาสามารถทำซ้ำได้บ่อยเท่าที่ต้องการเพราะผู้แพ้ไม่ได้รับโทษ
ยัง

5

Lineage II ทำเช่นนี้:

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

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


ดี! ฉันชอบมัน! :)
คลิก Ok

3

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

โดยทั่วไปมีการจับเวลา 1 ถึง 5 นาทีก่อนที่ร่างกายของคุณออกจากโลก


3

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


3

วิธีการจัดการ EVE Online มีดังนี้:

  • เรือเริ่มทำการวาร์ปหลังจาก 15 วินาทีหลังจากหลุด ถ้ามันแปรปรวนแปรปรวนเรือจะไม่แปรปรวน (เรือของตัวละครของคุณจะเริ่ม "วิ่งหนี" หลังจาก 15 วินาทีเว้นแต่ว่ามันจะ "ติดกับดัก" โดยผู้เล่นคนอื่น)

  • PVP timer (เวลาจนกว่าผู้เล่น "วิ่งหนี" ในขณะที่อยู่ในการต่อสู้ PvP) ตั้งค่าเป็น 3 นาที (นี่คือการนับจำนวนตัวนับอื่น ๆ )

  • ตัวจับเวลา NPC จะอยู่ที่ 1 นาที แต่จะส่งการแปรปรวนออกไปหลังจาก 15 วินาทียกเว้นว่าการแปรปรวนของสัญญาณรบกวนโดย NPC

  • เมื่อเรือรบถูกเป้าหมายโดยผู้เล่นควรเปลี่ยนไปใช้ตัวจับเวลา pvp (เพื่อตอบโต้โดยใช้ตัวจับเวลา 1 นาทีหากมันตัดการเชื่อมต่อภายใต้สถานการณ์ที่ไม่สามารถกำหนดเป้าหมายได้จนกว่าจะมีการตั้งค่าตัวจับเวลา)



2

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


0

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

  • ถ้าผม "เลวร้าย" และฉัน DC ฉันได้รับการติด ตอนนี้ฉันไม่ดีขึ้น
  • ถ้าฉัน "แย่" และฉันทำจนเสร็จฉันก็จะไม่ติด แต่ก็ไม่ได้รับรางวัลเช่นกัน ตอนนี้ฉันใกล้จะเป็นคนดีแล้ว
  • ถ้าฉัน "ดี" และฉันเป็น DC ฉันไม่ได้รับการติด แต่ฉันก็ไม่ได้รับรางวัลเช่นกัน ตอนนี้ฉันเข้าใกล้ความเลว
  • หากฉันดีและกรอกฉันจะได้รับรางวัล ตอนนี้ฉันดีขึ้นแล้ว

คุณสามารถใช้ในทางที่ผิดใช่ แต่การทำเช่นนั้นอาจต้องใช้ความพยายามมากกว่าแค่กัดกระสุน (ถ้ามันเอา 2 พลจะไม่ดีเช่นคุณได้ในทางเทคนิคอาจได้รับการกำจัดของครึ่งของการสูญเสียของคุณ. แต่มันไม่ลดบางเสพติดและในกรณีที่ผู้เล่นน้อยกว่าฉลาดทุกการละเมิดกฎ)

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

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


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