Infinite looping / players can hold table hostage
- 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