[engine]request resync on oos option
Moderator: Forum Moderators
Forum rules
Before posting a new idea, you must read the following:
Before posting a new idea, you must read the following:
[engine]request resync on oos option
I wonder why noone's come up with this yet, maybe it just sounds simple but is too complex to implement in practice?
The whole point is - when an oos error happens, aside for the 'report, dont report, quit' options add one to request resynchronisation from the host.
That should most likely add the requesting user to a pending list on the host side and the game host should have probably some menu option to answer those requests when his list is not empty (not straight after the response since he may expect others to have the problem as well and it's better to wait for the situation to become clear and answer once for all requesters instead of getasked-waitforanswer-answer-getaskedagain-etc). Obviously the resynchronisation command should send out to those who request it information on the current state of game (as seen by the host, gotta rely on someone and host is the best candidate).
In most cases that would probably resort to something similar to saving a game and sending the save to the requesters, but it might be practical to also send data on unit types currently on the map, on players recruitment lists and the advancement paths of the aforementionned.
The whole point is - when an oos error happens, aside for the 'report, dont report, quit' options add one to request resynchronisation from the host.
That should most likely add the requesting user to a pending list on the host side and the game host should have probably some menu option to answer those requests when his list is not empty (not straight after the response since he may expect others to have the problem as well and it's better to wait for the situation to become clear and answer once for all requesters instead of getasked-waitforanswer-answer-getaskedagain-etc). Obviously the resynchronisation command should send out to those who request it information on the current state of game (as seen by the host, gotta rely on someone and host is the best candidate).
In most cases that would probably resort to something similar to saving a game and sending the save to the requesters, but it might be practical to also send data on unit types currently on the map, on players recruitment lists and the advancement paths of the aforementionned.
Like cats? I've made a whole faction of them to kick ass with!
Don't like cats? I've made a whole faction of them to kick their asses! So everyone's happy :)
Felinian faction is part of the Beyond Southern Hells era
kitties need sprites! art topic here
Don't like cats? I've made a whole faction of them to kick their asses! So everyone's happy :)
Felinian faction is part of the Beyond Southern Hells era
kitties need sprites! art topic here
-
- Inactive Developer
- Posts: 2461
- Joined: August 15th, 2008, 8:46 pm
- Location: Germany
Re: [engine]request resync on oos option
I think this CABD: One of the involved players (e.g. the host) saves his version of the gamestate (saves the game), then all quit, the saver reloads his save and the others join again. (None needs to disconnect from the server inbetween, only returning to the lobby.)
Interesting may be :inspect, if you e.g. find a or "the" section of the gamestate that's out-of-sync you may manually (by setting variables, debug commands etc) bring it back into sync. I suppose that this would work. Useful if it's only one variable or so.
Also, AFAIK Pentarctagon made his debug era for resynching games.
Interesting may be :inspect, if you e.g. find a or "the" section of the gamestate that's out-of-sync you may manually (by setting variables, debug commands etc) bring it back into sync. I suppose that this would work. Useful if it's only one variable or so.
Also, AFAIK Pentarctagon made his debug era for resynching games.
projects (BfW 1.12):
A Simple Campaign: campaign draft for wml starters • Plan Your Advancements: mp mod
The Earth's Gut: sp campaign • Settlers of Wesnoth: mp scenario • Wesnoth Lua Pack: lua tags and utils
updated to 1.8 and handed over: A Gryphon's Tale: sp campaign
A Simple Campaign: campaign draft for wml starters • Plan Your Advancements: mp mod
The Earth's Gut: sp campaign • Settlers of Wesnoth: mp scenario • Wesnoth Lua Pack: lua tags and utils
updated to 1.8 and handed over: A Gryphon's Tale: sp campaign
Re: [engine]request resync on oos option
not very convenient don't you think?
problem is - oos-es are usually not single variable, due to bugs in eras/scenarios used (so can't use debug era cause we're already using another)..and isn't inspect a debug command? we're talking about network games
another problem - most players don't bother knowing how to use variable manipulation commands or will not bother thinking of saving and reloading a game (especially that if a network player exits a game he's often likely not to come back), but a big sign "request resynchronisation" / " player x requests resynchronisation" should rather draw attention to make use of
and of course reloading is likely not to fix the cause of the oos which means in a moment or two we'll end up needing to do that again. I'm trying to come up with something to avoid exactly that
problem is - oos-es are usually not single variable, due to bugs in eras/scenarios used (so can't use debug era cause we're already using another)..and isn't inspect a debug command? we're talking about network games
another problem - most players don't bother knowing how to use variable manipulation commands or will not bother thinking of saving and reloading a game (especially that if a network player exits a game he's often likely not to come back), but a big sign "request resynchronisation" / " player x requests resynchronisation" should rather draw attention to make use of
and of course reloading is likely not to fix the cause of the oos which means in a moment or two we'll end up needing to do that again. I'm trying to come up with something to avoid exactly that
Like cats? I've made a whole faction of them to kick ass with!
Don't like cats? I've made a whole faction of them to kick their asses! So everyone's happy :)
Felinian faction is part of the Beyond Southern Hells era
kitties need sprites! art topic here
Don't like cats? I've made a whole faction of them to kick their asses! So everyone's happy :)
Felinian faction is part of the Beyond Southern Hells era
kitties need sprites! art topic here
-
- Inactive Developer
- Posts: 2461
- Joined: August 15th, 2008, 8:46 pm
- Location: Germany
Re: [engine]request resync on oos option
Start wesnoth with the --debug command line switch.StDrake wrote:and isn't inspect a debug command? we're talking about network games
The engine cannot do anything about that - the wml author must fix his addon. See above for great help.and of course reloading is likely not to fix the cause of the oos which means in a moment or two we'll end up needing to do that again. I'm trying to come up with something to avoid exactly that
projects (BfW 1.12):
A Simple Campaign: campaign draft for wml starters • Plan Your Advancements: mp mod
The Earth's Gut: sp campaign • Settlers of Wesnoth: mp scenario • Wesnoth Lua Pack: lua tags and utils
updated to 1.8 and handed over: A Gryphon's Tale: sp campaign
A Simple Campaign: campaign draft for wml starters • Plan Your Advancements: mp mod
The Earth's Gut: sp campaign • Settlers of Wesnoth: mp scenario • Wesnoth Lua Pack: lua tags and utils
updated to 1.8 and handed over: A Gryphon's Tale: sp campaign
- Pentarctagon
- Project Manager
- Posts: 5564
- Joined: March 22nd, 2009, 10:50 pm
- Location: Earth (occasionally)
Re: [engine]request resync on oos option
well depending on what era you are using you could still use Debug Era since it supports default, EoM, and EoMa units.StDrake wrote:problem is - oos-es are usually not single variable, due to bugs in eras/scenarios used (so can't use debug era cause we're already using another)
99 little bugs in the code, 99 little bugs
take one down, patch it around
-2,147,483,648 little bugs in the code
take one down, patch it around
-2,147,483,648 little bugs in the code
-
- Inactive Developer
- Posts: 2461
- Joined: August 15th, 2008, 8:46 pm
- Location: Germany
Re: [engine]request resync on oos option
Is there a way to choose several eras together in the same game ? I suppose not, other than doing it about the way you are doing there - adding "manual" support for some eras.Pentarctagon wrote:well depending on what era you are using you could still use Debug Era since it supports default, EoM, and EoMa units.
However, eras like e.g. DiplomacyEra and PickYourRecruitsEra do logically not interfere with each other. This could be the case if they e.g. define unit_types with the same ids.
projects (BfW 1.12):
A Simple Campaign: campaign draft for wml starters • Plan Your Advancements: mp mod
The Earth's Gut: sp campaign • Settlers of Wesnoth: mp scenario • Wesnoth Lua Pack: lua tags and utils
updated to 1.8 and handed over: A Gryphon's Tale: sp campaign
A Simple Campaign: campaign draft for wml starters • Plan Your Advancements: mp mod
The Earth's Gut: sp campaign • Settlers of Wesnoth: mp scenario • Wesnoth Lua Pack: lua tags and utils
updated to 1.8 and handed over: A Gryphon's Tale: sp campaign
- Pentarctagon
- Project Manager
- Posts: 5564
- Joined: March 22nd, 2009, 10:50 pm
- Location: Earth (occasionally)
Re: [engine]request resync on oos option
If I knew of a way to do that I probably would have done it when I first made the era. adding support for combined eras or adding new eras wouldn't be that hard, though I get next to 0 feedback about stuff I make so for all I know people download it and then never use it, in which case there is no real reason to add more stuff to it.Anonymissimus wrote:Is there a way to choose several eras together in the same game ? I suppose not, other than doing it about the way you are doing there - adding "manual" support for some eras.
one of a couple reasons why I decided to not add Ageless EraAnonymissimus wrote:However, eras like e.g. DiplomacyEra and PickYourRecruitsEra do logically not interfere with each other. This could be the case if they e.g. define unit_types with the same ids.
99 little bugs in the code, 99 little bugs
take one down, patch it around
-2,147,483,648 little bugs in the code
take one down, patch it around
-2,147,483,648 little bugs in the code
Re: [engine]request resync on oos option
I find that when there's an OOS trying to resync from replay doesn't work (so quit/rejoin is useless) but the state load by load game tends to resync after OOS.
CHKDSK has repaired bad sectors in CHKDSK.EXE