Ein benutzerdefinierter Lader für Transformice- und andere Atelier 801 -Spiele, die den Kunden dazu zwingen, eine Verbindung zu einem lokalen Proxy herzustellen.
Zum Erstellen sollten Sie die Datei Asconfig.json verwenden, um die Datei TFMProxyLoader.swf zu kompilieren. Dies kann mit VSCODE-AS3MXML oder ASCONFIGC erfolgen.
OU muss auch die SWC -Dateien für die folgenden Bibliotheken unter einem lib -Ordner auf derselben Ebene wie die asconfig.json -Datei platzieren:
Wenn Sie sich den Ärger retten möchten, gibt es auch einen vorgefertigten SWF in den Veröffentlichungen dieses Repo.
Um diesen Loader zu verwenden, müssen Sie die Datei TFMProxyLoader.swf laden. Wenn Sie die Steam -Version von Transformice verwenden, sollten Sie die lokalen Dateien für das Spiel öffnen und die enthaltene Transformice.swf -Datei durch den TFMProxyLoader.swf ersetzen (umbenennen sie in Transformice.swf ).
Beim Laden gibt es Schaltflächen für die folgenden Spiele:
Wenn Sie auf eine Schaltfläche klicken, wird das Spiel geladen und es wird eine Verbindung zu localhost auf Port 11801 hergestellt. Sie sollten dort einen Proxy ausführen, zum Beispiel einen Proxy von Caseus. Das Spiel wird normal starten und eine Verbindung zum Proxy herstellen, als würde man eine Verbindung zum normalen Server herstellen.
Das Drücken der Taste "Eingabetaste" lädt das zuletzt geladene Spiel, sodass Sie alle Mausdrucke umgehen können.
Keiner der folgenden Abschnitt gilt, wenn der Lader in einer Luftlaufzeit ausgeführt wird, wie die Steam -Version von Transformice. Andernfalls gibt es zusätzliche Sicherheitsbezogene Dinge, über die man sich aufregen muss.
Wenn der Loader nicht in einer Luftlaufzeit ausgeführt wird, benötigt er eine URL -Richtliniendatei für die Domäne des Spiels. Alle Spiele haben dies (zum Beispiel Transformice's: https://www.transformice.com/crossdomain.xml) mit Ausnahme von Fortoresse, wodurch es nicht geladen wurde. Zusätzlich fordert jedes Spiel eine Socket -Richtliniendatei für localhost:11801 an.
Wenn das Spiel eine Socket -Richtliniendatei für localhost:11801 anfordert, wird es zunächst den Port 843 ausprobieren. Wenn dies nicht der Fall ist, wird der Port 10801 ausprobiert, und wenn dies ebenfalls fehlschlägt, wird es schließlich den Zielport 11801 probieren. Daher kann ein Socket -Richtlinienserver auf Port 10801 ausgeführt werden, um die Notwendigkeit des Endbenutzers zu beseitigen, alle Sicherheitsfunktionen (für andere Spiele als Fortoresse) zu deaktivieren und Port 11801 dem typischen Paketfluss zu ermöglichen.
Wenn Sie den eigenständigen Projektor verwenden und den Loader aus einer Datei ausführen, können Sie all diese Aufregung über Richtliniendateien deaktivieren. Dazu können Sie eine Datei am entsprechenden Ort für Ihre Plattform platzieren:
%AppData%/Macromedia/Flash Player/#Security/FlashPlayerTrust/TFMProxyLoader.cfg~/Library/Preferences/Macromedia/Flash Player/#Security/FlashPlayerTrust/TFMProxyLoader.cfg~/.macromedia/Flash_Player/#Security/FlashPlayerTrust/TFMProxyLoader.cfg Der Inhalt der Datei sollte der Pfad des Verzeichnisses sein, der den Proxy Loader SWF enthält. Wenn der Pfad des Loaders beispielsweise /path/to/TFMProxyLoader.swf ist, sollte der Inhalt der Konfigurationsdatei am obigen Ort /path/to sein.
Auf diese Weise kann Fortoresse alle Spiele daran hindern, eine Socket -Richtliniendatei anzufordern und zu verhindern. Wenn Sie einen anderen Weg kennen, um eines dieser Dinge zu erreichen, lassen Sie es mich bitte wissen.
Der Proxyloader hat eine andere Größe als die verschiedenen Vanillelader. Dies ist zu beachten, da das Handshake -Paket den Wert der stage.loaderInfo.bytes.length enthält. Daher sollte der Proxy, zu dem der Lader eine Verbindung herstellt, darauf achten, diesen Wert durch eine gültige Größe zu ersetzen.
Eine Größe von 0x1FBD funktioniert für alle Spiele, da dies die entsprechende Größe für die Datei TransformiceAIR.swf in der Windows -Standalone -Version ist, mit der alle Spiele gestartet werden können.
Der Lader sendet bestimmte benutzerdefinierte Pakete, die nicht im Vanilleprotokoll enthalten sind. Diese Pakete werden als "Erweiterung" -Pakete bezeichnet und haben das folgende Format:
(255, 255) . Dies scheint vor dem Vanilleprotokoll sicher zu sein.writeUTF / readUTF ), die die ID des verschachtelten Pakets darstellt.Dies ähnelt der Art und Weise, wie Tribulle/Community -Plattformpakete vom Spiel verwendet werden.
Der Fingerabdruck der Erweiterungspakete wird immer 0 sein und sollte ignoriert werden, um die Fingerabdrücke von Vanillepaketen nicht zu deynchronisieren.
Der Loader sendet ein Erweiterungspaket, das die Paketschlüsselquellen enthält, an den Proxy, sodass der Proxy bestimmte Pakete entschlüsseln (und erneut ankippeln kann. Dieses Paket wird vor anderen Paketen gesendet. Es hat das folgende Format:
"packet_key_sources" .Nach dem Versenden der Paketschlüsselquellen sendet der Loader ein Erweiterungspaket, das den für das Anmeldungspaket verwendeten "Auth -Schlüssel" enthält. Es hat das folgende Format:
"auth_key" .Der Loader sendet außerdem ein Erweiterungspaket für die wichtigsten Serverinformationen, dh seine Adresse und Ports. Dieses Paket wird vor dem Handshake -Paket gesendet. Es hat das folgende Format:
"main_server_info" .