Author Topic: [testing] 3.6.0.2: Users may join unavailable slots after 'reload last game'  (Read 1345 times)

tomreyn

  • Local Moderator
  • Airship
  • ********
  • Posts: 2,764
    • View Profile
    • MegaGlest - the free and open source cross platform 3D real-time strategy game
When you host a game with a map for 8 players but have no users connected, yet, then click on the Reload last game button and this gives you a game with less slots, such as a 4 player map, then when clients connect to your game they may end up on a slot which is not available on this map, i.e. somewhere on slots 4 to 7.
« Last Edit: 27 July 2012, 12:10:51 by tomreyn »
atibox: Ryzen 1800X (8 cores @3.6GHz), 32 GB RAM, MSI Radeon RX 580 Gaming X 8G, PCI subsystem ID [1462:3417], (Radeon RX 580 chipset, POLARIS10) @3440x1440; latest stable Ubuntu release, (open source) radeon (amdgpu) / mesa video driver
atibox (old): Core2Quad Q9400 (4 cores @2.66GHz), 8 GB RAM, XFX HD-467X-DDF2, PCI subsystem ID [1682:2931], (Radeon HD 4670, RV730 XT) @1680x1050; latest stable Ubuntu release, (open source) radeon / mesa video driver
notebook: HP envy13d020ng
internet access: VDSL2+

· · · How YOU can contribute to MG · Latest development snapshot · How to build yourself · Megapack techtree · Currently hosted MG games · · ·

tomreyn

  • Local Moderator
  • Airship
  • ********
  • Posts: 2,764
    • View Profile
    • MegaGlest - the free and open source cross platform 3D real-time strategy game
This affects 3.6.0.3, too.
atibox: Ryzen 1800X (8 cores @3.6GHz), 32 GB RAM, MSI Radeon RX 580 Gaming X 8G, PCI subsystem ID [1462:3417], (Radeon RX 580 chipset, POLARIS10) @3440x1440; latest stable Ubuntu release, (open source) radeon (amdgpu) / mesa video driver
atibox (old): Core2Quad Q9400 (4 cores @2.66GHz), 8 GB RAM, XFX HD-467X-DDF2, PCI subsystem ID [1682:2931], (Radeon HD 4670, RV730 XT) @1680x1050; latest stable Ubuntu release, (open source) radeon / mesa video driver
notebook: HP envy13d020ng
internet access: VDSL2+

· · · How YOU can contribute to MG · Latest development snapshot · How to build yourself · Megapack techtree · Currently hosted MG games · · ·

softcoder

  • MegaGlest Team
  • Battle Machine
  • ********
  • Posts: 2,239
    • View Profile
What exactly do you suggest should be the behaviour?

tomreyn

  • Local Moderator
  • Airship
  • ********
  • Posts: 2,764
    • View Profile
    • MegaGlest - the free and open source cross platform 3D real-time strategy game
When you reload a game, then only as many network slots as there are start positions on the selected map should be available.

Another option would be to always make 8 network slots available as it is now when you "reload last game" (independent of the map you have selected). In this case, however, players should first get connected to slots which map to an existing start position. All players which are not in a slot which translates into a start position on the map should still be listed, possibly greyed out or even in red. Currently these players are not listed, there is only non-obvious indication that a user has connected to one of these extra slots, and these users are unable to switch to other slots then, forcing them to reconnect and try their luck to end up in one of the usable slots then.
atibox: Ryzen 1800X (8 cores @3.6GHz), 32 GB RAM, MSI Radeon RX 580 Gaming X 8G, PCI subsystem ID [1462:3417], (Radeon RX 580 chipset, POLARIS10) @3440x1440; latest stable Ubuntu release, (open source) radeon (amdgpu) / mesa video driver
atibox (old): Core2Quad Q9400 (4 cores @2.66GHz), 8 GB RAM, XFX HD-467X-DDF2, PCI subsystem ID [1682:2931], (Radeon HD 4670, RV730 XT) @1680x1050; latest stable Ubuntu release, (open source) radeon / mesa video driver
notebook: HP envy13d020ng
internet access: VDSL2+

· · · How YOU can contribute to MG · Latest development snapshot · How to build yourself · Megapack techtree · Currently hosted MG games · · ·

softcoder

  • MegaGlest Team
  • Battle Machine
  • ********
  • Posts: 2,239
    • View Profile
ok try out svn. If a user is in a slot that is not longer valid, then no-one can take that slot there-after, so they should easily be able to join a new valid slot.

tomreyn

  • Local Moderator
  • Airship
  • ********
  • Posts: 2,764
    • View Profile
    • MegaGlest - the free and open source cross platform 3D real-time strategy game
This happened again and this time I actually took a screenshot, since I guess it says more than a 100 words - and because I assume we may have been discussing different things here.

