Is it OK to upload replays with any desyncs at all? There is one where one guy who spectates desyncs but no-one else and another 16 player one where a few people desynced pretty quickly and I'm not sure if they're worth it.Tobi wrote:You can upload desynced replays here:
http://www.osrts.info/~tvo/spring/upload_replay.php
I'll run them through valgrind soonish.
Only replays made with the latest version of spring please.
Sync errors
Moderator: Moderators
I also see sync errors in every other game. And most of time 3 or more ppl get desync at the same time.. sometimes even some minutes in game.
how about implementing auto resync ?
Host could send game data of all units and postions.. is it possible in timely manner or would it be too hard on host to calculate?
I remember CNC : ZH had the same problem - game has detected missmatch. And even EA could never get rid of it... so annoying.
how about implementing auto resync ?
Host could send game data of all units and postions.. is it possible in timely manner or would it be too hard on host to calculate?
I remember CNC : ZH had the same problem - game has detected missmatch. And even EA could never get rid of it... so annoying.
The problem with sync errors and replays is that replays rely on sync.
Provided the sync error in itself is deterministic & reproducable, replaying the replay on a non-desynced player's PC will give a different results from replaying the replay on a desynced player's PC.
If the sync error is caused by some random bug (unintialized memory read for example), then that part of the replay after the desync is unreliable (the correct gamestate is never stored in the replay).
Replays of desyncs are still useful because one can run them through spring running in some memory checking tool (or even springs built-in memory debugger, syncify, which is currently broken but which I intent to fix..).
Provided the sync error in itself is deterministic & reproducable, replaying the replay on a non-desynced player's PC will give a different results from replaying the replay on a desynced player's PC.
If the sync error is caused by some random bug (unintialized memory read for example), then that part of the replay after the desync is unreliable (the correct gamestate is never stored in the replay).
Replays of desyncs are still useful because one can run them through spring running in some memory checking tool (or even springs built-in memory debugger, syncify, which is currently broken but which I intent to fix..).
This idea is probably bad for one reason or another, BUT: why couldn't you compare the replays of the synced player and desynced player to see where the difference occured? If you had a program that would compare the replays line by line and highlight where the error occured, it would seem to me that would aid debugging.
[/possibly impossible idea from non-coder person]
[/possibly impossible idea from non-coder person]
Indeed it's impossible: The replay only contains the stuff sent over the net.
Suppose we have two players, A and B. A kept synced, B desynced. After the game A and B swap their replay files. Then, most probably, A would still see his version of the game replayed, and B his version of the game: B still is the one that's out of sync, and, if names or sync error messages were edited out of the replay, it would be impossible to find the replay created by the spring version that desynced (in a pool of all replays created by all players of that game).
EDIT: However it could be interesting to compare the contents of the net packages in the replay. If they're different then clearly some netcode / device corrupts packages or something. That will be a very time consuming & boring operation tho....
Suppose we have two players, A and B. A kept synced, B desynced. After the game A and B swap their replay files. Then, most probably, A would still see his version of the game replayed, and B his version of the game: B still is the one that's out of sync, and, if names or sync error messages were edited out of the replay, it would be impossible to find the replay created by the spring version that desynced (in a pool of all replays created by all players of that game).
EDIT: However it could be interesting to compare the contents of the net packages in the replay. If they're different then clearly some netcode / device corrupts packages or something. That will be a very time consuming & boring operation tho....
-
- Posts: 933
- Joined: 27 Feb 2006, 02:04
There are still sync errors in new version. So far 100% of games I played had desync. 1 happend when commander exploded (4 people out of 10 desynced) other when nuke hit (7 out of 10 desynced). In those two cases I caused the explosion and I stayed in sync with host.
I was unable to notice cause of other desyncs I encountered. All of this happend in BA4.41 if it's important.
It also seems to me that games run slower now. Even if people show low cpu % and low pings it sometimes slows down extremely.
I was unable to notice cause of other desyncs I encountered. All of this happend in BA4.41 if it's important.
It also seems to me that games run slower now. Even if people show low cpu % and low pings it sometimes slows down extremely.
These desyncs seem player specific. Certain hosts seem to constantly desync in the games they host and others very rarely. Maybe consider this in searching for the answers as to why people desync - it may be client side related instead of the actual game itself.
Also some hosts can host certain maps fine and others repeatedly desync, where another host will have vice versa - i.e. perfect sync hosting games on the map where the other host desyncs, but his own desync problems on maps that the other host is fine with.
Also some hosts can host certain maps fine and others repeatedly desync, where another host will have vice versa - i.e. perfect sync hosting games on the map where the other host desyncs, but his own desync problems on maps that the other host is fine with.
Multiple versions of tangerine were released without changing something to make the two version appear different, is that what you are talking about?DemO wrote: Also some hosts can host certain maps fine and others repeatedly desync, where another host will have vice versa - i.e. perfect sync hosting games on the map where the other host desyncs, but his own desync problems on maps that the other host is fine with.