[VB] SAMP Launcher

  • Hi,


    ich hab schon ein Grundgerüst aufgebaut, für ein SAMP-Launcher. Aber wie mache ich, dass er sich mit einem bestimmten namen einloggt.


    Code
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            System.Diagnostics.Process.Start("samp://46.38.251.122:7777")
        End Sub


    das habe ich schon. Aber wie mache ich jetzt, dasss sich GTA automatisch startet und Mit dem eingegebenen Namen einloggt?.


    Ich habe das acuh bei google gefunden: https://www.vb-paradise.de/pro…a-samp-nick-name-aendern/


    nur ich weiß nicht wo das hin soll.


    MFG


    hemran

  • Wenn man versucht über "samp://" zu Launchen, kann man das sowieso vergessen


    Eine Namensübergabe ist so absolut unmöglich.
    Es ist nur möglich, wie SA:MP selbst zu agieren.


    GTA SA mit Parameter starten -> samp.dll injekten -> spielen


    Anders sollte es nicht gemacht werden

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • Hier gibt es schon ein älteres Thema dazu: [CLIENT] samp:// URL Parameter
    Aber das kennst du ja schon, wie man an den von Dir geposteten Link erkennen kann.


    Du musst die Samp.exe starten (ganzer Pfad!) und übergibst die Parameter. Wie du diese übergeben musst steht ja im VB Forum und in dem Thread, den ich gepostet habe.
    Funktioniert wunderbar.


    MfG

  • Eine Namensübergabe ist so absolut unmöglich.
    Es ist nur möglich, wie SA:MP selbst zu agieren.


    Der Name wird mittlerweile in der Registry vermerkt und kann dort wunderbar vor Starten des Prozesses geändert werden, funktioniert einwandfrei ;)


    Mein CS:GO Server: 62.75.168.39:27016


    Ich bin so hungrig, dass ich vor lauter Durst nicht weiß, was ich rauchen soll - so müde bin ich!
    Freedom is just another word for 'Nothing left to lose'

  • Weil der Username sich nicht mehr "einfach so" als Parameter übergeben lässt, wenn man das Spiel über die samp.exe startet.


    Mein CS:GO Server: 62.75.168.39:27016


    Ich bin so hungrig, dass ich vor lauter Durst nicht weiß, was ich rauchen soll - so müde bin ich!
    Freedom is just another word for 'Nothing left to lose'

  • Man kann es ganz einfach so machen:


    Und fertig ist die Sache!
    Es läd den Namen, liest ihn und speichert den auch nach Änderung in der Registry ab.

  • Natürlich funktioniert das. Teste es doch.


    Dann zeig mir mal bitte, wie du das mit der neusten Version noch realisierst. Denn bei mir funktioniert es definitiv nicht mehr.


    Mein CS:GO Server: 62.75.168.39:27016


    Ich bin so hungrig, dass ich vor lauter Durst nicht weiß, was ich rauchen soll - so müde bin ich!
    Freedom is just another word for 'Nothing left to lose'

  • Der Name wird mittlerweile in der Registry vermerkt und kann dort wunderbar vor Starten des Prozesses geändert werden, funktioniert einwandfrei ;)


    Klar funktioniert das, nur sollte man das nicht tun, wie ich aber auch erwähnte ;)

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • Warum sollte man es nicht tun


    Die Registry findet das bestimmt ganz lustig, wenn man sagen wir nach 5 Sekunden wieder den Wert ändert,
    zu dem hast du in dem Moment eine offene Stelle, ich wage zu beweifeln, das jemand die Registry mit den richtigen Funktionen öffnet ohne gleich eine Schwachstelle für den Moment zu reißen :pinch:

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • Warum sollte man es nicht tun, ich sehe keine Probleme mit der Sicherheit weil es ja seine eigenen Daten sind. (Eventuell das man was Beschädigen kann, was man nicht soll?)


    Wenn du etwas in der Registry veränderst, kann es sein, dass es nach Veränderungen / Updates des Spiels das Spiel zum Abstürzen bringt. Der Parameter hingegen wird das Spiel nicht zum abstürzen bringen, da dieser, falls er mal nicht mehr unterstützt wird, vom Programm einfach ignoriert wird. Dann funktioniert so zwar der Launcher nichtmehr, das Programm aber noch. Deshalb sollte man immer die "offiziellen" Wege verwenden, die einem von den anderen Entwicklern angeboten werden, und nicht in deren Software rumpfuschen.


    Die Registry findet das bestimmt ganz lustig, wenn man sagen wir nach 5 Sekunden wieder den Wert ändert,


    Das ist eher unwichtiger, das das Spiel den Eintrag danach ja ändert. Somit wird der Eintrag pro Startvorgang genau ein mal geändert (entweder vom Launcher oder von sa-mp selbst) und das ist nicht alle 5 Sekunden. Und selbst wenn nicht - das ist nun wirklich nicht das Problem, auf das man bei heutigem Technikstand achten muss.


    zu dem hast du in dem Moment eine offene Stelle, ich wage zu beweifeln, das jemand die Registry mit den richtigen Funktionen öffnet ohne gleich eine Schwachstelle für den Moment zu reißen :pinch:


    Das ist kein Arguemnt gegen die Manipulation der Registrierung selbst, sondern nur eins gegen unfähige Programmierer generell.

  • Somit wird der Eintrag pro Startvorgang genau ein mal geändert (entweder vom Launcher oder von sa-mp selbst)


    Die SA:MP .exe ändert die Registry nicht, das macht die samp.dll wenn sie in die GTA SA Exe injektet wurde.


    Das einzige was die samp.exe macht, ist einen "Browser" bereitstellen und die samp.dll in den GTA Prozess injekten ok und GTA SA locaten, aber das ist eine andere Geschichte :D#


    Das ist kein Arguemnt gegen die Manipulation der Registrierung selbst


    Achso es ist also besser die Leute darauf anzusetzen?


    Geil mach ich demnächst auch, setz nen 3 Jährigen vor meinen Rechner und frag mich nachher warum alles putt ist...


    Das "Risiko" brauchen wir doch überhaupt gar nicht erst eingehen, wenn man den Usern erzählt das die Registry nichts für kleine Anfänger ist,
    aber nein man muss sie gleich drauf ansetzen.
    Wirklich eine klasse Idee :)


    Warum muss man überhaupt einen Launcher Launchen damit der dann das Programm launcht?
    Wo ist da der Sinn?

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • Wo ist da der Sinn?


    Abgesehen vom "Anti-Cheat", wo ich mir die Freiheit nehme zu behaupten, dass 99% der Launcher, die hier so kursieren sowieso nicht mitkriegen würden, wenn gegen den Launcher nen MemChange vorgenommen wurde, hat so ein Launcher viele Vorteile, die er mit sich bringt. Auch wenn es großteils nur Gimmicks sind.


    Man kann n super News/Updates Fenster mit einbinden, man kann über den Login viele Dinge miteinander kombinieren (ACP/UCP/Forum/wasweissich), man kann dafür sorgen, dass das Game immer auf der richtigen Version läuft (okay das fällt bei GTA wohl flach ^^) und wenns nen gescheiter Launcher ist, kann man halt noch weitaus mehr damit anstellen, ingame Chattools und Friendslists o.Ä.


    Also Möglichkeiten bietet sowas zu Genüge. Aber wie gesagt wird er hier, für GTA, eigentlich nur als schlechte "wir schützen uns vor Cheatern" ausrede benutzt :p


    Mein CS:GO Server: 62.75.168.39:27016


    Ich bin so hungrig, dass ich vor lauter Durst nicht weiß, was ich rauchen soll - so müde bin ich!
    Freedom is just another word for 'Nothing left to lose'

  • Natürlich funktioniert das. Teste es doch.

    Die samp.exe stellt nur die Moeglichkeit der Eingabe von IP und Port bereit. Soweit ich weiss wurden die Parameter (-c, -n, usw.) in der Vergangenheit mal von der samp.exe unterstuetzt, aber mittlerweile ist es nur die IP und der Port, welche per Parameter an die samp.exe uebergeben werden. Die (-c, -n, usw.) Parameter werden nur noch von der samp.dll benutzt.


    Wenn du etwas in der Registry veränderst, kann es sein, dass es nach Veränderungen / Updates des Spiels das Spiel zum Abstürzen bringt. Der Parameter hingegen wird das Spiel nicht zum abstürzen bringen, da dieser, falls er mal nicht mehr unterstützt wird, vom Programm einfach ignoriert wird.

    Wenn man ausversehen in der Registry alles loescht, was mit den einem zustehenden Rechten loeschbar ist, dann kann es durchaus schon einmal vorkommen, dass das ein oder andere Programm nicht mehr ganz so funktioniert, wie es sollte, aber mal im Ernst, um das hinzubekommen, muss man schon einiges an multiwlligem Zerstoerungswillen mitbringen. Ich denke aber nicht, dass Kalcor den Registry Key mit dem Namen 'PlayerName' in Zukunft fuer irgendwelche anderen Sachen missbrauchen wird, als fuer den Namen des Spielers. ;)
    Das Argument, dass bei einem Update des Spiels etwas durch die von einem selbst durchgefuehrten Aenderungen eventuell etwas kaputt geht, trifft ueberigens genau so gut auf die Parameter zu, da auch der Parameter in Zukunft fuer irgendwelche anderen Sachen missbraucht werden kann, als fuer den Namen des Spielers.
    Wenn man bedenkt, dass Kalcor explizit keinen Support fuer die Parameter gibt, und auch nicht die Moeglichkeit der Parameter in die samp.exe eingebaut hat (die im anderen Thread von Gredsoft aufgefuehrten Parameter stimmen vielleicht fuer alte Versionen von samp und fuer die samp.dll, aber nicht fuer die samp.exe), kann man auch bei den Parametern nicht von einem 'offiziellen Weg' reden. Da erscheint mir der Registry-Key mit dem recht Eindeutigen Namen 'PlayerName', doch ein wenig Zukunftssicherer, als ein Parameter mit dem Namen '-n'. :P


    Die SA:MP .exe ändert die Registry nicht, das macht die samp.dll wenn sie in die GTA SA Exe injektet wurde.

    Ist mir neu. Welchen Registry key aendert die samp.dll, denn? Ich habe keinen Aufruf von Registry Funktionen innerhalb der samp.dll gefunden, wozu sollte sie auch die registry beim start aendern? Der Samp-Browser kuemmert sich schliesslich um das lesen/schreiben vom Namen des Users in die registry und uebergibt den Namen spaeter an die GTA-SA exe als Startparameter, wodurch es keinen Bedarf mehr fuer die samp.dll gibt die Registry nach dem Namen zu durchsuchen, oder sogar den Namen zu schreiben.


    Warum hier versucht wird den Leuten grosse Angst vor der Registry zu machen verstehe ich ebenfalls nicht. Das Argument 'wenn man keine Ahnung hat, macht man eventuell etwas kaputt' trifft vielleicht zu, aber warum man, dann versucht Angst vor der Registry zu machen und nicht allgemein Angst vor dem Programmieren, oder allgemein Angst vor dem Anfassen eines Computers, ist fuer mich unverstaendlich.