nUpdate - Die komfortable Updatelösung

    • Release
    • Open Source

    Es gibt 989 Antworten in diesem Thema. Der letzte Beitrag () ist von Archangel.

      ich habe wiederholt festgestellt, dass der upload recht landsam läuft (ftp bei 1und1, egtl. bei uploads mit zb filezilla recht zügig unterwegs)...

      im moment lädt er mit 11KB/s, d.h. bedeutet für mich es wird noch rund 2 std. laufen.

      kann ich hier was opttimieren`?

      mein dsl upload liegt bei 10mbit.
      Gruß Hannes
      Ich werde nachschauen, warum das so langsam ist. Im Endeffekt nutze ich nur eine entsprechende Library dafür, daher muss ich mich da mal durchwühlen und notfalls nachfragen.
      Wie sieht's eig aus, hast Du mal Zeit, dass ich mir das eine Problem, wo keine Updates gefunden werden, mal anschauen kann?

      Grüße
      #define for for(int z=0;z<2;++z)for // Have fun!
      Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

      Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
      alles klar, danke für die rückmeldung!


      zum thema mit dem gerät das nichts findet, das können wir gerne machen.

      du kannst mir mal eine pn schicken wie es dir am liebsten wäre.
      ich kann dann schauen dass ich den entsprechenden laptop da habe.
      Gruß Hannes
      Das gab's mal, wurde aber wieder entfernt.

      Grüße
      #define for for(int z=0;z<2;++z)for // Have fun!
      Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

      Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
      Naja, es war halt einfach so, dass man dem Benutzer das dann vorschreiben würde und ihn zwingt. Folglich kann er das Programm halt dann auch nicht mehr benutzen, wenn er das nicht updaten will.
      Deshalb habe ich das Feature entfernt und dann mit dem Necessary Update ersetzt (was aber halt was anderes ist).



      Neuigkeiten

      Ich glaube, das bin ich euch jetzt mal schulding nach so langer Zeit. Also ich arbeite noch an der 4.0.0 und es geht vorwärts. Allerdings habe ich halt sehr wenig Zeit und kann nur an Wochenenden und in den Ferien daran arbeiten. Das aber halt auch nur, wenn keine Prüfungen anstehen.
      Auf jeden Fall wird es viele Änderungen geben und ich implementiere alles so gut wie neu. Bin auch schon ein Stück weit gekommen.

      Außerdem setze ich mittlerweile halt nur noch auf async - await. Ist einfach genial und damit lässt sich alles imho leichter realisieren.

      Grüße
      #define for for(int z=0;z<2;++z)for // Have fun!
      Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

      Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Trade“ ()

      Nehmen wir mal an, das jemand ein online Spiel programmiert und es existiert eine Lücke mit der man sich z.B. unendlich viel Geld glitchen kann und das nur durch ein Update behoben werden könnte. Für so was wäre es doch sinnvoll, oder nicht?

      Das ganze soll nur ein Beispiel sein - Geld und sowas sollte sowieso vom Server berechnet werden.

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „FantaZimt“ ()

      FantaZimt schrieb:

      Geld und sowas sollte sowieso vom Server berechnet werden
      Da hast du doch deine Antwort:
      Implementiere doch beim Connect auf den Server eine Verifizierung, also der Client schickt dem Server seine Daten, unter anderem seine aktuellste Versionsnummer. Und im Server checkst du ob die geschickt Version kleiner ist, als die Version, die der Client mindestens haben muss, um auf den Server zu verbinden.
      Du kannst ja meinetwegen festlegen, dass, wenn sich die zweite Stelle oder die Erste Stelle in der Version ändert, dann war das ein notwendiges Update, ohne das das Spiel "nicht funktioniert" bzw nicht richtig funzt.
      Wenn also ein Spieler auf den Server will und eine niedrigere Version hat, als er braucht, dann sagt einfach er soll sich zuerst die neuste Version holen und darf erst dann auf den Server rauf.
      Kannste ja mit Status-Codes machen. Die schickst du nach Aufbauen der Verbindung(TCP am besten) zurück. Der Client wertet die Antwort dann aus und reagiert der Antwort ensprechend.

      Lg Radinator
      In general (across programming languages), a pointer is a number that represents a physical location in memory. A nullpointer is (almost always) one that points to 0, and is widely recognized as "not pointing to anything". Since systems have different amounts of supported memory, it doesn't always take the same number of bytes to hold that number, so we call a "native size integer" one that can hold a pointer on any particular system. - Sam Harwell
      So ginge es auch und wäre viel ordentlicher. Wenn ich den Benutzer zwinge, ein Update von 5 GB zu fahren, welches er nicht abbrechen kann, er aber einen Volumentarif hat, kann es Ärger geben.
      Alle Angaben sind ohne Gewähr, jedoch mit Pistole. Glücksspiel, Drogen und leckeres Essen können süchtig machen.

      43232069737420636f6f6c21
      @FantaZimt Das war der Grund, warum ich es zuerst implementiert hatte, aber sind halt die Argumente, die sich gegenüber stehen. Kannst ja den Nutzer auch zu nichts zwingen.
      Das ist halt zumindest beim UpdaterUI so. Wenn Du das nicht benutzt, kannst Du's ja selbst implementieren, weil Du die Methoden verwenden kannst, wie Du willst. Oder entsprechend halt unter Beachtung der Lizenz Änderungen vornehmen, dafür ist es ja OpenSource.

      Ansonten, wie Radinator und ThuCommix sagten, kannst Du das ja da so lösen.

      Grüße
      #define for for(int z=0;z<2;++z)for // Have fun!
      Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

      Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:

      Radinator schrieb:

      Implementiere doch beim Connect auf den Server eine Verifizierung, also der Client schickt dem Server seine Daten, unter anderem seine aktuellste Versionsnummer. Und im Server checkst du ob die geschickt Version kleiner ist, als die Version, die der Client mindestens haben muss, um auf den Server zu verbinden.


      Finde ich eine sehr gute Idee, auf die ich leider nicht selber gekommen bin. Danke!
      Wenn der Client bei nem Online-Spiel Geld cheaten kann, ist das ein Architekturproblem. Da nützen dir alle Updates nix, das muss immer serverseitig abgefackelt werden.


      Opensource Audio-Bibliothek auf github: KLICK, im Showroom oder auf NuGet.

      Mokki schrieb:


      Wenn z. B. das Geld immer beim Client gespeichert wurde
      Genau da liegt das Architekturproblem. Der Server muss dem Account entsprechend für seine Aktionen Geld gutschreiben und es dann dem Client mitteilen.

      Du gehst ja auch nicht zu deiner Bank und sagst denen, wie hoch dein Kontostand ist.
      @Mokki dann muss der Server halt nachprüfen, ob die Aktion legitim ist - dafür muss der Server natürlich den aktuellen Spielzustand kennen.

      Um beim Bankenbeispiel zu bleiben: Wenn du dort einen Kredit anforderst, wird auch erstmal geprüft, ob du überhaupt kreditwürdig bist - z.B. durch Nachweise eines stetigen Einkommens, Schuldenauskünfte usw.

      Der Client sollte also dem Server melden: "Ich möchte gerne das Geld aus dieser Truhe nehmen". Der Server checkt dann, ob der Client das überhaupt darf (steht er vor der Truhe? Hat er sich in angemessener Geschwindigkeit dort hinbewegt? Hat er den Schlüssel? Hat er sie schon einmal geöffnet?) - sollte das alles legitim sein, wird dein neues Guthaben gespeichert und anschließend an den Client gesendet. Funktioniert bei jedem Online-Game so. Man redet dabei oft vom führenden System.
      @enba
      Dann ist das Spiel aber NUR Online spielbar....
      Und ein zwingendes Update wäre da auch von Vorteil, da man schnell mal nen Wert vergessen kann.
      Bzw. kann Geld ja auch inderekt erworben werden....
      Z.b. In einem Spiel werden Truppen ausgebildet. Hat man die falschen Truppen kann man sie zurückrufen und bekommt die Hälfte der Kosten wieder erstattet. Wenn jemand jetzt mehr Truppen erstellt wie er hat kann er sie zurückfordern und damit Geld machen.

      Aber solang man keine Werte vergisst, der Server sicher ist und genügen Rechenleistung serverseitig hat, hast du natürlich recht.

      Lg Mokki
      ​Smartnotr - ein intelligentes Notizprogramm
      zum Thread