Skip to content

Server sends malformed move forfeit message for a move that's already been accepted #46

@wylieallen

Description

@wylieallen

This is our only suspicious forfeit from today. (Edit: removed reference to resolved issue)

Here's our full client log: https://pastebin.com/bpcKXAkZ

Relevant excerpt (first line is line 3689 from our log):

// Server reports accepting Game A, Move 18, Player 12's move:

Server: GAME A MOVE 18 PLAYER 12 PLACED GRASS+LAKE AT 9 -5 -4 3 FOUNDED SETTLEMENT AT 9 -11 2
Message parsed as move by parser 2 with game A and player id 12
Server: GAME B MOVE 18 PLAYER 10 PLACED GRASS+LAKE AT -3 -11 14 5 FOUNDED SETTLEMENT AT -4 -10 14
Message parsed as move by parser 1 with game B and player id 12
Parsing buildaction as villager placement
Server: MAKE YOUR MOVE IN GAME B WITHIN 1.5 SECONDS: MOVE 18 PLACE LAKE+GRASS
Message parsed as move prompt
Sending: GAME B MOVE 18 PLACE LAKE+GRASS AT -11 13 -2 1 EXPAND SETTLEMENT AT 0 -1 1 ROCK
Total time: 140
Server: GAME B MOVE 18 PLAYER 12 PLACED LAKE+GRASS AT -11 13 -2 1 EXPANDED SETTLEMENT AT 0 -1 1 ROCK
Message parsed as move by parser 1 with game B and player id 12

// Server accepts Player 10's Game A Move 18 and continues to Move 19...

Server: GAME A MOVE 18 PLAYER 10 PLACED LAKE+GRASS AT -14 15 -1 2 BUILT TOTORO SANCTUARY AT 8 -16 8
Server: MAKE YOUR MOVE IN GAME A WITHIN 1.5 SECONDS: MOVE 19 PLACE JUNGLE+GRASS
Message parsed as move by parser 2 with game A and player id 12
Parsing buildaction as totoro placement
Message parsed as move prompt
Sending: GAME A MOVE 19 PLACE JUNGLE+GRASS AT 8 -3 -5 1 BUILD TOTORO SANCTUARY AT 9 -12 3
Total time: 281
Server: GAME A MOVE 19 PLAYER 12 PLACED JUNGLE+GRASS AT 8 -3 -5 1 BUILT TOTORO SANCTUARY AT 9 -12 3

Message parsed as move by parser 2 with game A and player id 12
Server: GAME B MOVE 19 PLAYER 10 PLACED JUNGLE+GRASS AT -16 16 0 2 BUILT TOTORO SANCTUARY AT 0 -10 10
Server: MAKE YOUR MOVE IN GAME B WITHIN 1.5 SECONDS: MOVE 19 PLACE GRASS+LAKE
Message parsed as move by parser 1 with game B and player id 12
Parsing buildaction as totoro placement
Message parsed as move prompt
Sending: GAME B MOVE 19 PLACE GRASS+LAKE AT -3 -13 16 5 EXPAND SETTLEMENT AT -2 2 0 ROCK
Total time: 317

// Server sends forfeit for Player 10's Game A Move 18, even though it accepted it and has already moved on to Move 19. Our client interprets the message as a forfeit and clears Game A.

Server: GAME A MOVE 18 PLAYER 10 FORFEITED: MALFORMED MOVE
Message parsed as move by parser 2 with game A and player id 12
Opponent Lost/Game over
Reseting game A
Server: GAME B MOVE 19 PLAYER 12 PLACED GRASS+LAKE AT -3 -13 16 5 EXPANDED SETTLEMENT AT -2 2 0 ROCK
Message parsed as move by parser 1 with game B and player id 12

// Our client thinks it's playing a new game and tries to place a tile near the center of the board, causing an illegal tile placement forfeit

Server: MAKE YOUR MOVE IN GAME A WITHIN 1.5 SECONDS: MOVE 20 PLACE LAKE+LAKE
Message parsed as move prompt
Sending: GAME A MOVE 20 PLACE LAKE+LAKE AT 2 0 -2 1 FOUND SETTLEMENT AT 0 1 -1
Total time: 139
Server: GAME B MOVE 20 PLAYER 10 PLACED LAKE+LAKE AT -18 18 0 2 EXPANDED SETTLEMENT AT 1 -3 2 LAKE
Message parsed as move by parser 1 with game B and player id 12
Parsing buildaction as expansion
Server: GAME A MOVE 20 PLAYER 12 FORFEITED: ILLEGAL TILE PLACEMENT
Message parsed as move by parser 2 with game A and player id 12
Reseting game A
Server: GAME A OVER PLAYER 12 FORFEITED PLAYER 10 WIN
Server: GAME B OVER PLAYER 10 622 PLAYER 12 617

Metadata

Metadata

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions