To combat Out Of Synch errors

Brainstorm ideas of possible additions to the game. Read this before posting!

Moderator: Forum Moderators

Forum rules
Before posting a new idea, you must read the following:
Post Reply
Awen
Posts: 46
Joined: March 16th, 2008, 6:44 pm

To combat Out Of Synch errors

Post by Awen »

here is my idea to combat oos (out of synch) errors which i will explain happen in up to half of the games that i play in.

sometimes i get them at the beginning of the game, other times part way through a game... sometimes throughout a game.

problems that have appeared immediately or some time after the oos errors have been...

Red AI team no longer moves... (all three human players sound off and say that it is reds move) wait for 5 minutes and it is still not doing anything... one time i did wait for a long time and the AI came back to life and played... other times we have saved a game, restarted with all the same players and there is no problem (well not that problem)... if it was player lag then why had all our other turns gone smoothly and to schedule.

other problems ive had... two other players said the flag's colour showed that it was my turn, i was seeing that it was one of their two goes... in the end they thought i was lying and quit. no i dont believe this was lag and was rather the many oos errors we were getting beforehand...

when a game is flooded with oos errors for many players throughout a game there reaches a point in the game where it cant continue for whatever reason (like those mentioned), although sometimes it is ok.

i guess some people must not press NO after getting oos errors and it ends their game...

some hosts ask each player whether they have the latest version of Extended M Era and Era of Myths before we play a game because there are so many oos messages... and they must have run into the consequences of oos errors too.

i still do not know if it matters whether the other human players have a different version of the map than the host does... i guess that does not matter as the map may be downloaded from the host???, please reply to this question.

i realiuse that having different versions of eras like EE & EoM can cause oos messages... i dont know why having such would cause the error sthat ive been seeing though.

anyway to combat the oos errors in the multiplayer screen that lists the teams from top to bottom... there is a lot of free space to the right of income for each team line...

though i do have a resolution of 1280x800 so there is that kind of space, but to be honest when you first start up wesnoth if i do not set my screen resolution to that the menus are off the screen so you can almost say anyone who plays wesnoth will have a high resolution like my own and thus will also have the free space that ive just talked about.

in this free space you could have a heading describing the Era and you could work out abbreviations for each as knowing the full title could be shown elsewhere and its the version number thats important anyway... so under these abbverviated headings.. you might have EE & EoM and under them the version that each player has including the AI who will take the hosts version?... so a host can compare the versions and kick anywone who has a lesser version, that will cause oos errors... maybe on joining a game where they have a lesser version than the host a message could be written to the chat window to tell them so... or if they have a higher version thgan the host it could say that aswell in a message to all.. so people will know its the host at fault.

if the space i talk of is needed for other things, eventuially could you just have a scroll bar - horizontal and have this info on Era version off the screen to the right.

my second request is regarding the Add On button/menu... at the moment there is no way you can tell if you have already downloaded the latest version, unless you can remember the version it was on before... could you have a second coloumn to show the version you have and/or write the text in a different colour (green?) if you have a lower version.. perhaps just write the colour in red if you have a lower version and black as the correct version...

also have a button somewhere that will installl all of the add ons for you automatically, one after the other until they are all done... perhaps you could be clever about this and have tick boxes by the side of every add on and you tick the ones you want to install (that will be done automatically).

make this automatic install check to see if you already have the latest version and if so dont install it again.. and it will do all on the list that you have ticked to be done (and that need installinmg)... you could have a "tick all" box at the top? and have a way of remembering what tick boxes you have previously clicked, so when you close wesnoth, reopen and go to addons there would be the same boxes tickes as you had before... so you could just click somewhere to automatically update those ticked (if they need to be)...

perhaps when you load wesnoth a quick check could be done against the versions you have of the addons against the versions that the update server has and you could be prompted with a list of just the add ons that need updating... with a button to automatically update them or not.

also could there be a way that the user does not have to click on the screen once the update has been installed, so that the process could be automated.

also the "remove add ons" button shows a single column list that does not say enough, it should display all the things that the main add on list does, alright it may only benefit gamers who have a small hard disk to know which add ons take up the most disk space and so could be remeoved.. but it would be a feature, maybe some just wont want to download a 10mb file if they only have a dial up connection and so would want to remove that and not update it... perhaps you could have like the main add on update im proposing have more columns to say thijngs... like the version and if it is current.. and perhaps a way of telling whether you have each add on ticked in the main add on menu (to be auto updated)- this could be displayed as a check box that cant be changed? or simply as a list column, with header like Auto Up and values of Yes or No...

also a feature to show if you have ever used this add on.. values could be never, 1, 2, 2 times in the last month?

also have a way of removing more than one update.. have a tick box column as the last column that is headed Remove and a button to remove thse ticked. and for the process to be automatic....

also another feature that shows you which maps in the multiplayer map list are in which add ons (this could be put as extra info next to the map name in the map to play box (an extra column?), also i think a horizontal scroll bar is needed... actually no not needed.. instead find a way of displaying the add on name to the right of the full map name described at the bottom of the screen as you hover over each map. like 2P - Hamlets (Addon Name 1.4) etc

maybe if a check is made to the add on server at the start when a host makes a game in multiplayer... actually maybe the check should happen at the moment you click on multiplayer?.. a check just before that menu?... then within multiplayer when designing a game the host would know what version of the map he has and version of any Era that he choses as well.

is there anything else that could cause an out of synch btw, what about having different versions of the game engine?

I almost forgot using this method will also stop players from being able to start a game when they dont have the appropriate add on... this happens more than you might think - some players ask specifically if you have the right add ons and it gets frustrating when people start and drop out straight away, sometimes it can take a while to actually start a game with players who have everything... if you no the versions they have and a blanck or none could specify they dont have the addon.. a message could be sent to them automatically from the server for all to see in the chat log that they dont have the correct version or anyversion in fact and then host could kick them and at least they know why they were kicked.

somewhere the very latest versions of the addons - the version number should be displayed so everyone in the multiplayer game - on joining will be able to see even if its the host that has a lesser version.
nataS
Posts: 166
Joined: January 28th, 2008, 3:21 pm

Re: To combat Out Of Synch errors

Post by nataS »

I wondered about this too and asked the question a few weeks ago on IRC:
Species8472: guys, has it ever been suggested to implement a check if client has required era/mod installed when joining a game?
Soliton: yes.
Noyga: Sometimes an era is playable without having it installed, sometimes not...
Sapient: if an era has units that you do not have, that is impossible to predict if those units will be recruited
Noyga: for the moment there is no good way for the engine to tell in which addon an era or a scenario is. It'll be a good idea to think about this stuff with 1.5 were whe want a better addon management system
Sirp: if you'd like to implement it, or fund its implementation, for instance, that would be wonderful. ;)
Mordante: making the addon installation mandatory and easier is on my todo list, but not posted anywhere (I think)

I donated $25,- for a better addon management system to be implemented, and am saving another $25,- that I will donate when the feature is available (with the only reservation that I'm still playing wesnoth by that time).

Other things that can cause out of sync errors:
  1. Unclean installation of Wesnoth
  2. Networking issues
Dave
Founding Developer
Posts: 7071
Joined: August 17th, 2003, 5:07 am
Location: Seattle
Contact:

Re: To combat Out Of Synch errors

Post by Dave »

Yeah, I agree this kind of thing has been a problem for too long.

I think we should start tackling the problem by attacking the low hanging fruit. As such, I've just committed a change: I've made it so that the makers of an era can specify require_era=yes inside the era's definition. If this is specified, then people who do not have the era will not be able to join or observe the game. (It will be shown in red, and the join game and observe buttons will not appear).

To handle different versions, I suggest makers of eras start giving their eras ID's which contain version numbers. For instance, extended_era_v0_5 to make it incompatible with extended_era_v0_6.

I think this should solve the biggest problem. As an added feature, I'd like to add a button in the mp lobby which says "get this era" or something similar on a game one can't join. Pressing this button would connect to the add-on server and download the era.

This is only in SVN HEAD for now, of course. If it works well under testing we may consider backporting it to 1.4.

David
“At Gambling, the deadly sin is to mistake bad play for bad luck.” -- Ian Fleming
User avatar
Noyga
Inactive Developer
Posts: 1790
Joined: September 26th, 2005, 5:56 pm
Location: France

Re: To combat Out Of Synch errors

Post by Noyga »

The problem is sometimes an era is constructed from more than one addon (like EE + EoM from example).
It is more difficult to get meaningful serials in this case. It is probably doable if the era provide a detection script with a serial number as a macro inside, but for the moment no era use this (i think i'll add a serial compatibility number in the EE detect.cfg).
Anyway in this case it would be also harder to make a "get this era" button since you'll need to retrieve more than one addon.
"Ooh, man, my mage had a 30% chance to miss, but he still managed to hit! Awesome!" ;) -- xtifr
Dave
Founding Developer
Posts: 7071
Joined: August 17th, 2003, 5:07 am
Location: Seattle
Contact:

Re: To combat Out Of Synch errors

Post by Dave »

Noyga wrote:The problem is sometimes an era is constructed from more than one addon (like EE + EoM from example).
Yes, this still won't solve a complex era like that.

I think the solution for that is separate though: simply make the add-on server know about 'dependencies'.

If an era depends on EE + EoM, then the package containing the era can specify the EE and EoM packages as dependencies. Then if you download the era, the game should automatically also download EE + EoM for you. Then the problem will be solved and the 'Get Era' button would still work nicely.

David
“At Gambling, the deadly sin is to mistake bad play for bad luck.” -- Ian Fleming
User avatar
Aethaeryn
Translator
Posts: 1554
Joined: September 15th, 2007, 10:21 pm
Location: Baltimore, Maryland, USA

Re: To combat Out Of Synch errors

Post by Aethaeryn »

Dave wrote:
Noyga wrote:The problem is sometimes an era is constructed from more than one addon (like EE + EoM from example).
Yes, this still won't solve a complex era like that.

I think the solution for that is separate though: simply make the add-on server know about 'dependencies'.

If an era depends on EE + EoM, then the package containing the era can specify the EE and EoM packages as dependencies. Then if you download the era, the game should automatically also download EE + EoM for you. Then the problem will be solved and the 'Get Era' button would still work nicely.

David
I agree. But I think it should be more than just an era that does it, too. Any game should be able to define dependencies. For example, if [w]Thunderstone[/w] had a MP campaign or something using its content, in order to play on it you'd need the Thunderstone dependency (especially if it's a terrain only found in Thunderstone). Or perhaps a WML-fancy RPG that adds a monster unit not located elsewhere (including in eras) that thus requires a download to play.
Aethaeryn (User Page)
Wiki Moderator (wiki)
Latin Translator [wiki=Latin Translation](wiki)[/wiki]
Maintainer of Thunderstone Era (wiki) and Aethaeryn's Maps [wiki=Aethaeryn's Maps](wiki)[/wiki]
Awen
Posts: 46
Joined: March 16th, 2008, 6:44 pm

