Legacy client not working

OK, understood, I just got disappointed that I haven't managed to play a single game after my incredible (as I'm dumb af) efforts. Hope it is possible to find a workaround with what's left.

It's more likely to find some body that fixes your issues with the Java client (given you can describe them in a meaningful way).

The features the python client would need to work exist for 4 years now. Nobody bothered so far to implement them.

"Nerds have a really complicated relationship with change: Change is awesome when WE'RE the ones doing it. As soon as change is coming from outside of us it becomes untrustworthy and it threatens what we think of is the familiar."
ā€“ Benno Rice

If someone except Gatsik is still interested in this client they can try to test it:
The client that respects the Seton's Clutch and shows the King's of Setons avatar
(yes, that is the main and only advantage of using it)

im interested. Thank you for download link.

Thanks, this python client works and even fixes some problems the old one had.

I call on all FAF players to delete the java client and use this instead. Do not let them force the java client on you!!!

@Gatsik If you want to work and improve on the legacy client, please consider doing it on Github and build it into official releases rather than sharing binary files here.

"Nerds have a really complicated relationship with change: Change is awesome when WE'RE the ones doing it. As soon as change is coming from outside of us it becomes untrustworthy and it threatens what we think of is the familiar."
ā€“ Benno Rice

This post is deleted!

For those who have downloaded the previous build and still is not disgusted with the lack of functionality I recommend to download this instead: Unoffcial release of the unofficial client
As with x32 python and older libraries, it is lighter, uses less resources, and has no problems with displaying tooltips and scaling the chat. (Also, with this version I haven't had a single reconnection yet for no reason, but I wouldn't be so optimistic about it)

Gatsik, can you please specify for me all the reasons why you like the legacy client?

Here is my list of reasons for disliking the Java client, just off the top of my head so certainly some are missing:

  • The desktop icon doesn't have anti-aliasing.
  • Takes longer to open.
  • Everything is laggy, unresponsive, and janky.
  • Lacks minor nice UI things like highlighting clickable objects when they are moused over (names in user list).
  • Have to manually recolor yourself and all your friends in chat.
  • Has an annoying dancing ACU GIF.
  • UI is inferior in many other ways, takes more clicks/keypresses to do just about everything when compared to python.
  • Replay vault is difficult to find so many new players do not realize it even exists.
  • Replay vault interface is complex and cumbersome so many do not know how to use it, or if you do it still takes more clicks. The replay vault is critical for player improvement so if new players cannot find and use it they will all suck at the game.
  • The notifications are very intrusive so they have to be turned off, which in turn means you cannot see if someone is searching ladder. Even with them enabled it only pops up occasionally. Python is much better since anytime someone is searching it immediately notifies you in an unobtrusive way.
  • The Java client uses much more memory and CPU power, to the point it slows down your entire PC.
  • Java client doesn't run on 32-bit systems or Windows XP even though the game does.
  • Official FAF advice is to close the #aeolus chat tab so it doesn't consume your entire PC, obviously the client is poorly engineered to the extent that it hinders people's FAF experience yet it is made the official client and the only known option for many people.
  • Java client has cost FAF a very large amount of developer time for an inferior and unneeded product. Dev power is supposedly scarce around here and this is an egregious waste. The python client could have simply been refactored and improved. Even after several years of work the Java client is not really any better.

You operate on the assumption that anyone on FAF can move dev resources to other projects. The main person responsible for Java Client was going to work on it regardless of what anyone else said (people already told him it was dumb when he started) and he wasn't going to change that. The people that moved in to help him after were people that preferred java and have openly said that they refuse to work in python.

There is no "simply refactor and improve it bro." There was nothing prohibiting work on python. Python was not worked on because no one wanted to work on it. To the point we couldn't even find a dude to just maintain it and iron out basic bugs for like a period of 2 years. It broke because no one wants to bother with it.

Dev resources are only wasted if there was an opportunity cost to a decision. If there wasn't, then there was nothing to waste. In fact forcefully prohibiting a dude to do his own thing which may or may not turn into a good thing down the road is in itself a waste.

It was made unofficial because no one was working on it for 2 years. Making the face of your community something no one even wants to work on and has not worked on in forever is terrible practice. Most of the improvements to Java Client were only possible once you forced everyone to use it and actually explain what they saw as terrible. And guess what? A lot of those things got improved upon because there are devs that actually do things on the client.

I do agree on your UI/UX complaints about things like the vault, though.

Actually gonna dump my old suggestion on replays here from old forums:

Couldn't we just do a notification pop up after some condition (lose 3 games) is met? "Having trouble on the matchmaker? Try watching some replays in the online replay section to find improvements!"

