Drop old jar functionality


  • Admin

    The old jar functionality is a nice idea:
    It allows you to play old savegames, but what are the benefits instead of simply keeping your old TripleA verions installed/installing an old version of TripleA in order to finish your last games?
    In my opinion there are none, and that's why I like to drop this functionality completely.
    I'd like to hear your (the community) opinion on this if there is a non-replaceable benefit for you, and especially the opinion of @LaFayette and @redrum about the technical details


  • Donators Moderators Admin

    You are correct. The only thing that has changed is make sure you show them how to not overwrite when installing new. Or possibly add a direct link to some old stables. Just a thought.


  • Donators Moderators Admin

    In addition the lobby would have to stay back compat to the old jars until they finish their games.


  • Admin

    @prastle The most straight forward attempt to not do anything wrong would be to just not update until all remaining local games are finished ^^
    If someone can't live without the lobby for this time this is of course another Problem 😛


  • Donators Moderators Admin

    @roiex its just a repeat of 1.89
    actually the simple answer is what we did with 1.89
    we keep a stable lobby
    YOU do your thing ! YAY! and the test lobby is the new lobby
    as they close
    they join


  • Donators Moderators Admin

    @RoiEX sorry as they finish their games
    they join


  • Donators Moderators Admin

    @RoiEX also this avoids having them all bitch! If you build it they will come! 🙂 and we have to many bots anyways since summer is over soon. We just eliminate a couple bots from the test lobby server and your good to go! 🙂


  • Donators Moderators Admin

    @roiex about your update until not finished they tried that. It takes a cattle prod to push them to move 🙂 many just kept using old stable till the old stable lobby was shut down. I recommend you do everything ya need to do to the test lobby. The next Stable release you guys decide on links to it not this one. Then they all slowly migrate. Just my 2 cents


  • Admin

    @roiex We could consider it but we'd need to clearly host the past couple of downloads here: http://www.triplea-game.org/old_downloads/

    Otherwise players have no way to download old versions if they need them. It is pretty convenient for players when we initially release a non-backwards compatible version to have the previous jar since they often have games they are finishing.


  • Donators Moderators Admin

    @redrum as a side note dont forget if we release non back compat stable (I have no problems with this) it also means the new lobby is non back compat. Which is fine by me. It just needs to be explained better this time to the players I think.

    Since we have two lobbies atm (and the test one is always empty) I think this is the best solution. Either way Yes! we need to push a new release with all the Great! stuff you guys have done!


  • Admin

    The most straight forward attempt to not do anything wrong would be to just not update until all remaining local games are finished

    @roiex TripleA has cases where you are playing months old, this is actually not so practical. Many players drop off for a few months, come back and then in lobby you see players you have save games with. Or some games do roll out over a few months. You also have cases where games will be started just as a new release is launched, putting some players into worst case scenarios in terms of needing save game compatibility months after a release.

    But, that is not to say we can't more cleanly put up a dialog that says "wait, this is the wrong version, download the right one here: link", and then make sure we update the UI to make the current game version very clear (already been done a bit, but we would want to review this carefully).

    In addition the lobby would have to stay back compat to the old jars until they finish their games.

    That is a problem we have faced, we have before launched a second lobby for people to use while finishing games. Usually that gets turned off after a few months and then direct network connections must be used. Old jars did help with this pretty nicely since you would have to do nothing extra and could use latest lobby. I suspect this is the one real cost, we may be able to live with this and/or make it less an issue with other updates.

    YOU do your thing ! YAY! and the test lobby is the new lobby

    'test lobby' is a failed concept IMO. We do need some work to automatically deploy the lobby software after updates, so we will likely have one anyways, but it won't be for the purpose of connecting there to do beta testing. Most of the interesting beta testing is done against the old lobby, most bugs are regressions or compatibility issues. The 'test' lobby is a failed concept though because you can't support the traffic, not enough people will be there to play games, can't be relied on for our testing process. We release way too much to hold things up for that rare occasion a couple of testers are around to play a game and actually agree on a map and rules...

    We could consider it but we'd need to clearly host the past couple of downloads here: http://www.triplea-game.org/old_downloads/

    The old downloads there have the 'old jar' functionality, and we did not have any other major releases to list, so hence we only have the 1.8 listing. We could very well though add to that list. Ideally I think we stay focused on removing compat issues so the list does not grow so long very quickly. We do not want users in version hell with 5 different versions of the game going.

    Either way Yes! we need to push a new release with all the Great! stuff you guys have done!

    Indeed. The thing that is stopping us is a good testing process. We found some major problems and needed to fix, but our process has some gaps and we have not re-tested yet, and we have not hit the new lobby functionality yet either. Meanwhile the game engine has moved forward and we need to re-test everything once again as the game engine has changed. I wonder if the testing group should be abandoned early, anything that is not automatically tested will mainly just not be tested (in practice, thati is almost how it is). I am concerned that despite trying to release every two weeks, we seemingly went back to a once a year mode. Even worse, the current stable has a major upgrade bug, this will be maybe the most painful bug. When we get out the cattle prod and close down the old lobby, players will have a frozen game.

    It's a tricky balance:

    • we need to release less and more often (less to test, fewer bugs, less cost of releasing bugs since we can fix them more quickly)
    • we need to automate test coverage, though this needs large rewrites
    • there is far too much test manually.

    My hope is we can coordinate testing effort to be as effective as possible, and we simply won't be testing everything every time. Hopefully the dev team is able to make some progress towards this so not everything has to be hand tested every few days/hours.

    That is getting quite off topic.


    Yes, I support dropping the old jar functionalty with just a few caveats. It greatly reduces the DL size, it reduces code complexity, and frankly there are some bugs that are still likely. If we restore the functionality for the next 1.9 release, 1.8 maps would still potentially be broken.


  • Admin

    @lafayette Good Points, but I expect version incopatibilities to be less of a problem, once @ssoloff finished the work on the .tsvgx savegame project.
    That's why I labelled my PR proposal as "requires major release": It should be merged when we work on a breaking release (probably after we released the next stable compatible release).

    It greatly reduces the DL size

    Just saw the installer size from the 1.9 installer ^^ 300MB is so much compared to 20MB which it has now, and 10MB which it will have 😃


  • Moderators Admin

    I just recalled this discussion one year ago:
    https://github.com/triplea-game/triplea/issues/1263

    Downloading more than one pre-release a day, personally I would be more than happy not to download and install the old and unused *.jar again and again.

    How many 1.809-users (that have NOT installed the full 1809-release) really are there?
    Isn't it time to encourage everyone to finally update?

    So yes please, let's drop it at a reasonable point.


  • Donators Moderators Admin

    @panther @RoiEX @LaFayette

    Perhaps I was confused But it was my understanding that the next major release would make the 1.9.0.0.3635 games not back compatible. If this is correct (to clarify my test lobby statement) I think we should remove the bots from the test lobby server and make it the new lobby. Thus we leave the current lobby up for them to finish their games. I was not referring to 1.8.9 . So to clarify if i was wrong and confused? YES ditch 1.8.9 ! It hasn't been used in quite a long time live. As far as PBEM and PBF nidea.


  • Donators Moderators Admin

    @panther Yes! I agree downloading a new version everday to try and test is a pia!


  • Admin

    @Panther Maybe I could help with the "downloading every day problem".
    Install4j has an "auto-update" option. Not sure how exactly it works, but it might be possible to provide both a "stable" and a latest channel.


  • Moderators Admin

    @roiex That would be a good idea, thanks for bringing it up.


  • Moderators Admin

    @prastle Sorry if I caused confusion with my reference to the old Github-issue. I was indeed talking about the 1.8.0.9-jar being still part of the download one year after 1.9-release. Not sure about 1.9.0.0.x, either. But as long as it is possibe to always install a legacy version, there should be no need to keep old jars with the latest release and pre-releases (if not needed within the same installation for lobby issues), IMHO.


  • Donators Moderators Admin

    @panther completely agree about 1.89 . My concern was about what happened when 1.9 was released occurring again is all. We lost a lot of players due to confusion etc. Another ? I have is about all the maps that @RogerCooper has upgraded to 1.9 will the next major release affect all the maps the same as the last one? Meaning every map will require updating?


  • Admin

    But as long as it is possibe to always install a legacy version, there should be no need to keep old jars with the latest release and pre-releases

    @panther I think that is a very good point. Our new website, installer, and that we print the engine version in the game UI makes this all a lot easier compared to the SVN days.

    will the next major release affect all the maps the same as the last one?

    Likely not. We're in a better position to avoid a number of those problems now. We can still and always could introduce non-backward compatible XML changes. The last iteration required a re-download since we unbundled every map with from the game engine and we re-hosted. We took that opportunity to add in some non-backward compatible changes since all the maps needed to be updated anyways.

    I think soon we will introduce an XML schema versioning system directly into the XML . That would allow us to start upadting XMLs in non-backwards compatible ways, but still play 'old' map XMLs that had not been updated. Today the game engine and XML code need to stay in pretty much lock step, doing that we could let the game engine code move forward but still 'remember' how to parse the old XML spec.


    @RoiEX I would check on the live lobby a few times to get more player input on this one. I think the question at the moment is whether everyone agrees with

    "But as long as it is possibe to always install a legacy version, there should be no need to keep old jars with the latest release and pre-releases"