Statusupdate 2024 / Version 6.0 Nightly

Hallo zusammen!

Hauptsinn dieses Beitrags soll sein, unsere aktuelle Entwicklungslage einmal kurz zu adressieren.
Eins vorab, weil dazu schon Bedenken aufkamen: Wir sind alle momentan gesund und munter, kein Grund zur Sorge.
TL;DR: Wir arbeiten noch am Bot, es gibt aber einiges, das uns stark ausbremst und das wird absehbar nicht besser. Ihr könnt auf der Downloadseite eine Nightly mit dem jeweils aktuellsten Entwicklungsstand herunterladen.

Inhaltsverzeichnis

Wie ist der Stand mit dem Necromancer?

Die Grundlagen sind für die kommende Version (inkl. der Nightly, siehe nächster Absatz) implementiert, wie mit anderen Klassen gibt es hier aber noch keine vernünftige Unterstützung für die Angriffssimulationen.

Wann kommt ein neues Update? // Version 6.0 Nightly

Die Frage.. lässt sich nicht ganz leicht beantworten.
Entgegen unserer ursprünglichen Planung können wir keine Updates mehr für die .NET Framework 4.5 Version veröffentlichen, weil unsere Build-Infrastruktur insbesondere für Linux vorher schon nur wackelig funktioniert hat und im Winter endgültig den Geist aufgegeben hat.

Daraus wiederum folgt, dass die auf .NET 6 basierende Variante die nächste sein muss.
Daraus folgt, dass für die Fehler, die aus dem Upgrade heraus entstanden sind (und derer gab es einige), eigentlich noch eine ganze Reihe Testing stattfinden muss, für die nur wenig Zeit bei uns ist.
Das gilt insbesondere für die Linux-Konsole (mehr dazu unten), deren Basis wir komplett umstellen mussten im Zuge des Updates auf .NET 6, aber auch für “Hintergrundthemen” wie das Dark Design, das wir eigenständig neu programmieren mussten.

Lange Rede, kurzer Sinn: Wir haben die letzten Monate immer nur bruchstückhaft am Bot arbeiten können, sind aber inzwischen unserer Meinung nach weit genug, eine Nightly/Vorabversion der neuen Struktur veröffentlichen zu können.
Probiert daher gerne die jeweils neuste Nightly-Version (Downloadlinks wie immer auf der Downloadseite, nun etwas angepasst) und gebt Feedback zu den Themen.
(Hinweis durch einen Nutzer: Die Spender-HWID ändert sich beim Wechsel, teilt uns gerne die jeweils neue mit.)

Warum dauert aktuell alles so lange?

In Kurzfassung: Der Umfang des Projektes und insbesondere des Refactorings hat weeeeeeeit mehr Zeit in Anspruch genommen als wir geahnt hatten. Die immer mehr kommenden Serverfusionen und die neue Necromancer-Klasse hat uns dabei noch mehr aus der Bahn geworfen.
Wir selbst sind dabei privat auch zunehmend gebunden (Arbeit, Privatleben etc.) und bei der Geschwindigkeit, in der bei SF in den letzten Jahren immer mehr Updates geliefert wurden, können wir aktuell damit nicht 1:1 mithalten.

Wir möchten euch immer eine möglichst hochwertige und durchgetestete Version zur Verfügung stellen, gleichzeitig können wir aber immer weniger tatsächliche funktionale Weiterentwicklung, aber auch generell die Betreuung des Projektes stemmen.

Mehr Details - Was machen wir eigentlich im Hintergrund?

Um das einmal kurz in Kontext zu setzen: Für den Bot kommen zurzeit vier Server zum Einsatz, einer davon ausschließlich für den gesamten Entwicklungsprozess, einer für die mittlerweile irrwitzig vielen Bot-Schnittstellen (News, Updates, Serverinfos, Dungeoninfos etc. etc.) inkl. deren Management-Interface von uns, einer für die Übersetzungsplattform und nochmal einer für die gesamte Community-Infrastruktur (Downloads, Homepage, Forum).
Die wollen natürlich alle gewartet und auf dem neusten Patch-Stand gehalten sowie, bei unserer eigenen Software, auch gepflegt werden.

Neben der administrativen Wartung gehört zu den Teamaufgaben auch die Sichtung und Betreuung von hunderten von Forenbeiträgen und PNs pro Monat wie auch die Informationsweitergabe (Versionsbeiträge/Changelogs zweisprachig, generelle News und spontane Hinweise) an euch.

