Status update 2024 / Version 6.0 Nightly

Hi everyone!

The main purpose of this article is to briefly address our current development situation.
First of all, because concerns have already been raised: We are all alive and well at the moment, nothing to worry about at that front.
TL;DR: We’re still working on the bot, but there are a few things that are slowing us down a lot and that won’t get any better in the foreseeable future. You can get a preview (always up-to-date with the current development state) on the download page.

Table Of Contents

What is the status of the Necromancer?

The basics have been implemented for the upcoming version (including the Nightly, details below), but as with other classes there is still no proper support for the attack simulations.

When will there be a new update? // Version 6.0 Nightly

The question… is not that easy to answer.
Contrary to our original plans, we can no longer release updates for the .NET Framework 4.5 version because our build infrastructure, especially for Linux, was already fragile and finally gave up a few months ago.

As a result, the version based on .NET 6 must be the next one.
This again means that a whole lot of testing has to take place for the bugs that upgrade caused (and there were quite a few already), for which we have little time.
This applies in particular to the Linux console (more on this below), the basis of which we had to change completely in the course of the update to .NET 6, but also to “background issues” such as the dark design, which we had and still continue to have to reprogram ourselves.

To cut a long story short: We have only been able to work on the bot in fragments over the last few months, but we believe we have now made enough progress to be able to publish an alpha version with .NET 6 as base framework.
So feel free to try out the latest Nightly version (download links as always on the download page, extended a bit) and give us your feedback on it.
(Note by a user: The donator HWID will change with the new version, just send us the new one if you want to.)

Why is everything taking so long?

In a nutshell: The scope of the project and the refactoring in particular has taken faaaaar longer than we had anticipated.
The increasing number of server fusions and the new Necromancer class have thrown us off track even more.
We ourselves are also increasingly tied up in our private lives (work, private life, etc.) and with the speed at which more and more updates have been delivered at SF in recent years, we are currently unable to keep up 1:1.

We always want to provide you with as high-quality and thoroughly tested a version as possible, but at the same time we are less and less able to handle the actual functional development and general support of the project.

More details - what are we actually doing in the background?

To put all of the above briefly into context: Four servers are currently in operation for the bot, one of which is used exclusively for the entire development process, one for the now crazy number of MFBot APIs (news, updates, server information, dungeon information etc. etc.) including our own management interface, one for the translation platform and another for the entire community infrastructure (downloads, homepage, forum).
Of course, all of these need to be maintained and kept up to date with the latest patches and, in the case of our own software, also maintained.

In addition to administrative maintenance, the team’s tasks also include reviewing/processing and looking after hundreds of forum posts and PNs per month as well as passing on information (bilingual version posts/changelogs, general news and spontaneous notes/updates) to you.

In addition – until .NET 6 – there is the support of Windows and Linux with completely different build processes and – also with .NET 6 – completely different clients (Windows GUI, Windows console, Linux consoles).

Of course, we not only have to incorporate new functions into the bot, but also continue to maintain the now more than 82,000 lines and keep them up to date.

At the same time, we currently have over 250 open tickets in our ticket management system in addition to the migration issues, with topics that need to be addressed in the medium to long term.

[collapse]

Over the last few months, this has meant that I personally could no longer really keep track of the organization in terms of time and development – and thus, everything took even longer than it already did.
In addition, the more time passes, the more difficult it becomes to actually provide a status or program update that meets our requirements.

So please be aware that in the coming months we will probably have to experiment more and try out how we can continue to provide you with regular maintenance updates without causing too much chaos, but also without making you wait three months for every code change we make.

Why not get more developers/contributors involved?

This brings us to the next bottleneck in the project: since the start of the project, developers have joined us from time to time, worked with us for a while and then left again.
The “core team” has always been active, but sometimes more, sometimes less, depending on the workload and their personal free time.

However, it has been the case for some time that no new developers (as well as all other types of helpers) have been able to join us – sometimes because no one has contacted us despite searching, sometimes because we haven’t had time to train them.
This meant that all the work (server maintenance, DevOps, programming, user support, financial management, etc., see above) remained and remains the responsibility of the current core team of three to four people.

By the way, we are still grateful for donations, but – since the accusation came up in the forum – unfortunately they cannot relieve us of certain tasks and time commitments and that is also not our goal.

Unfortunately, we have not yet found the perfect solution.
One approach is of course Open Source, which we also have been looking at from time to time, but have never quite been able to bring ourselves to do so due to various concerns (for details see Consider Open Source way? – MFBoard).
This has now changed a bit and we’re currently looking into how we can pull off getting the code into Open Source.
We do of course also continue to welcome courageous developers who are already familiar with C# or similar languages. Just send an e-mail to support@mfbot.de.

What about the Linux versions (and derivatives)?

If you do not use any versions other than the Windows version or are not interested in the background of the other versions, you can skip this paragraph.

Why we have particularly neglected the Linux versions recently

The Linux versions have always been a challenge for us since the beginning of the project.
Mono and the associated release process has been a tough and extremely fragile job because a fine-tuned environment was required to build the MFBot packages to work across a wide range of systems and processor architectures.

Newer SF versions in particular are based on newer methods/techniques/technologies, for which we in turn have to use newer ones in the bot, but which are also becoming increasingly incompatible with Mono – especially with the version we had to use up to now and especially with newer TLS versions (i.e. those of the transport encryption between bot and SF server and between bot and our server).
The effort we had to make to continue supporting the Linux versions with the new things had to be severely limited in order to at least keep the Windows versions in good shape.

What does the future look like?

Better! ūüôā With .NET 6, we can also use libraries that make it easier and (hopefully) easier for you to use the console.
Feel free to try out the new console version linked on the download page and report any problems and ideas!

Conclusion

I hope you now understand the background to our radio silence a little better and can understand the reasons for it.
We will continue to do our best to see that the project continues, but after more than 10 years it is quite possible that we will no longer react as spontaneously and quickly as you were used to.

With this we remain with (slightly belated) New Year’s greetings
Robin

Version 5.6.2 Chinook

Hi there!

With todays’ version we only want to introduce minor changes to handle some of Playas latest changes.

The (in our opinion) most important changes in this version are

  • an internal workaround for the “credentials must be non-null for SFAccounts” error the bot could throw when adding more than one character from one SSO account
  • the possibility to change the server of one or multiple accounts (especially for accounts on fused worlds).

We are aware that there are still problems with SSO accounts and new servers, especially with the Linux console versions.
We expect those problems to be resolved with our .NET 6 based version which we are still working on as hard as we can.

Thanks for your patience and have a nice start of the week tomorrow!
Robin


You can find the download links and language packs on the downloads page!
You can find the changelog on the changelog page!

Version 5.6.1 Basset

Hi everyone!

Today’s update is primarily intended as a hotfix for the problems that prevented the bot from reliably detecting available resources in the characters, caused by the latest S&F update.
At the same time, we attempted to make the Linux consoles a bit more compatible with the SF-Accounts.

Two notes on the subject of SF accounts:

  • Currently we can’t tell you when we will support multiple SF accounts on one bot instance. Until then you can of course choose to run multiple bot instances (one per folder).
  • We are still in the transition to .NET Core, we see this transition as a prerequisite before implementing multiple SF accounts per bot instance. Thus, with this release, we are trying a third time to close the chapter with .NET Framework 4.5.

See you soon and have a nice rest of the weekend!
Robin


You can find the download links and language packs on the downloads page!
You can find the changelog on the changelog page!