Du bist nicht angemeldet.
Werbung Anfang:"Na? Auch genervt vom ständigen manuellen Updaten deiner TVTower-Installation?
Ja? Dann habe ich hier genau das Richtige für dich!
Mit dem TVTower-Launcher Version 2 kannst du vollkommen automatisiert die aktuellsten Versionen von TVTower mit nur einem Click installieren!" Werbung Ende.
Vor über einem Jahr gab es eine alte Version des Launchers, welche nicht wirklich funktionierte. Dies ist die neue, vollfunktionsfähige Ausgabe.
Download: https://github.com/Joni4Games/TvTower-Launcher2/releases
Anleitung:
1. Downloaden, entpacken, ausführen.
2. Der Rest ist selbsterklärend
Bugs bitte hier im Thread oder über GitHub melden.
Beitrag geändert von Joni4Games (15.05.2018 23:26)
Meine Hardware: Nvidia GeForce GTX 960, Intel Core i-5 @ 3.2GHz Quad-Core, 2x4GB Corsair-DDR3 RAM
Meine Software: Windows 10, Ubuntu (VirtualBox)
Offline
Stellst Du auch den Quellcode des Launchers mit in das Repo?
Denke das wuerde ein wenig mehr Vertrauen schaffen.
Woher nimmt er die Updates? Nimmst du den "latest"-Link oder was genau machst Du?
bye
Ron
Offline
Ja, Sourcecode ist im Branch "sourcecode" draußen (https://github.com/Joni4Games/TvTower-Launcher/blob/sourcecode/sourcecode.zip)
Der Launcher bezieht die Updates wiefolgt: Es bezieht eine Datei mit der Versionsnummer, die er einliest und mit der aktuellen Version vergleicht. Wenn diese größer ist, startet er ein Update des Launchers.. Das funktioniert auch, jedoch muss ich noch schreiben, dass er die aktuellen Dateien des Launchers auch ersetzen muss, anstatt es, wie ich es zumindest vorerst eigerichtet habe, in ein neues Verzeichnis zu kopieren. Der ganze Launcher mit Updater ist übrigens in Visual Basic geschrieben. Falls du meinst, woher er die aktuellen TV-Tower-Versionen ziehen wird: Diese zieht er dann direkt von deinem Git/Download-Link als .zip.
PS: Hier der Virustotal-Link: https://www.virustotal.com/de/file/f23ca8f87598fc8b8ca84accbcd72f2985994f45d23e382c2fb9d7ba4b8db14e/analysis/
Beitrag geändert von Joni4Games (06.01.2017 21:57)
Meine Hardware: Nvidia GeForce GTX 960, Intel Core i-5 @ 3.2GHz Quad-Core, 2x4GB Corsair-DDR3 RAM
Meine Software: Windows 10, Ubuntu (VirtualBox)
Offline
Danke dir, hast du es schon ausprobiert? Ich bin natürlich auch auf Tests auf Alltagstauglichkeit etc. angewiesen.
Mfg, Joni
Meine Hardware: Nvidia GeForce GTX 960, Intel Core i-5 @ 3.2GHz Quad-Core, 2x4GB Corsair-DDR3 RAM
Meine Software: Windows 10, Ubuntu (VirtualBox)
Offline
Ich mag lieber nicht probieren:
- Linuxnutzer
- waere sicher mit Deiner Loesung nicht komplett zufrieden und wuerde Zeit mit einer eigenen Loesung verplempern
- hat schon mit dem Spielcode genug zu tun ;-)
Hoffe du findet einige Nutzer.
Wenn Du Hilfe durch das Spiel brauchst (Versionsdatei oder so), musst Du es nur sagen.
bye
Ron
Offline
Hehe, ich werde schauen, ob ich auch eine portiete Linux-Version zum Laufen bekommen würde Aber dann versteh ich das. Danke trozdem
Meine Hardware: Nvidia GeForce GTX 960, Intel Core i-5 @ 3.2GHz Quad-Core, 2x4GB Corsair-DDR3 RAM
Meine Software: Windows 10, Ubuntu (VirtualBox)
Offline
Ich wollte mal fragen, wie man jetzt in der Theorie den Spielcode bearbeiten/selbstkompilieren könnte..? Wie es mir scheint, muss man dafür für 79$ die BlitzMax-Software kaufen, oder nicht?
Siehe hier: http://www.blitzbasic.com/Products/blitzmax.php
PS: Wollte jetzt kein neues Thema aufmachen, gehört ja auch irgendwie hier dazu
Mfg, Joni
Meine Hardware: Nvidia GeForce GTX 960, Intel Core i-5 @ 3.2GHz Quad-Core, 2x4GB Corsair-DDR3 RAM
Meine Software: Windows 10, Ubuntu (VirtualBox)
Offline
Nein, BlitzMax ist (mittlerweile) OpenSource...
https://github.com/blitz-research/blitzmax
Skidracer, der die Blitzmax-Website momentan hostet (und das Forum) baut gerade um und da funktioniert halt einiges nicht - oder ist veraltet. Gibt wohl auch noch Kaeufer fuer "MaxGUI", obwohl auch OpenSource :-)
Mit Bruceys "BlitzMax NG" geht es aber auch (damit erstelle ich die 64bit-Fassungen) - und Brucey hat gerade ein neues "Komplettpaket" bereitgestellt:
https://github.com/bmx-ng/bmx-ng/releases
Mit dem solltest Du dem "NG"-Tutorial folgen koennen.
bye
Ron
Offline
Aha, danke dir Schaue es mir sofort an!
Mfg, Joni
Meine Hardware: Nvidia GeForce GTX 960, Intel Core i-5 @ 3.2GHz Quad-Core, 2x4GB Corsair-DDR3 RAM
Meine Software: Windows 10, Ubuntu (VirtualBox)
Offline
Es gibt Neuigkeiten! Ich entwickle gerade eine cross-platform Version des Launchers mithilfe von Python und Gtk. Die Anfänge gibt es auf GitHub (https://github.com/Joni4Games/TvTower-Launcher) in der Betav2.1.zip zu sehen!
Installation:
1. Python installieren (Habe es mit Version 2.7.12 kompiliert)
2. Zip herunterladen, entpacken
3. Test.py mit Python öffnen
Achtung! Es funktioniert noch nichts! Es geht nur um das einfache Erstellen eines Fensters mit Python und Gtk+! Ich werde das Programm im Laufe der Zeit weiterentwickeln und die Updates auf GitHub veröffentlichen!
Mfg, Joni
Meine Hardware: Nvidia GeForce GTX 960, Intel Core i-5 @ 3.2GHz Quad-Core, 2x4GB Corsair-DDR3 RAM
Meine Software: Windows 10, Ubuntu (VirtualBox)
Offline
Ja aber warum sollte ich Python installieren muessen?
Schoen waere es, wenn es eine "Standalone"-Anwendung waere.
Das ist ja gerade das, was "cross-platform" etwas schwieriger macht (vor allem in Hinblick auf "GUI").
Python selbst ist aber natuerlich ein maechtiges Geraet, laesst sich viel "ohne Extramodule" bewerkstelligen.
Mit "BlitzMax + MaxGUI" geht aber auch schon einiges - vor allem solche "einfachen" Sachen (die keine "fancy GUI-widgets" brauchen). Mit Brucey's libCurl und MaxGUI sollte man prima Downloads durchfuehren und mit den BlitzMax-File-Routinen das Patchen des Spiels uebernehmen koennen. Aber keine Sorge, will Dir da nix vorschreiben. Mach wie Du moechtest, und bei dem Du auch was bei "lernst".
bye
Ron
Offline
Ich habe den Launcher komplett neu aufgesetzt. Er ist voll funktionsfähig, basiert jetzt auf Electron und kann auf Windows, OSX sowie Linux ausgeführt werden. Eure Meinungen, Feature-Requests und Bugs bitte direkt an mich.
Ausprobieren schadet nicht. Sourcecode ist im master-Branch, die Binaries sind released. Link oben.
Beitrag geändert von Joni4Games (03.05.2018 19:35)
Meine Hardware: Nvidia GeForce GTX 960, Intel Core i-5 @ 3.2GHz Quad-Core, 2x4GB Corsair-DDR3 RAM
Meine Software: Windows 10, Ubuntu (VirtualBox)
Offline
Ich habe jetzt nur das Script durchgeschaut - es scheint als wenn Du auf Deinem Server die aktuelle Version definieren musst?
Rein theoretisch ist das letzte Komplettpaket derzeit immer ueber
https://www.tvtower.org/downloads/TVTower.LatestRelease.zip
erreichbar.
die letzte Versionsnummer findest Du dann ueber die github-releases. Das geht einfach per "API" - aufbereitet zum Beispiel so:
www.somsubhra.com/github-release-stats/?username=tvtower&repository=tvtower
Vielleicht kannst Du ja damit was anfangen?
bye
Ron
Offline
Die https://www.tvtower.org/downloads/TVTower.LatestRelease.zip bezieht er immer dann, wenn ich in der Datei auf meinem Server eine aktuellere Zahl angegeben habe.
Ich habe es jetzt mit "request" gelöst:
request('https://api.github.com/repos/TVTower/TVTower/releases/latest', { headers: {'User-Agent':'Super Agent/0.0.1','Content-Type':'application/x-www-form-urlencoded'}, json: true }, (err, res, body) => {...}
und davon entferne ich dann das "v", die Punkte und die 0.
var versionnumber = JSON.stringify(body.name).substr(2).slice(0, -1).split(".").join("").replace(/^0+/, "");
und bekomme als Antwort
51
Das werde ich dann einlesen und anstelle der Serverdatei verwenden.
Beitrag geändert von Joni4Games (08.05.2018 21:45)
Meine Hardware: Nvidia GeForce GTX 960, Intel Core i-5 @ 3.2GHz Quad-Core, 2x4GB Corsair-DDR3 RAM
Meine Software: Windows 10, Ubuntu (VirtualBox)
Offline
So sieht der Launcher jetzt aus. Vorschläge?
https://preview.ibb.co/gLTWPS/launcher_screenshot.png
Meine Hardware: Nvidia GeForce GTX 960, Intel Core i-5 @ 3.2GHz Quad-Core, 2x4GB Corsair-DDR3 RAM
Meine Software: Windows 10, Ubuntu (VirtualBox)
Offline
Anstatt einen "Integer" zu speichern, kannst du auch einen "Hash" der Versionsnummer anlegen - und das "created_at" mit dem Dateidatum der TVTower.Win32.exe vergleichen.
Wieso warum weshalb?
Ich koennte eine v0.5.1c veroeffentlichen - die in Deinem Fall ebenso die "51" bekaeme und nicht als "neu" erkannt wuerde.
Mit dem Datum koenntest Du direkt Vergleiche anstellen sobald die Versionsnummern "gleich" sind.
Alternativ koennte ich aber auch die Versionnummer in die ".exe"-Details mit einbringen, falls Du das auslesen kannst. Oder wir legen neueren versionen eine "version.txt" bei ...oder oder.
@ Launchergrafik
Ja das Logo ist ja freigestellt (Alphakanal), laesst sich also sicher prima integrieren
bye
Ron
Offline
Das mit dem Bild ist eine gute Idee, meiner Meinung nach müsste "Launcher" nirgendwo stehen, ist ja irgendwie selbsterklärend. Den großen Freiraum um das Bild herum werde ich noch ein wenig verkleinern.
@jorgaeff
Vielen Dank für deinen Vorschlag!
Was hältst du davon?
@Ronny
Das mit dem Hash ist eine interessanter Ansatz, mit den Buchstabenversionen hast du Recht. Das mit dem Datum wäre dann aber doch nicht unbedingt nötig, da du ja wohl eher weniger in den Versionszahlen nach unten gehen wirst (v0.5 wird ja niemals zu v0.4.9). Von daher müsste er doch nur erkennen, wenn ein Unterschied zwischen den Hashs der alten und neuen Versionszahl besteht, oder sehe ich das falsch?
MD5-hashen von Strings ist einfach möglich. Den gehashten String der alten Versions würde ich dann mit dem der neuen vergleichen und wenn die nicht gleich sind, das Update starten.
crypto.createHash("md5").update("StringZuHashen").digest("hex");
Beitrag geändert von Joni4Games (08.05.2018 22:15)
Meine Hardware: Nvidia GeForce GTX 960, Intel Core i-5 @ 3.2GHz Quad-Core, 2x4GB Corsair-DDR3 RAM
Meine Software: Windows 10, Ubuntu (VirtualBox)
Offline
Das Datum habe ich nur herangezogen, falls "aus irgendwelchen Gruenden" die gleiche Versionsnummer vergeben waere - oder keine lokale Information besteht (sprich der Launcher noch nicht weiss, auf welchem Stand er ist).
bye
Ron
Offline
Danke für den Vorschlag, das werde ich wahrscheinlich später noch umsetzen.
Eine Frage stellt sich mir noch:
Der Launcher wird bei einem Update vorhandene Dateien ersetzen und nichtvorhandene erstellen, jedoch wird er überflüssige, alte, nicht mehr gebrauchte Dateien nicht automatisch löschen. Ist dies erforderlich? Werden mit dem Fortschreiten der Versionen auch bestimmte Dateien überflüssig und es wäre besser, alles bis auf die Speicherstände zu löschen und jedes Mal alles neu herunterzuladen, um sicherzustellen, dass keine alten Dateien auf Dauer vorhanden bleiben?
Beitrag geändert von Joni4Games (08.05.2018 22:13)
Meine Hardware: Nvidia GeForce GTX 960, Intel Core i-5 @ 3.2GHz Quad-Core, 2x4GB Corsair-DDR3 RAM
Meine Software: Windows 10, Ubuntu (VirtualBox)
Offline
Komplettpakete koennen durchaus mal unbenutzte Dateien entfernen.
Patches hingegen koennen dies nicht (da ich in den Archiven keine "Loeschung" anfordern kann).
Das Problem ist, wenn Du "neu beginnst" (alles runter, neu entpacken), loeschst Du eventuell auch Nutzercontent (eigene DBs). Und Ausnahmen fuer solche Dateien? Was ist, wenn wir mal genau in diesen Verzeichnissen grosse Aenderungen durchfuehren?
Denke "drueberpacken" ist da erstmal die einfachste Variante.
bye
Ron
Offline
Alles klar, vielen Dank. Solange die alten, überflüssigen Dateien keine Konflikte oder Probleme verursachen, ist das ja insgesamt kein Problem.
Hast du noch Feature Requests für den Launcher?
Meine Hardware: Nvidia GeForce GTX 960, Intel Core i-5 @ 3.2GHz Quad-Core, 2x4GB Corsair-DDR3 RAM
Meine Software: Windows 10, Ubuntu (VirtualBox)
Offline
Habs geändert. Neuer Release ist draußen.
Ich wäre für Antworten von Testern sehr dankbar.
Meine Hardware: Nvidia GeForce GTX 960, Intel Core i-5 @ 3.2GHz Quad-Core, 2x4GB Corsair-DDR3 RAM
Meine Software: Windows 10, Ubuntu (VirtualBox)
Offline