Login

russian armor

ELI5 Why we can't have a reconnect option.

4 May 2015, 16:51 PM
#1
avatar of Gdot

Posts: 1166 | Subs: 1

Can someone with the proper credentials explain why we can't have a timed reconnect feature similar to CSGO?

I'm sure there is a perfectly good reason but I have not heard it. Apologies if this was answered already.
5 May 2015, 02:18 AM
#2
avatar of Appleseed

Posts: 622

well i guess it is quite hard to do..all i know is LOL has that option and 99% of the online play game don't have it
5 May 2015, 06:56 AM
#3
avatar of RMMLz

Posts: 1802 | Subs: 1

First of all, the game is P2P and there is no dedicated system. Second of all, the amount of data in a map after like 15 minutes is HUGE apparently. And games like LoL and CS are not P2P, they have dedicated servers which are expensive as hell.

I've been begging for reconnect function since the previous alpha, Q Duffy said "Ok we will look into it" back then but I think it's not actually possible.

Inverse explained it in details in another thread.
5 May 2015, 07:43 AM
#4
avatar of rezzzzen

Posts: 76

I think coh2 has battleservers too so p2p is a history. Thing is that there is too much going on the map for reconnect to be possible. Also there is a reconnect feature which does reconnecting but its only few seconds after u lose connection and its not functioning like standard reconnect feature(no button, is automatic). Maybe someone can explain more
5 May 2015, 07:56 AM
#5
avatar of RMMLz

Posts: 1802 | Subs: 1

I think coh2 has battleservers too so p2p is a history. Thing is that there is too much going on the map for reconnect to be possible. Also there is a reconnect feature which does reconnecting but its only few seconds after u lose connection and its not functioning like standard reconnect feature(no button, is automatic). Maybe someone can explain more


P2P is not history, battleservers only act as Relays, they are not dedicated game servers and one player is always the Host. But reconnect is not possible at the current state.

Read this
You can find a lot more about why Reconnect is not possible/very costly. Just search the forum and you'll find a buttload of threads.


@Mods: This issue has been discussed like crazy in the past, I don't think it's necessary to dwell on it any more.
5 May 2015, 08:28 AM
#6
avatar of wuff

Posts: 1534 | Subs: 1

jump backJump back to quoted post4 May 2015, 16:51 PMGdot
Can someone with the proper credentials explain why we can't have a timed reconnect feature similar to CSGO?

I'm sure there is a perfectly good reason but I have not heard it. Apologies if this was answered already.


I think Marcus gave a very good explanation of why this can't be done and why you cannot rewind replays.

I would love to see a pause feature, so if a player lags out the other player could pause the game out of good grace.
5 May 2015, 12:39 PM
#7
avatar of tuvok
Benefactor 115

Posts: 786

jump backJump back to quoted post5 May 2015, 06:56 AMRMMLz
Second of all, the amount of data in a map after like 15 minutes is HUGE apparently.

That's exactly the data that goes into a replay. I wouldn't call that huge. there's also playback of course that your pc should do and I have no idea how much faster than the replay's 8x it could go
5 May 2015, 14:26 PM
#8
avatar of Gdot

Posts: 1166 | Subs: 1

Is it possible to maybe pause for 2 minutes to see if the person can reconnect?
5 May 2015, 15:17 PM
#9
avatar of Inverse
Coder Red Badge

Posts: 1679 | Subs: 5

CoH doesn't have a central server that stores the game state like CSGO, Dota 2, or LoL. It's a deterministic simulation engine, which means every player is essentially running a separate instance of the game that's guaranteed to be exactly the same as every other players' instances. That way the battle servers only have to relay commands, since logic dictates that if all players are running identical game states, issued commands will give the same outcome for all players. That means reduced bandwidth, reduced latency, reduced server hardware requirements, and reduced replay file sizes.

