pyc Datei öffnen für Mod-Erstellung

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Pingponguin
User
Beiträge: 15
Registriert: Samstag 15. Februar 2014, 14:30

Hallo,

ich hoffe meine Frage stört Euch nicht bzw. ist nicht unangemessen für Eurer Forum.

Ich spiele World of Tanks und viele Mods für das Spiel bestehen aus pyc-Datein, genauso wie das Spiel ansich. Nun gibt es das Problem, das ältere Mods nicht immer auf neuen Spiel-Patches laufen. Ich würde mit daher gerne diese Dateien anschauen um zu sehen, was ich tun muss um sie zum Laufen zu bekommen. Ich habe nun im Internet rumgesucht um eine Lösung zu finden. Das Problem ist, warum auch immer, dass um diese Mods ein riesen Geheimnis gemacht wird. Also schon allein darum, wie man sie erstellt. Es gibt zwar extra Foren dazu, aber wenn man keine Ahnung hat kommt man dort auch nicht weiter.
Was die pyc-Dateien angeht, weiß ich das diese wohl compilierte Python-Dateien sind und man wohl eigentlich den Sorcecode braucht. Leider haben diese ganzen Mods zum Teil recht verschlungene Wege und man weißt oft nicht wo sie herkommen.
Ich habe mir nun Python 2 und 3 runtergeladen, kann damit aber nichts anfangen.
Kurz gesagt, kann mir jemand sagen, wie ich eine pyc-Datei öffnen kann, bzw. ob man das überhaupt kann, um zu sehen wie das ganze funktioniert?

Vielen Dank,

Pingponguin
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Wenn Du ein wenig googlest, wirst Du schnell auf diverse Möglichkeiten stoßen, kompilierte Python Dateien zu decompilieren. Wie gut lesbar solche Quellcodes sind, ist dann wieder eine andere Sache. An Deiner Stelle würde ich wohl doch eher nach den Quellen suchen; da hast Du sicherlich mehr davon.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
jqz4n
User
Beiträge: 21
Registriert: Sonntag 2. Februar 2014, 19:26

Das Problem ist allerdings, dass das Spiel meinen (nicht besonders intensiven Recherchen zu FOlge) closed source zu sein scheint. Daher werden die Quellen nicht so leicht zu bekommen sein ;) (Und das Dekompilieren ist zwar möglich, aber möglicherweise illegal)
BlackJack

@jqz4n: Es geht nicht um das Spiel selbst sondern um Mods, und wohl um welche die von anderen Spielern programmiert und in Umlauf gebracht wurden.

Wie immer bei juristischen Fragen muss man einen Anwalt fragen, beziehungsweise das Gerichtsverfahren abwarten, aber wenn es ums Reverse Engineering zum Zwecke der Interoperabilität geht, sollte das in Deutschland eigentlich möglich sein.

@Pingponguin: Wenn Du kein Mod erstellen kannst, wie willst Du dann eines bearbeiten damit es mit einer neueren/aktualisierten Variante des Spiels läuft? Du musst den Fehler ja suchen können, und dazu muss man verstehen wie Spiel und Mod zusammenarbeiten und wie man die API des Spiels verwendet. Und wie man Fehlersuche bei einem Mod betreibt, also ob und wie man an Informationen über Ausnahmen herankommen kann, ob und wie man Logausgaben machen kann, und so weiter.
Pingponguin
User
Beiträge: 15
Registriert: Samstag 15. Februar 2014, 14:30

BlackJack hat geschrieben:@jqz4n:
@Pingponguin: Wenn Du kein Mod erstellen kannst, wie willst Du dann eines bearbeiten damit es mit einer neueren/aktualisierten Variante des Spiels läuft? Du musst den Fehler ja suchen können, und dazu muss man verstehen wie Spiel und Mod zusammenarbeiten und wie man die API des Spiels verwendet. Und wie man Fehlersuche bei einem Mod betreibt, also ob und wie man an Informationen über Ausnahmen herankommen kann, ob und wie man Logausgaben machen kann, und so weiter.
Genau das möchte ich ja lernen. Ich habe im WoT-Forum die Modder gefragt, wie man Mods macht. Die Antwort war, ich soll mir bestehende Mods anschauen, wie sie gemacht sind und dann lernen selber welche zu erstellen. Deshalb meine Frage nach dem Öffnen der pyc-Dateien. Ich will nichts kopieren oder klauen, ich will es nur verstehen und anwenden können.

Es ist ja eben mein Problem, dass niemand wirklich hilfsbereit ist bzw. dass es keine zusammenfassende Anleitung zum Modding gibt.

Scheint ein echtes Geheimwissen zu sein :K

Gruß, Pingponguin
Pingponguin
User
Beiträge: 15
Registriert: Samstag 15. Februar 2014, 14:30

Hyperion hat geschrieben:Wenn Du ein wenig googlest, wirst Du schnell auf diverse Möglichkeiten stoßen, kompilierte Python Dateien zu decompilieren. Wie gut lesbar solche Quellcodes sind, ist dann wieder eine andere Sache. An Deiner Stelle würde ich wohl doch eher nach den Quellen suchen; da hast Du sicherlich mehr davon.
Das habe ich ja gemacht und habe nur einige dubiose File Viewer gefunden und eine kostenpflichtige seite zum Onlinedecompilieren. Also von schnell und diversen Möglichkeiten kann da keine Rede sein. Vielleicht bin ich aber auch nur zu doof, keine Ahnung.

