Author Topic: [testing] Allow to join matches (faction controlled by AI when no player)  (Read 15984 times)

tomreyn

  • MegaGlest Team
  • Airship
  • ********
  • Posts: 2,764
    • View Profile
    • MegaGlest - the free and open source cross platform 3D real-time strategy game
So at least between the three of us there seems to be agreement that there should be two options:

(1) Track players who were connected to a game by the time it was started, and allow only these players to reconnect during this game should they get disconnected. This should be active by default (?).
(2) Allow any player to take any CPU or network player slot while a game is in process. This option is off by default and needs to be enabled by the time the game is setup.

With both options, the server admin (whether headless or not) is able to block a client from reconnecting to the in-progress game, so that clients with bad server connectivity cannot spoil the other players' fun

Did I sum this up properly? Do we agree on this summary?

About (1), we need to define how the tracking works. Titi says he's thinking of IP address and pseudo unique (randomly generated number) identifier based bans. I guess this is good enough for now. It could be changed into global player IDs once we have them. It's yet unclear whether with this option, (1), a reconnecting player is allowed to only take the slot she used to have, or may choose any CPU or netork slot. Assumely the intended bahaviour would be that only the original slot can be reused by this player. To be able to enforce this, the server would need to track which user, identified by IP address + unique ID, started in which slot, 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 · · ·

titi

  • MegaGlest Team
  • Airship
  • ********
  • Posts: 4,225
    • View Profile
    • http://www.titusgames.de
Yes you sum it up correctly.

For the reconnecting players and the slot they can take:
The server stores the key/slot combination. So if someone shows up with a special key, we know what slot he had.
Try Megaglest! Improved Engine / New factions / New tilesets / New maps / New scenarios

titi

  • MegaGlest Team
  • Airship
  • ********
  • Posts: 4,225
    • View Profile
    • http://www.titusgames.de
I collected all things that need to be done for this, beside fixing bugs:

http://openetherpad.org/6vJ9TfV4nl
Try Megaglest! Improved Engine / New factions / New tilesets / New maps / New scenarios

titi_son

  • Draco Rider
  • *****
  • Posts: 283
  • titi_son
    • View Profile
We played a full very fun game today with svn rev:4208
We had "Allow to join matches" on and at the end (when we already had won) i disconnected and reconnected without any problems.
Just for info.

But one thing... why can you reconnect if the game has already ended?
If we add a msg that asks you if you want to reconnect to that game, it would also be displayed if the game has already ended but the server didn't stop yet. i Just added this to the pad with ??? around it.
My first Tilseset: SPRING :) (included in Megaglest )

Secret Hint: To play online join the IRC #megaglest-lobby on freenode which is the lobby chat ingame. So you can chat with or wait for people in the lobby without running megaglest all the time.

filux

  • MegaGlest Team
  • Draco Rider
  • ********
  • Posts: 310
  • was OpenSuse x64, is Debian testing x64
    • View Profile
I'll add my cent :)

For me, it will be good to allow for admin (host/main player) decision where you can join and where not (perhaps even before the start of the battle, E.g. as check boxes, one for each slot).

For example, if I want to setup the battle as a "4xHuman  vs 4xCpuMega" then I don't like it when any human join instead of cpu, but I'd like to see a man in a free slot in the team of humans.

Besides I would like to see separation of functions rejoin and join.
Now only two functions together are either enabled or disabled, and the rejoin function should always in default be enabled.
I support the protection of the slot for rejoin function too, to make sure that the player has time to join to the old slot before someone will take its place, but if, for example elapsed more than three minutes, and the player didn't return, then it would be good to release of this slot for all (if this slot is "check as join")
« Last Edit: 21 May 2013, 06:10:35 by filux »

Coldfusionstorm

  • Golem
  • ******
  • Posts: 868
    • View Profile
the 1 option is good. And please do not base the key or require a IP adress for connection purposes. It's most likely you are getting a new ip-adress if you get a full disconnect.
WiP Game developer.
I do danish translations.
"i break stuff"

kagu

  • Administrator
  • Horseman
  • ********
  • Posts: 202
    • View Profile
This is most needed feature ever.
Megaglest Chat
Please support:
1. CEGUI 2. In-process games 3. Registered Players
Playtime:
Every Sunday 21:00 - 01:00 CET

tomreyn

  • MegaGlest Team
  • Airship
  • ********
  • Posts: 2,764
    • View Profile
    • MegaGlest - the free and open source cross platform 3D real-time strategy game
It's a couple months later, and openetherpad.org is no more. Did anyone keep a backup?
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 · · ·

titi

  • MegaGlest Team
  • Airship
  • ********
  • Posts: 4,225
    • View Profile
    • http://www.titusgames.de
I did not
Try Megaglest! Improved Engine / New factions / New tilesets / New maps / New scenarios

galaxy

  • Initiate
  • Posts: 6
    • View Profile
Hello,
As I'm having problems with my internet connection lately (which cases me to disconnect frequently), I really want to see progress in this issue. It's really disappointing to disconnect suddenly after playing in a game for 40 minutes.
The idea of a joining player that could replace an AI slot is also interesting

Thank you for the effort guys...

andy_5995

  • Moderator
  • Ornithopter
  • ********
  • Posts: 445
  • Debian Linux user
    • View Profile
    • Andy Alt's home page
This feature already exists as experimental, and will likely be tested after the current release we are about to announce.

It's coded in, but disabled at present, I assume. That about right? I've never seen the option for it.

I'm looking forward to trying it out, I'll stay tuned :)

andy_5995

  • Moderator
  • Ornithopter
  • ********
  • Posts: 445
  • Debian Linux user
    • View Profile
    • Andy Alt's home page
There is another compelling reason, imo, why the ability to join a running game should be considered.

I mention it in this off-topic, but related post:
change how observer mode works

Coldfusionstorm

  • Golem
  • ******
  • Posts: 868
    • View Profile
i already made a well thoguht out response to this years ago, Including ideas how to use the key and more.
WiP Game developer.
I do danish translations.
"i break stuff"