Other RTS games like SC2 work around this by providing a play from replay option, where you can load a replay and resume the game at a predetermined time before the disconnect occurred. The problem with this approach is it requires every player to have a copy of the replay file; essentially, it's only ever used for tournaments, and it's impossible to reconnect in regular matchmaking.

Battle servers are storing a bit of game state information now, since the observing system is really just server-side replay generation. However, converting these replays into a means of reconnecting to a game is likely extremely difficult and not really practical in reality. It would also rely on additional features like pausing, which CoH lacks.

Until server-side RTS design becomes commonplace (which might never happen), reconnect from replay is the best you can realistically hope for here.

jump backJump back to quoted post5 May 2015, 12:39 PMtuvok

That's exactly the data that goes into a replay. I wouldn't call that huge. there's also playback of course that your pc should do and I have no idea how much faster than the replay's 8x it could go

The CoH engine runs at 8 ticks/second, so 8x is the fastest speed you will ever be able to watch a replay at.
5 May 2015, 15:44 PM
#10
avatar of pugzii

Posts: 513

CoH doesn't have a central server that stores the game state like CSGO, Dota 2, or LoL. It's a deterministic simulation engine, which means every player is essentially running a separate instance of the game that's guaranteed to be exactly the same as every other players' instances. That way the battle servers only have to relay commands, since logic dictates that if all players are running identical game states, issued commands will give the same outcome for all players. That means reduced bandwidth, reduced latency, reduced server hardware requirements, and reduced replay file sizes.

Other RTS games like SC2 work around this by providing a play from replay option, where you can load a replay and resume the game at a predetermined time before the disconnect occurred. The problem with this approach is it requires every player to have a copy of the replay file; essentially, it's only ever used for tournaments, and it's impossible to reconnect in regular matchmaking.

Battle servers are storing a bit of game state information now, since the observing system is really just server-side replay generation. However, converting these replays into a means of reconnecting to a game is likely extremely difficult and not really practical in reality. It would also rely on additional features like pausing, which CoH lacks.

Until server-side RTS design becomes commonplace (which might never happen), reconnect from replay is the best you can realistically hope for here.


The CoH engine runs at 8 ticks/second, so 8x is the fastest speed you will ever be able to watch a replay at.


Then please explain why, when I pull my ethernet cable, my game will freeze and warn of a DC and attempt to reconnect over and over. Other players can continue to play during my freeze and when I plug my cable back in, it will catch up with the other players states without sync error and I can continue to play.
5 May 2015, 16:35 PM
#11
avatar of Inverse
Coder Red Badge

Posts: 1679 | Subs: 5

If that's the case, then there's likely a server-side queue that builds up commands if they fail sending, up to a certain point where the player is finally dropped for good. This is a poor way to implement a proper reconnect feature because it's a major security vulnerability. If you let the servers queue commands for disconnected players indefinitely, a malicious user could attack the server infrastructure by constantly connecting and disconnecting from games, or matching with collaborators and letting a game run indefinitely with a few players disconnected until the server runs out of memory. This is actually probably a problem with the observer system too, since the server is likely just storing a replay file and serving it to users. I wonder what they've implemented to prevent neverending games from consuming too much memory.

There's also the fact that this method would only work for minor internet outages like the one you described, where you've lost connection but are still physically in the game. If you crash or close out of the game, you will lose the game state and those queued commands will be useless.
1 user is browsing this thread: 1 guest

Ladders Top 10

  • #
    Steam Alias
    W
    L
    %
    Streak
Data provided by Relic Relic Entertainment

Replay highlight

VS
  • U.S. Forces flag cblanco ★
  • The British Forces flag 보드카 중대
  • Oberkommando West flag VonManteuffel
  • Ostheer flag Heartless Jäger
uploaded by XXxxHeartlessxxXX

Board Info

723 users are online: 723 guests
0 post in the last 24h
8 posts in the last week
37 posts in the last month
Registered members: 49101
Welcome our newest member, Dorca477
Most online: 2043 users on 29 Oct 2023, 01:04 AM