Dazu kommt noch einmal – bis .NET 6 – die Betreuung von Windows und Linux mit komplett unterschiedlichem Build-Prozess und – auch mit .NET 6 – komplett unterschiedlichen Clients (Windows-GUI, Windows-Konsole, Linux-Konsolen).

Außerdem müssen wir natürlich nicht nur neue Funktionen in den Bot einbauen, sondern die mittlerweile über 82.000 Zeilen auch weiterhin pflegen und auf einem funktionierenden Stand halten.

Gleichzeitig haben wir aktuell auch neben den Migrationsthemen über 250 offene Tickets in unserer Ticketverwaltung mit Themen, die mittel- bis langfristig behandelt werden müssen.

[Einklappen]

Das führte dann in den letzten Monaten dazu, dass ich persönlich die zeitliche und entwicklungstechnische Organisation nicht mehr vernünftig überblicken konnte – und damit alles noch länger gedauert hat, als es ohnehin schon der Fall war.
Dazu kommt dass, je mehr Zeit vergeht, es immer schwieriger wird, tatsächlich ein den unseren Ansprüchen genügendes Status- oder Programmupdate zu bringen.

Bitte habt daher auch Verständnis, dass wir in den kommenden Monaten vermutlich wieder mehr experimentieren und ausprobieren müssen, wie wir euch weiterhin regelmäßige Wartungsupdates zur Verfügung stellen können, ohne zu viel Chaos zu verursachen, aber auch ohne euch für jede Code-Änderung bei uns drei Monate warten zu lassen.

Warum nicht mehr Entwickler/Beitragende beteiligen?

Da kommen wir zum nächsten Nadelöhr des Projekts: Seit Start des Projektes sind immer mal wieder für einige Zeit Entwickler zu uns gestoßen, haben eine Weile mitgearbeitet und haben sich dann wieder zurückgezogen.
Das “Kernteam” ist dabei immer aktiv gewesen, aber je nach Auslastung mal mehr mal weniger.

Aktuell ist es schon seit einiger Zeit aber so, dass keine neue Entwickler (genauso wie alle anderen Arten von Helfern) zu uns stoßen konnten – mal, weil sich trotz Suche niemand angeboten hat, mal, weil wir keine Zeit zur Einarbeitung hatten.
Damit blieb und bleibt die gesamte Arbeit (Serverwartung, DevOps, Programmierung, Nutzerbetreuung, finanzielle Abwicklung etc., siehe oben) am aktuellen Kernteam aus drei bis vier Menschen hängen.

Für Spenden sind wir hier übrigens nach wie vor dankbar, aber – da der Vorwurf im Forum aufkam – die können uns leider gewisse Aufgaben und zeitliche Verpflichtungen nicht abnehmen und das ist auch nicht unser Ziel.

Wir sind hier leider auch noch nicht der Musterlösung auf die Spur gekommen.
Ein Ansatz ist natürlich Open Source, wohin wir auch immer wieder von Zeit zu Zeit schauen, aber wozu wir uns aus diversen Bedenken heraus noch nie ganz dazu durchringen konnten (Details siehe Consider Open Source way? – MFBoard).
Das hat sich allerdings inzwischen ein wenig geändert und wir schauen aktuell, wie wir am Besten in Richtung Open Source vorgehen können.
Ansonsten nehmen wir mutige Entwickler, die sich in C# oder ähnlichen Sprachen bereits auskennen, aber natürlich gerne weiterhin auf. Meldet euch hierzu einfach per Mail bei support@mfbot.de.

Was ist mit den Linux-Versionen (und Derivaten)?

Wer keine Versionen abseits der Windows-Version nutzt oder sich nicht für die Hintergründe der anderen Versionen interessiert, kann diesen Absatz überspringen.

Warum wir die Linux-Versionen die letzte Zeit besonders vernachlässigt haben

Die Linux-Versionen sind seit Beginn des Projekts für uns schon immer eine Herausforderung gewesen.
Mono und der dazugehörige Veröffentlichungsprozess waren bisher eine zähe und äußerst fragile Arbeit, weil eine genau aufeinander abgestimmte Umgebung erforderlich war, um die MFBot-Pakete so zu bauen, dass sie in einer breiten Masse von Systemen und Prozessor-Architekturen funktionieren.

