Opened 5 years ago

Closed 3 years ago

#5335 closed defect (duplicate)

Register game with XpartaMuPP that doesn't disappear after lobby disconnect

Reported by: elexis Owned by:
Priority: Must Have Milestone:
Component: Multiplayer lobby Keywords:
Cc: Patch:

Description

It is intended that lobby games are removed from the list if the host disconnects.

But yesterday, and in some rare instances throughout the years, Wildfire Games moderators have noticed a game being listed in the XpartaMupp gamelist where the hosting player had disconnected.

This is problematic because the game cannot be joined, because multiple players will bug moderators with this wrong entry and in some cases the gametitle had contained some rude game title that was against the terms of use and because the gamelist entry cannot be removed by any means other than restarting the bot.

Yesterday it was Dunedan. I could lookup the ejabberd logs and we know Dunedan is using an XMPP Client:

JSON game:

({name:"Dunedan's game", ip:"...", port:"20595", stunIP:"...", stunPort:"20595", hostUsername:"Dunedan", state:"waiting", nbp:"6", maxnbp:"8", players:"{\"-1\":\\[{\"Name\":\"Dunedan (1580)\",\"Civ\":\"spart\"},{\"Name\":\"Aristol\",\"Civ\":\"gaul\",\"State\":\"defeated\"},{\"Name\":\"nani (1709)\",\"Civ\":\"iber\",\"State\":\"defeated\"},{\"Name\":\"Rauls (1530)\",\"Civ\":\"gaul\"},{\"Name\":\"wing (1167)\",\"Civ\":\"brit\",\"Offline\":true,\"State\":\"defeated\"},{\"Name\":\"Sheep54 (1448)\",\"Civ\":\"gaul\",\"Offline\":true,\"State\":\"defeated\"},{\"Name\":\"Janov (1263)\",\"Civ\":\"cart\"},{\"Name\":\"KeyCollector (1345)\",\"Civ\":\"rome\"}],\"observer\":\\[{\"Name\":\"KeyCollectorJr (1332)\",\"Team\":\"observer\"},{\"Name\":\"Jofursloft (1720)\",\"Team\":\"observer\"}]}", mapName:"maps/random/continent", niceMapName:"Continent", mapSize:"384", mapType:"random", victoryCondition:"", startTime:"1541522790", mods:[["public", "0.0.23"]], hasBuddies:2, gameRating:1405})

ejabberd log:

2018-11-06 07:35:48.557 [info] <0.1824.0>@ejabberd_c2s:bind:402 (tls|<0.1824.0>) Opened c2s session for dunedan@lobby.wildfiregames.com/BitlBee
2018-11-06 07:35:48.559 [info] <0.847.0>@ejabberd_c2s:process_terminated:270 (tls|<0.847.0>) Closing c2s session for dunedan@lobby.wildfiregames.com/BitlBee: Stream closed by us: Replaced by new connection (conflict)
2018-11-06 16:08:12.728 [info] <0.1824.0>@ejabberd_c2s:process_terminated:270 (tls|<0.1824.0>) Closing c2s session for dunedan@lobby.wildfiregames.com/BitlBee: Stream reset by peer
2018-11-06 16:08:16.865 [info] <0.4254.0>@ejabberd_c2s:bind:402 (tls|<0.4254.0>) Opened c2s session for dunedan@lobby.wildfiregames.com/0ad
2018-11-06 16:08:21.650 [info] <0.4256.0>@ejabberd_c2s:bind:402 (tls|<0.4256.0>) Opened c2s session for dunedan@lobby.wildfiregames.com/BitlBee
2018-11-06 16:46:30+00:00 gamestart (1541522790)
2018-11-06 18:24:34.046 [info] <0.5169.0>@ejabberd_c2s:bind:402 (tls|<0.5169.0>) Opened c2s session for dunedan@lobby.wildfiregames.com/BitlBee
2018-11-06 18:24:34.047 [info] <0.4256.0>@ejabberd_c2s:process_terminated:270 (tls|<0.4256.0>) Closing c2s session for dunedan@lobby.wildfiregames.com/BitlBee: Stream closed by us: Replaced by new connection (conflict)
2018-11-06 18:24:45.756 [info] <0.4254.0>@ejabberd_c2s:process_terminated:270 (tls|<0.4254.0>) Closing c2s session for dunedan@lobby.wildfiregames.com/0ad: Connection failed: timeout
2018-11-06 18:26:01.124 [info] <0.5192.0>@ejabberd_c2s:bind:402 (tls|<0.5192.0>) Opened c2s session for dunedan@lobby.wildfiregames.com/0ad
2018-11-06 18:26:02.462 [info] <0.5192.0>@ejabberd_c2s:process_terminated:270 (tls|<0.5192.0>) Closing c2s session for dunedan@lobby.wildfiregames.com/0ad: Connection failed: connection closed
2018-11-07 03:37:43.896 [info] <0.9097.0>@ejabberd_c2s:bind:402 (tls|<0.9097.0>) Opened c2s session for dunedan@lobby.wildfiregames.com/BitlBee
2018-11-07 03:37:43.898 [info] <0.5169.0>@ejabberd_c2s:process_terminated:270 (tls|<0.5169.0>) Closing c2s session for dunedan@lobby.wildfiregames.com/BitlBee: Stream closed by us: Replaced by new connection (conflict)
2018-11-07 16:53:24.970 [info] <0.9097.0>@ejabberd_c2s:process_terminated:270 (tls|<0.9097.0>) Closing c2s session for dunedan@lobby.wildfiregames.com/BitlBee: Stream closed by us: has been kicked (policy-violation)
2018-11-07 16:53:30.355 [info] <0.14762.0>@ejabberd_c2s:bind:402 (tls|<0.14762.0>) Opened c2s session for dunedan@lobby.wildfiregames.com/BitlBee
2018-11-07 19:53:19.734 [info] <0.14762.0>@ejabberd_c2s:process_terminated:270 (tls|<0.14762.0>) Closing c2s session for dunedan@lobby.wildfiregames.com/BitlBee: Stream reset by peer
2018-11-07 19:53:23.859 [info] <0.17612.0>@ejabberd_c2s:bind:402 (tls|<0.17612.0>) Opened c2s session for dunedan@lobby.wildfiregames.com/0ad
2018-11-07 19:53:37.043 [info] <0.17614.0>@ejabberd_c2s:bind:402 (tls|<0.17614.0>) Opened c2s session for dunedan@lobby.wildfiregames.com/BitlBee

By performing the same steps as Dunedan above, we can reproduce the bug.

Change History (2)

comment:1 by elexis, 5 years ago

Reproduce:

  1. Join the lobby room with the 0ad client.
  2. Join the lobby room with a secondary client, such as pidgin/psi-plus/BitLee/ and the same account.
  3. Start hosting the game with the 0ad client.

From this point onwards, the game will be listed, independent or disconnects or rejoins in the lobby.

The game can be removed by the player by hosting a new game and then closing the host.

comment:2 by wraitii, 3 years ago

Milestone: Backlog
Resolution: duplicate
Status: newclosed

Duplicate of #3548

Note: See TracTickets for help on using tickets.