The Settlers Online AIR client

Hello,

I am trying to write a Lutris installer for “The Settlers Online”.
From 18/12/2020 the (Linux) steam version client of this game no longer works.
In order to play you need a web browser, so I am using windows Firefox inside the prefix, but I am facing two major issues:

  1. Default windows version inside wine prefix is “Windows XP” and I do not know how to set it to at least “Windows 7” directly through the installer; it prevents Firefox to install during installer setup time.
  2. Browsing is extremely slow and it affects the testing of the game client itself, is there a way to speed up Firefox in Wine?

Following this forum:


I also used winetrix with vcrun2015

Any help would be appreciated.
Thanks
Leonardo

https://forum.diesiedleronline.de/threads/141967-Den-herunterladbaren-Client-unter-Linux-zum-Laufen-bringen mentioned using Basilisk instead of plain Firefox for this purpose. Or alternatively just using the native Browser and starting the TSO air client via connecting the custom tso:// protocol handler to an instance of the client started via wine.
The browser itself can be closed after successfully starting the air client, it now just has the single purpose of generating an authentication cookie by logging the user in.

Alas, the whole thing works really unreliable for me (takes couple of tries until the client starts successfully), any wine tweaks to improve this behaviour would be appreciated.

Hello holzbit77,

Thank you very much for your support.
I just modified the Lutris installer I am working on:
I removed the installation of firefox inside wine and I added the instructions found on the link you provided, obviously adapted for Lutris.
I am a step ahead now, but still I can’t play TSO.
Now the native linux browser (I use Firefox) can handle tso protocol and reach the TSO client through Lutris and Wine but I get this error message:
“Please start the game from the website.
Please make sure to start the game via the website.
Also make sure that you are still logged in. If the
problem persist, please contact support.”

By the way I am getting the very same error also on Windows, so I suspect to have a problem on my account due to the migration from Steam.

Could you please try my unpublished installer and report back?

Bye
Leonardo

I missed some pages from the german thread linked before.
Now I understand that should be passed in the Lutris configuration an argument similar to this one:
“tso://lang=de-de&e=true&ubb=true&bb=http%3A%2F%2Fw13bb01.diesied leronline.de%2F&s=https%3A%2F%2Fubistatic-a.akamaihd.net%2F0018%2Flive%7Chttps%3A%2F%2Fubist atic-a.akamaihd.net%2F0018%2Flive&chatS=http%3A%2F%2Fw1 3chat01.diesiedleronline.de%3A80&chatB=http%3A%2F% 2Fw13chat01.diesiedleronline.de%3A80&country=DE&re almBeta=false&realmLang=de&dsoAuthUser=[DEINEUSERID]&dsoAuthToken=[DEINDSOAUTHTOKENCODE]&baseUri=https%3A%2F%2Fwww.diesiedleronline.de%2Fd e&realm=13”
changing [DEINEUSERID] and [DEINDSOAUTHTOKENCODE].
The first variable is simple to change once the game is installed, but I have no clue about how to obtain and change the second one at every login.
Maybe it is time to stop playing this game for me, if the developers do not care about linux I will not care about the game

The authtoken is generated when logging in on the web page and clicking on the link to start the game (“Jetzt Spielen” in the german version). Doing so the website creates a tso://… - link like the one you quoted, which has to be handled to by the webbrowser by passing it to the installed client, which could indeed reside inside a wine-prefix created by a lutris wine-runner. But you would still have have to use the browser initially, you cannot start it from Lutris directly.

The token is of course valid only for a short period of time, you have to get a new one every time you want to start the game.

Another problem: I did not find an easy way to pass the tso:// link dynamically to the client as a parameter, if you want to run it as a lutris starter, you’d have to use some trickery there. On the other hand, that could be easily done in PlayOnLinux, so I went that route instead.

But even after jumping through all these hoops, it still runs very unreliable.

It looks like you (or someone else) figured out how to get the air version working

I approved the submission, but the installer could be cleaned up further:

  • The .desktop file can be created automatically with write_file
  • Then the xdg-settings command can be automatically executed
  • There should be a note that the .desktop file needs to be deleted manually when the game is removed

Hello HyrumGraff,
did you manage to play the game?
I was stuck: I can install it but I am unable to start it.

By the way, I do not know if in Lutris there is a variable for the linux user name (i.e. in order to write in the home directory).

I tried to make this game installer for Lutris but unfortunately It is too much complicated for me to develop it, I am unable to support it.

I did not try to play the game; as a moderator I mostly assume that if someone has submitted an installer to moderation, that they have already tested that it works. Often it has to be this way, since I don’t own every game to test.

There is a dedicated variable for this, $HOME :slight_smile: (since on rare occasions, the home directory is not in the usual place)

Yes, $USER. Normally it is used when you need to modify one of the game’s files in the user’s directory inside the wine bottle, like $GAMEDIR/drive_c/users/$USER/AppData/.