Insbesondere neuere SF-Versionen bauen auf neueren Verfahren auf, für die wir im Bot wiederum neuere Verfahren einsetzen müssen, die aber mit Mono auch zunehmend mehr inkompatibel werden – vor allem mit der Version, die wir bisher nutzen mussten und ganz besonders mit neueren TLS-Versionen (also denen der Transportverschlüsselung zwischen Bot und SF-Server und zwischen Bot und unserem Server).
Der Aufwand, den wir also betreiben mussten, um mit den neuen Dingen auch die Linux-Versionen weiter zu unterstützen, mussten wir stark einschränken um wenigstens die Windows-Varianten in Schuss zu halten.

Wie sieht die Zukunft aus?

Besser! 🙂 Mit .NET 6 können wir auch Bibliotheken nutzen, die eine einfachere und für euch (hoffentlich) besser bedienbare Konsolennutzung ermöglichen.
Probiert dazu gerne mal die ebenfalls auf der Download-Seite verlinkte neue Konsolenversion aus und berichtet über Probleme und Ideen!

Fazit

Ich hoffe, ihr versteht nun die Hintergründe unserer Funkstille ein wenig besser und könnt die Gründe dafür nachvollziehen.
Wir werden weiterhin nach bestem Wissen und Gewissen zusehen, dass wir das Projekt fortsetzen, nach über 10 Jahren ist es allerdings durchaus möglich, dass wir nicht mehr so spontan und zügig reagieren, wie ihr das bisher gewohnt wart.

Damit verbleiben wir mit (leicht verspäteten) Neujahrsgrüßen
Robin

Version 5.6.2 Chinook

Hallo zusammen!

Mit der heutigen Version möchten wir nur kleinere Anpassungen veröffentlichen, um einige Playas letzter Änderungen besser zu behandeln.

Die (unserer Meinung nach) interessantesten Änderungen dieser Version sind

  • ein interner Workaround für den Fehler “credentials must be non-null for SFAccounts” den der Bot bringen konnte, wenn man mehr als einen Charakter von einem SSO-Account importiert hat.
  • die Möglichkeit, via Account-Einstellungen den Server eines oder mehrerer Accounts zu ändern (insbesondere für Accounts auf zusammengelegten Welten).

Wir sind uns bewusst, dass es immer noch Probleme mit SSO-Accounts wie auch mit neuen Servern gibt, vor allem mit den Linux-Konsolen.
Wir erwarten aber, dass diese Probleme mit der .NET 6 Version automatisch erledigt sind, an der wir immer noch so hart wie möglich arbeiten.

Danke für eure Geduld und habt einen schönen Wochenstart morgen!
Robin


Downloadlinks/Sprachpakete befinden sich unter der entsprechenden Downloads-Seite!
You can find the download links and language packs on the downloads page!

Das Changelog befindet sich unter Changelog!
You can find the changelog on the changelog page!

Version 5.6.1 Basset

Hallo zusammen!
Täglich grüßt das Murmeltier, mehr oder weniger täglich grüßen spontane Updates von S&F, die die Serverkommunikation ändern und den Bot durcheinanderbringen.

Dieses Update soll daher primär als Hotfix für die Probleme dienen, durch die der Bot nicht mehr in der Lage war, vorhandene Ressourcen in den Charakteren zuverlässig zu erkennen.
Gleichzeitig haben wir mit dieser Version nochmal eine Korrektur vorgenommen, um die Linux-Konsolen mit den SF-Accounts etwas verträglicher zu gestalten.

Zum Thema SF-Accounts 2 Hinweise:

  • Aktuell können wir euch noch nicht sagen, wann wir mehrere SF-Accounts auf einer Botinstanz unterstützen. Bis dahin bleibt euch aber selbstverständlich die Wahl, schlicht mehrere Bot-Instanzen (eine pro Ordner) zu betreiben.
  • Wir sind immer noch in der Umstellung auf .NET Core, die Umstellung sehen wir als erforderlichen nächsten Schritt vor Einführung mehrerer SF-Accounts an. Daher probieren wir also nun mit dieser Version ein drittes Mal, mit .NET Framework 4.5 abzuschließen.

Bis bald und ein schönes Restwochenende!

Robin


Downloadlinks/Sprachpakete befinden sich unter der entsprechenden Downloads-Seite!
You can find the download links and language packs on the downloads page!

Das Changelog befindet sich unter Changelog!
You can find the changelog on the changelog page!