Code: [Select]
[img]http://megaglest.pzt.me/dx/subdomain/megaglest/img/5/2/0/5202.jpg[/img]
This situation seems to occur after "Reload last game" was used (I'm not sure whether it only occurs then), and when the server admin switches things around on the server, such as replacing a network slot by a CPU player, while a new client is in the process of joining.

The text on the image is not exactly right: This forth slot used to be open earlier (due to Reload last game loading an 8 player map), but it was probably closed before the new player started joining.

This is not an off-by-one, we're had situations where a 4 player map was set, and there were free network slots (0 and 1 were taken, 2 and 3 were free, all others closed due to a 4 player map) and a new player joined on slot 6 and could not move away from there. Also reconnecting does often not help in the first attempt - you may end up in the same closed slot again, and the server admin may even miss you are there because only this one button is displayed - not even a player name.
« Last Edit: 27 September 2016, 20:24:03 by filux »
atibox: Ryzen 1800X (8 cores @3.6GHz), 32 GB RAM, MSI Radeon RX 580 Gaming X 8G, PCI subsystem ID [1462:3417], (Radeon RX 580 chipset, POLARIS10) @3440x1440; latest stable Ubuntu release, (open source) radeon (amdgpu) / mesa video driver
atibox (old): Core2Quad Q9400 (4 cores @2.66GHz), 8 GB RAM, XFX HD-467X-DDF2, PCI subsystem ID [1682:2931], (Radeon HD 4670, RV730 XT) @1680x1050; latest stable Ubuntu release, (open source) radeon / mesa video driver
notebook: HP envy13d020ng
internet access: VDSL2+

· · · How YOU can contribute to MG · Latest development snapshot · How to build yourself · Megapack techtree · Currently hosted MG games · · ·

Ishmaru

  • Behemoth
  • *******
  • Posts: 1,071
  • um wat??
    • View Profile
    • DelphaDesign
Hust a random observation but 3 peninsula is an Annex map. Not saying its wrong to put it on mg just wondering if its a cause or symptom of problem stated?
Annex: Conquer the World Release 4 For Pc Mac + Linux
https://forum.megaglest.org/index.php?topic=9570.0
Annex is now on Facebook!
https://www.facebook.com/AnnexConquer

tomreyn

  • Local Moderator
  • Airship
  • ********
  • Posts: 2,764
    • View Profile
    • MegaGlest - the free and open source cross platform 3D real-time strategy game
I think that's just a coincidence, most likely it's not related. I accidentially downloaded this map onto my MegaGlest user maps directory when Annex was stiill using the same masterserver as MegaGlest.
atibox: Ryzen 1800X (8 cores @3.6GHz), 32 GB RAM, MSI Radeon RX 580 Gaming X 8G, PCI subsystem ID [1462:3417], (Radeon RX 580 chipset, POLARIS10) @3440x1440; latest stable Ubuntu release, (open source) radeon (amdgpu) / mesa video driver
atibox (old): Core2Quad Q9400 (4 cores @2.66GHz), 8 GB RAM, XFX HD-467X-DDF2, PCI subsystem ID [1682:2931], (Radeon HD 4670, RV730 XT) @1680x1050; latest stable Ubuntu release, (open source) radeon / mesa video driver
notebook: HP envy13d020ng
internet access: VDSL2+

· · · How YOU can contribute to MG · Latest development snapshot · How to build yourself · Megapack techtree · Currently hosted MG games · · ·

softcoder

  • MegaGlest Team
  • Battle Machine
  • ********
  • Posts: 2,239
    • View Profile
The change is svn closes an invalid network slot AFTER it has no connection any longer. That change should fix this, I suggest you try it out.

tomreyn

  • Local Moderator
  • Airship
  • ********
  • Posts: 2,764
    • View Profile
    • MegaGlest - the free and open source cross platform 3D real-time strategy game
This issue still persists. Here's how to reproduce it on r3505:
  • Start a game server, announcing to masterserver with eight slots, of which at least one of slots 4 to 7 needs to be a network slot.
  • Wait >= 5 seconds.
  • Switch to a 4 player map with these slots:
Code: [Select]
0. Human
1. Network
2. Network
3. Closed
  • Wait >= 5 seconds.
  • Close both network slots and, at the same time, have a new player connect to the server. The new player will end up in one of the higher slots which are not actually available, and will only show up with "Not ready" as seen on the screenshot above, i.e. there is no full player info available (no player name).
atibox: Ryzen 1800X (8 cores @3.6GHz), 32 GB RAM, MSI Radeon RX 580 Gaming X 8G, PCI subsystem ID [1462:3417], (Radeon RX 580 chipset, POLARIS10) @3440x1440; latest stable Ubuntu release, (open source) radeon (amdgpu) / mesa video driver
atibox (old): Core2Quad Q9400 (4 cores @2.66GHz), 8 GB RAM, XFX HD-467X-DDF2, PCI subsystem ID [1682:2931], (Radeon HD 4670, RV730 XT) @1680x1050; latest stable Ubuntu release, (open source) radeon / mesa video driver
notebook: HP envy13d020ng
internet access: VDSL2+

· · · How YOU can contribute to MG · Latest development snapshot · How to build yourself · Megapack techtree · Currently hosted MG games · · ·

softcoder

  • MegaGlest Team
  • Battle Machine
  • ********
  • Posts: 2,239
    • View Profile
Ok try again, this scenario was different from the original bug reported.

Thanks