Gruß, Pingponguin
Pingponguin
User
Beiträge: 15
Registriert: Samstag 15. Februar 2014, 14:30

jqz4n hat geschrieben:Das Problem ist allerdings, dass das Spiel meinen (nicht besonders intensiven Recherchen zu FOlge) closed source zu sein scheint. Daher werden die Quellen nicht so leicht zu bekommen sein ;) (Und das Dekompilieren ist zwar möglich, aber möglicherweise illegal)
Es geht ja nicht um das Programm an sich sondern um die Mods und auch hier will ich nichts kopieren oder so, sondern nur verstehen wie die gemacht werden.

Gruß, Pingponguin
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Pingponguin hat geschrieben: Das habe ich ja gemacht und habe nur einige dubiose File Viewer gefunden und eine kostenpflichtige seite zum Onlinedecompilieren.
http://lmgtfy.com/?q=python+decompiler
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
jqz4n
User
Beiträge: 21
Registriert: Sonntag 2. Februar 2014, 19:26

Pingponguin hat geschrieben:
Es geht ja nicht um das Programm an sich sondern um die Mods […]
Und auch die Mods müssen ja nicht zwingend OpenSource sein.
Der einzige quelloffene Mod für das Spiel, den ich auf die Schnelle gefunden habe, ist hier zu finden.

Dann gibt es noch hier ein Youtube-Video zum Thema Youtube-Mods. (über dessen Qualität ich mangels Flash-Player keine Aussage machen kann…)
Pingponguin
User
Beiträge: 15
Registriert: Samstag 15. Februar 2014, 14:30

Hyperion hat geschrieben:
Pingponguin hat geschrieben: Das habe ich ja gemacht und habe nur einige dubiose File Viewer gefunden und eine kostenpflichtige seite zum Onlinedecompilieren.
http://lmgtfy.com/?q=python+decompiler
Danke :wink: Ich sehe schon Du hast Sinn für Humor. uncompyle2 hab ich auch schon entdeckt und runtergeladen und steh jetzt wie der Ochs vorm Berg davor.
Pingponguin
User
Beiträge: 15
Registriert: Samstag 15. Februar 2014, 14:30

[quote="jqz4n"
Und auch die Mods müssen ja nicht zwingend OpenSource sein.
Der einzige quelloffene Mod für das Spiel, den ich auf die Schnelle gefunden habe, ist hier zu finden.

Dann gibt es noch hier ein Youtube-Video zum Thema Youtube-Mods. (über dessen Qualität ich mangels Flash-Player keine Aussage machen kann…)[/quote]

Ja, XVM ist so ziemlich der größte Mod für WoT. Der wird aber meistens in Verbindung mit anderen genutzt, weil XVM auch nicht alles macht, was man sich so wünschen könnte. Die ganzen Mods tauchen überall in veränderter Form auf. Die Autoren schreiben meistens auch in den Mod, was man damit darf und was nicht.

Das Youtube Video ist nur eine Beschreibung, wie man Mods in WoT installiert, aber nicht wie man sie erstellt. Richtige Anleitungen zum Modding gibt es eigenetlich nur für Soundmods mit FMOD ( http://www.fmod.org/ ). Aber das ist nicht das was ich lernen möchte.

Gruß, Pingponguin
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Mal ganz banal: Beherrschst Du überhaupt Python? Und wenn nein, beherrschst Du überhaupt einer andere Programmiersprache?

Falls Du beides mit "nein" beantworten musst, so solltest Du zunächst einmal ein Tutorial durcharbeiten, bevor Du Dir um das Modding Gedanken machst ;-)

Und wie BlackJack schon sagte, *muss* es irgend wo Infos geben, wie man auf die API des Spiels zugreift usw. Danach würde ich mal in der Community fragen... alleine durch Disassemblierung wirst Du vermutlich kaum etwas lernen...
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
BlackJack

Ich habe mal kurz die Suchmaschine angeworfen und mein Eindruck ist, dass es tatsächlich keine API-Beschreibung gibt und die Modder da massiv reverse engineering betreiben müssen, das aber auch anscheinend nirgends gesammelt dokumentieren. Was ist denn das für eine beknackte Community‽ Dann läuft es tatsächlich auf „Geheimwissen” hinaus wenn diejenigen, die das Wissen haben, es nicht mit anderen teilen. Ausserdem muss man nicht nur Python untersuchen sondern auch Teile die in Flash, also ActionScript, geschrieben sind.

@Pingponguin: Wenn Du `uncompyle2` nur heruntergeladen hast, dann müsstest Du es jetzt installieren. Eine Anleitung steht auf der Webseite/Github-Seite. Und auch in der Python-Dokumentation, denn das ist die übliche Prozedur mit einer `setup.py` mit der man Python-Module installieren kann.

Falls die Kommandozeile auch Neuland ist, solltest Du Dich vielleicht vorher mal damit beschäftigen, denn die wirst Du im weiteren Verlauf öfter verwenden müssen.
Antworten