magefree / magefree/mage

Infinite looping / players can hold table hostage

Open
#6,212 4 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
Java
Stars
2.4k
Forks
940
Avg merge
2d 12h
Merged PRs (30d)
160

Description

When there is an infinite loop that results in a draw, the player controlling the loop gets a prompt to confirm the loop is infinite and draw the game. The problem is, XMage allows all players at the table to vote on this.

This is contrary to the rule of MTG. It allows people to hold a table hostage by voting "no", when they don't actually get a vote at all. They can constantly vote no, the loop continues, and the server (Eventually) will crash. Fix this, and either only allow non-loop-controlling players only one vote, or no vote at all. This way they are compelled to either stop the loop, or let the game resolve in a tie.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by tracing the infinite-loop draw confirmation and the table's vote handling in the Java game engine. Reproduce a loop where a non-controlling player votes no repeatedly, then compare the behavior with the stated MTG rule. Done means non-controlling players cannot indefinitely prevent the loop from resolving and the server remains stable.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
game-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.