Part of the problem is probably that replays are stored under "Vault" now which IMO is not intuitive for the general user. There is also "online replays" and "live replays" and "local replays" which are also needlessly confusing.

I would say a tab specifically called "Replays" would be better with "All (or FAF) Replays" (Replay Database?), "Ongoing Games", and "My Replays" would be better. Ideally you could be able to go to the "Leaderboards" tab and right click a name to look up their "replays" but that's just me dreaming.

I was planning on pulling the replays out and making the search function more intuitive as the next project just an FYI

Things only need work when they are bad or broken. I don't work on my truck every day. Outside of some simple maintenance every few months, it does what it is supposed to do without any work required from me. If my neighbor is constantly working on his truck I don't assume that his truck is better than mine, I assume it is worse because it requires a lot of work. That's the same way I feel about these clients.

The python client works just fine and occasionally requires some maintenance every few months. Some random person comes along and fixes it rather quickly. A couple of the tabs don't work because they use old PHP stuff that was deleted for whatever reason. I doubt it would take much to get them working with the new API, I can use the API in my web browser so it seems pretty simple, but nobody cares about those tabs anyway. The Java client is constantly getting lots of work because it sucks and still needs a lot of work.

On the topic of client tabs. It seems pretty stupid for these things to even be implemented in the client. It would be most efficient to implement them as web pages. This would make it possible to have replays, mods, maps, and leaderboards on the FAF website without requiring any client. The clients could simply display these pages and the tabs would be consistent and functional in both clients for free. This effort doesn't have to be duplicated and shouldn't be. Blodir created an online replay tool, and the leaderboards are already online, so this is clearly possible.

I can see an immense amount of work going into the Java client but I still see all of the issues I mentioned remaining year after year, most of which were reported even before it was made the official client. I can see virtually no work going into the Python client yet it remains mostly functional and preferred by many people. I'm fairly confident it would take less work to fix the tabs in the python client and keep it running than to bring the Java client up to my standards. It would even be mostly free if the tabs were online.

Of course, you cannot force people to do this. If they adamantly refuse to work on the Python client for whatever reason then that's how it will be. I can also continue to adamantly believe that is a stupid thing to do and complain about it. I am equally stubborn and refuse to open FAF anytime the Python client is broken and the Java client still sucks. I see them wrestling with Java and JavaFX constantly so it is strange for them to prefer it. In this language and framework, it is apparently a monumental task just to display a chat window and user list without using all of your RAM and CPU. Anyone who can program in Java can program in Python and vice-versa.

Yes, I am grumpy and lazy and won't do any work on either client myself. People do work for free and I complain about it. So it goes.

"Preferred by many people." Only like 5% of FAF continued to use the Python Client within weeks of deprecating it. Most people just don't care what they use and will just take the one that you put in front of them, really. Or they just do prefer the Java Client.

I don't really care about the client/web-based replay stuff, I just want the UX experience better. Whichever way brings that in is good to me.

Why is it always the guy who says "could have simply been refactored and improved" and "I doubt it would take much" that never contributed single line of code.

If it's all THAT simple, well, could you show us? We'd like to see.

@ThomasHiatt said in Legacy client not working:

  • Java client has cost FAF a very large amount of developer time for an inferior and unneeded product. Dev power is supposedly scarce around here and this is an egregious waste. The python client could have simply been refactored and improved. Even after several years of work the Java client is not really any better.

"Inferior": subjective
"unneeded": no
"not really any better" : repeating urself
"could have simply been refactored": so simple that nobody showed up for like 2 years after repeated calls for more python devs in the forums;

If was repeated about a 100 times already, but the python client was so abandoned that it actively blocked improvements to the entire rest of the FAF infrustructure.

Your nice idea about making websites today for vault tabs is only easily possible today because the Java API exists, which was basically blocked from being improved upon by the python client.

Java client reduced backend maintenance cost (which is more important than all of the points in your list), made map gen improvements easier or even happen at all, makes TMM UI happen and will probably in the future wipe your ass for you while you sit on the toilet complaining about it without noticing.

I was sad, that 0.18.9 wasn't working anymore .... but (in the getting-better-java-client) I got a link to here.
Very happy you fixed it... good old python-client. Thx šŸ™‚

  • The client now can keep game files in cache like the Java client.
  • Fix fafbeta and fafdevelop updating issues.

Unofficial Python client 0.18.11

  • Now it is possible to browse and search mods/maps by name in the vaults. Looks pretty ugly, but works! (i hope so)

Unofficial Python client 0.18.12