Re: To combat Out Of Synch errors

Post by Awen »

sounds like you are aware of the situation and have things in hand... no need for me to add anything further.
Awen
Posts: 46
Joined: March 16th, 2008, 6:44 pm

Re: To combat Out Of Synch errors

Post by Awen »

actually i will add a couple things...

i never knew that EE and EoM eras were not simply the addons Extended M Era and Era of Myths. that makes getting the correct versions even more difficult especially if a person downloads all the add ons and you have only downloaded EE & EoM, and if there is a change between the versions then oos will occur. i think that somewhere the addons needed for each era should be shown somewhere as just about everyone who plays with these two eras is only asking for EE & EoM, which means some oos errors may still happen even when all players have downloaded the two add ons EE & EoM.

also if you have a button to update to the required Era (and maybe version) in the multiplayer lobby by the time you have downloaded what is required the game may well have started without you... some way of updating before you enter the multiplayer lobby would be better imo. it would not hurt to have both methods though?
Awen
Posts: 46
Joined: March 16th, 2008, 6:44 pm

Re: To combat Out Of Synch errors

Post by Awen »

i will add another thing that happ;ens after many oos messages... you see units of the same colour attacking each other.

lastly and this is a question, do you need to close wesnoth and then reopen wesnoth after you have installed any addons via the add on menu... what could happen if you just install the add ons and load multiplayer and play like that?

if you should restart then i think somewhere players need to be made aware of this like a pop up after the add on menu has been used.

oh another thing.. what add ons do i need to install/update for the below two eras? because i read here it is more than the add ons with exact/similar names.

Extended Era
Era of Myths

thanks
Post Reply