Ich würde gerne Bezug auf diesen Thread nehmen:
https://github.com/Sh0wdown/UnofficialCrusaderPatch/issues/11
Die Idee finde ich nicht übel, ist aber recht zeitintensiv zu implementieren... Anstatt dass man wie vorgeschlagen, spezifische Patchversionen ins Hauptmenü schreibt, je nachdem, welche Optionen angewählt wurden, könnte man doch im Patcher selbst eine Nummer generieren lassen, die auf den verschiedenen Konfigurationen beruht. Dann könnte man bspw. auf der ersten Seite des Patchermenüs, nach der Sprachauswahl, ein Feld einbauen, wo man solch eine Konfigurationsnummer einfügen kann.
Oder man schaut, ob man vielleicht im Hauptmenü von Crusader eine .txt hinterlegen kann, wo die Patchkonfiguration hinterlegt ist, dann könnte man die einfach ins Verzeichnis reinkopieren und die Haken wären schon alle da, wo sie sein sollen.
Meh, too much work . :P
What. PE patchen, gepatchte PE mit SHA-2 hashen, Hash in den Versionstext schreiben. Fertig. Oder noch eleganter: Alle Patches als Tupel (offset, new_data) loggen, nach offset sortieren, und diese Informationen Hashen. Viel schneller, da reicht dann auch etwas Schnelleres wie etwa xxHash.
What. PE patchen, gepatchte PE mit SHA-2 hashen, Hash in den Versionstext schreiben. Fertig. Oder noch eleganter: Alle Patches als Tupel
(offset, new_data)loggen, nachoffsetsortieren, und diese Informationen Hashen. Viel schneller, da reicht dann auch etwas Schnelleres wie etwa xxHash.
Und wie finde ich dann aus dem Hash heraus welche Optionen aktiviert wurden?
Und wie finde ich dann aus dem Hash heraus welche Optionen aktiviert wurden?
Es geht ja nicht unbedingt darum, sich den Hashwert anzuschauen und dann sofort sagen zu können "ja klar, offensichtlich sind hier Optionen 1, 2, 5 und 37 aktiviert worden mit den Einstellungswerten X, Y und Z".
Es geht einfach darum, ingame sehen zu können "okay, mein Hashwert ist '1234ddd' - hey, potenzieller Mehrspieler-Mitspieler, ist dein Hashwert auch '1234ddd'? Wenn nicht, dann wissen wir jetzt, warum es nicht funktioniert: Wir haben offensichtlich verschiedene Konfigurationen des Patches installiert."
Ohne diesen "Hash-Vergleich" ist es einfach deutlich schwieriger, zu verifizieren, ob die Konfiguration bei jedem gleich ist und ggf. das Problem noch anderswo liegt, wenn im Mehrspieler irgendwas nicht klappt.
Die "Deluxe-Variante" dazu wäre natürlich, wenn beim Installieren des Patches noch eine Art Hash oder ähnliches (kann in dem Fall dann auch eine längere Zeichenfolge sein) in eine "config.txt" geschrieben wird, und man solche Werte auch bei der Patch-Installation angeben kann und der Patcher daraus wieder die einzelnen Optionen berechnet - dann schickt einer seinen Wert allen Mitspielern, die installieren den Patch mit diesem Wert bei sich und dann hat definitiv jeder die gleiche Konfiguration.
Da kann man sich auch einfach die gepatchte "Stronghold Crusader.exe" austauschen um Versionsunterschiede zu vermeiden.
Eine config wo die gewählten Optionen drin gespeichert sind werde ich aber evtl. tatsächlich einführen. Dann muss man nicht immer alles neu auswählen um nur eine kleine Änderung vorzunehmen.
Da kann man sich auch einfach die gepatchte "Stronghold Crusader.exe" austauschen um Versionsunterschiede zu vermeiden.
Theoretisch ja... praktisch ist es aber schon riskant, einfach irgendwelche .exe files von Fremden aus dem Internet herunterzuladen und auszuführen.
Dazu kommt, dass es auch immer so ne Sache ist, die Crusader.exe irgendwo mehr oder weniger öffentlich ins Internet zu stellen...
Ein weiterer Punkt ist, dass ggf. auch der eigene Virenscanner das nicht einfach so mitmacht und irgendwie Ärger macht (hatte damit auch schon Erfahrungen, als ich eine modifizierte .exe von einem eigenen Rechner auf einen anderen eigenen Rechner übertragen wollte).
Und auch z.B. bei Discord oder anderen Diensten kann man evtl. executables aus Sicherheitsgründen gar nicht erst direkt hochladen, um sie seinen Mitspielern zukommen zu lassen. Da ist eine simple Text-Zeichenfolge wesentlich unproblematischer und einfacher zu handhaben.
Zudem hatte ich auch schon Fälle, wo nach einem kompletten Ersetzen der Crusader.exe Fortschritte im Kreuzzugsmarsch weg waren, die anscheinend irgendwie in die .exe reingespeichert werden(?). Da ist das minimale Ändern der eigenen .exe durch den Patch (auch noch mit automatischem Backup) wesentlich "angenehmer", als die komplette Datei zu ersetzen.
Theoretisch ja... praktisch ist es aber schon riskant, einfach irgendwelche .exe files von Fremden aus dem Internet herunterzuladen und auszuführen.
Das hier möchte ich nochmals sehr stark unterstreichen.
Gibt jetzt ne Konfigurationsdatei für den Installer, über die Einstellungen geladen und gespeichert werden.
Most helpful comment
Theoretisch ja... praktisch ist es aber schon riskant, einfach irgendwelche .exe files von Fremden aus dem Internet herunterzuladen und auszuführen.
Dazu kommt, dass es auch immer so ne Sache ist, die Crusader.exe irgendwo mehr oder weniger öffentlich ins Internet zu stellen...
Ein weiterer Punkt ist, dass ggf. auch der eigene Virenscanner das nicht einfach so mitmacht und irgendwie Ärger macht (hatte damit auch schon Erfahrungen, als ich eine modifizierte .exe von einem eigenen Rechner auf einen anderen eigenen Rechner übertragen wollte).
Und auch z.B. bei Discord oder anderen Diensten kann man evtl. executables aus Sicherheitsgründen gar nicht erst direkt hochladen, um sie seinen Mitspielern zukommen zu lassen. Da ist eine simple Text-Zeichenfolge wesentlich unproblematischer und einfacher zu handhaben.
Zudem hatte ich auch schon Fälle, wo nach einem kompletten Ersetzen der Crusader.exe Fortschritte im Kreuzzugsmarsch weg waren, die anscheinend irgendwie in die .exe reingespeichert werden(?). Da ist das minimale Ändern der eigenen .exe durch den Patch (auch noch mit automatischem Backup) wesentlich "angenehmer", als die komplette Datei zu ersetzen.