[Tutorial]Eigener SAMP Server Launcher

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    Es gibt Neuigkeiten! Ab sofort könnt ihr dem Donators Club auf Lebenszeit beitreten.
    Weitere Infos im Thema Donator's Club ab heute wieder verfügbar!

    • [Tutorial]Eigener SAMP Server Launcher

      Hallo, ich diesem Tutorial möchte ich euch zeigen, wie Ihr ein eigenen Launcher für den SAMP Server erstellen könnt.
      Wir werden einen Launcher erstellen, der nicht nur dein Spiel Startet sondern auch die NEWS anzeigt sowie Anzahl der Spieler und Admins.
      ____________________________________________________________________________________________________________________________________________
      Was brauchen wir ?
      1: Als erstes brauchen wir das Programm Visual Basic 2010 Express oder Visual Studio Community 2013.
      Empfohlen ist den Visual Basic 2010 Express zu nehmen, wenn man andere Sprachen nicht braucht.
      2: Connector/NET das brauchen wir um Mysql zu bedienen um die Anzahl der Spieler herauszufinden.
      3: Eine Mysql Datenbank
      4: Eine eigene WWW seite
      5: Ein PAWN Script, welcher die Spieler anzahl vom Server ausließt. Beispiel [PAWN] Script - pastebin.com/jP8wFXQu
      _____________________________________________________________________________________________________________________________________________
      Der Anfang.

      Wir Öffnen das Programm und starten ein neues Projekt, nun kommt unser Projekt Fenster.
      Wir nutzen das Werkzeug, und fügen unsere Buttons ein.

      • Paar Buttons um das Spiel zu Starten, TS3 Connect, Youtube, etc.
      • PictureBox - dort setzen wir unser Logo vom Server ein.
      • RichTextBox - dort werden die News vom Server angezeigt.
      • 2x Label - dort wir die Spieleranzahl angezeigt und die Version des Launchers.
      • Timer - den nutzen wir für die Aktualisierung der Spieler
      Sobald wir den Timer zugefügt haben klicken wir Ihn nochmal an und ändern rechts unten in der ecke bei den Einstellungen, Enabled in true.
      Den Interval stellen wir die Aktualisierung Zeit ein, 10000(millisekunden) 10000 ms = 10 sek.
      Klicke nun auf ein Leeres Feld, auf der Rechten Seite findest du die Einstellungen,suche den Wert MinimumSitze und MaximumSitze,und änder sie in die größe wie die Aplikation. Findest du in dem gleichen Fenster unter size. Ändere ebenfalls MaximizeBox ins false.
      Nun können wir unsere Elemente anpassen wie wir es möchten :)
      _____________________________________________________________________________________________________________________________________________
      6: Der Code
      Wir klicken Doppelt auf den Button der für die Server Verbindung zuständig ist, dann sollte das erscheinen.

      Quellcode

      1. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
      2. End Sub
      Dort fügen wir ein

      Quellcode

      1. Process.Start("samp://IP_SERVER")

      Jetzt machen wir das gleiche und klicken auf den TeamspeakButton Doppelt. Und fügen dieses ein.

      Quellcode

      1. Process.Start("ts3server://IP_SERVER")

      Jetzt der Button der zB zu unserer Hompage führen soll.

      Quellcode

      1. Process.Start("http://deine_seite.de/")
      _____________________________________________________________________________________________________________________________________________
      7: Laden der Aktuellen Sachen / News
      Auf unserer WWW Seite erstellen wir eine neue txt Datei Namens neu.txt.
      Jetzt klicken wir Doppelt auf die auf ein Leeres Feld in unserem Launcher
      Im Code erstellt sich Form1_Load, das heißt, was passieren wird wenn die Aplikacjon Startet.
      Ganz oben in diesem Code geben wir folgendes ein.

      Quellcode

      1. Imports System.Net
      Dann im format Form1_Load erstellen wir einen neuen Client und löschen Proxy damit er schneller läuft.

      Quellcode

      1. Dim client As WebClient = New WebClient()
      2. client.Proxy = Nothing
      Zunächst laden wir nun den Inhalt der neu.txt runterins RichTextbox

      Quellcode

      1. Try
      2. RichTextBox1.Text = client.DownloadString("http://deine_seite.de/neu.txt")
      3. Catch ex As Exception
      4. RichTextBox1.Text = vbNewLine & "ERROR."
      5. End Try
      .

      Dank Try "Catch ex as exception" und "End Try" erhalten wir beim Fehler bzw Problem mit Download vom Launcher eine Nachricht das es ein Fehler gibt.
      _____________________________________________________________________________________________________________________________________________
      8:Anzahl der Spieler auslesen.
      Wir installieren den vorher Runtergeladenen Connector/NET.
      Als nächstes Wählen wir im Visual Basic oben Project -> Add Reference -> Browse (links) -> Browse (unten) und wählen MySql.Data.dll. aus.
      Wenn wir es nun ausgewählt haben, heben wir ganz oben im code Folgendes ein.

      Quellcode

      1. Imports MySql.Data.MySqlClient

      und ebenfalls oben unter

      Quellcode

      1. "Public Class Form1
      geben wir ein um mit dem Server zu Connecten.

      Quellcode

      1. Dim SQL_HOST As String = "HOSTNAME"
      2. Dim SQL_USER As String = "NAME"
      3. Dim SQL_PASSWORD As String = "PASSWORT"
      4. Dim SQL_DB As String = "DATENBANK"
      Jetzt Fügen wir eine Funktion über die zeile

      Quellcode

      1. End Class


      Quellcode

      1. Private Sub aktualisiere()
      2. End Sub
      ein und fügen in die Funktion folgendes ein.

      Quellcode

      1. Dim MysqlConn As MySqlConnection
      2. Dim data As MySqlDataReader
      3. Dim adapter As New MySqlDataAdapter
      4. Dim command As New MySqlCommand
      5. Dim spieler As Integer = 0
      6. Dim admins As Integer = 0
      7. MysqlConn = New MySqlConnection()
      8. MysqlConn.ConnectionString = "server=" & SQL_HOST & ";" & "user id=" & SQL_USER & ";" & "password=" & SQL_PASSWORD & ";" & "database=" & SQL_DB
      9. Try
      10. MysqlConn.Open()
      11. Catch ex As Exception
      12. MessageBox.Show("ERROR Melde dich bei einem Administratoren")
      13. End Try
      Alles anzeigen

      Nun die Anzahl der Administratoren

      Quellcode

      1. Try
      2. command.CommandText = "SELECT ilosc FROM online WHERE typ='spieler'"
      3. command.Connection = MysqlConn
      4. adapter.SelectCommand = command
      5. data = command.ExecuteReader
      6. While data.Read()
      7. spieler = data(0).ToString
      8. End While
      9. data.Close()
      10. command.CommandText = "SELECT anzahl FROM online WHERE typ='admins'"
      11. command.Connection = MysqlConn
      12. adapter.SelectCommand = command
      13. data = command.ExecuteReader
      14. While data.Read()
      15. admins = data(0).ToString
      16. End While
      17. data.Close()
      18. Catch ex as exception
      19. Label1.Text = "ERROR melde dich bei einem Administratoren!"
      20. End Try
      Alles anzeigen
      ebenfalls müssen wir noch unsere Daten im label speichern.

      Quellcode

      1. Label1.Text = "Spieler online: " & spieler & " (und noch " & admins & " administratoren)"

      Um die Spieler Anzahl bei Start des Launchers zu Aktualisieren fügen wir unten im Form1_Load ein

      Quellcode

      1. aktualisieren()
      Das gleiche machen wir jetzt mit dem Timer den wir vorher eingefügt haben, Doppelklick und fügen das gleiche ein, so sieht es dann aus.

      Quellcode

      1. Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
      2. aktualisieren()
      3. End Sub
      Nun sind wir Fertig und können unseren Launcher Starten! Nicht vergessen das Script unserem Server einzufügen was wir vorher erstellt hatten.
      _____________________________________________________________________________________________________________________________________________
      9: Fast das Ende Info zur neuer Version vom Launcher.
      Doppelklick auf My Projekt (Rechts) -> Assembly Information -> ändern wie File Version auf namen unsers Launchers.
      Als nächstes erstellen wir auf unserer WWW Seite neue datei namens (version.txt) und schreiben die Version des Launchers rein.
      Im Form1_Load, geben wir folgendes ein.

      Quellcode

      1. Try
      2. Dim version As String = client.DownloadString("http://deine_seite.de/version.txt")
      3. If Not (version = Application.ProductVersion) Then
      4. MessageBox.Show("Es gibt eine neue Launcher Version" & vbNewLine & "Besuche die http://deine_seite.de/ um sie Runterzuladen" & vbNewLine & "Es wird Empfohlen die neue Version zu nutzen.", "Bitte aktualisieren", MessageBoxButtons.OK, MessageBoxIcon.Information)
      5. End If
      6. Catch ex As Exception
      7. MessageBox.Show("Es gab ein Fehler bei dem Download. Melde dich bei einem Administrator", "Fehler", MessageBoxButtons.OK, MessageBoxIcon.Error)
      8. End Try
      Nun wird jedes Mal ein Fenster kommen, sobald eine neue Version vorhanden ist.

      Der ganze Code: pastebin.com/Tq1h66yf


      Ich hoffe es könnte euch helfen ;=)

      lg Alex

      Canna schrieb:

      Guten Tag
      Der freundlichste User, der, der immer an seinen Gruß gedacht hat und seine Duftmarke hinterlassen muss. Der User mit den meisten Pinnwandeinträgen ist ebenfalls @Rocky Balboa mit aussagekräftigen 98 Einträgen.

      Canna schrieb:

      Die meisten Beiträge
      Natürlich beginnen wir mit den meisten Beiträgen. Derjenige, der sich 24/7 (mehr oder weniger) die Finger wund schreibt ist mit 1.318 Beiträgen zum zweiten Mal in Folge der User mit den meisten Beiträgen im Jahr 2018, @Rocky Balboa.

      dennismitzwein schrieb:

      Die meisten Beiträge
      Der eifrigste Tastaturklimperer, derjenige, welcher mehr Muskeln in den Fingern besitzt als die meisten von euch im Bizeps haben. Mit ganzen 1524 Beiträgen ist @Rocky Balboa der User mit den meisten geschriebenen Beiträgen im gesamten Jahr 2017

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Rocky ()

    • Du solltest ggf. noch erwähnen das die MySQL Datenbank Daten (> read only <) sein sollten, da sich sonst jeder die Daten herausziehen kann und Unfug damit betreiben würde (ich würde schnell an buffer overflow + Malware denken (oder halt die ganze Datenbank wenn man es nicht aufteilt).
      Sonst für das was erreicht werden soll solide genug ;)

      /E: Ohh no andere waren schneller ja, PHP ist auch ne gute Idee ;D
    • Bin noch ein Anfänger, werde ich mir für die Zukunft merken. Freue mich auf Tipps von Profis.

      @[LnD]JustMe.77 einen aktuellen Screen habe ich jetzt nicht, war länger her als ich damit gespielt hatte.

      Canna schrieb:

      Guten Tag
      Der freundlichste User, der, der immer an seinen Gruß gedacht hat und seine Duftmarke hinterlassen muss. Der User mit den meisten Pinnwandeinträgen ist ebenfalls @Rocky Balboa mit aussagekräftigen 98 Einträgen.

      Canna schrieb:

      Die meisten Beiträge
      Natürlich beginnen wir mit den meisten Beiträgen. Derjenige, der sich 24/7 (mehr oder weniger) die Finger wund schreibt ist mit 1.318 Beiträgen zum zweiten Mal in Folge der User mit den meisten Beiträgen im Jahr 2018, @Rocky Balboa.

      dennismitzwein schrieb:

      Die meisten Beiträge
      Der eifrigste Tastaturklimperer, derjenige, welcher mehr Muskeln in den Fingern besitzt als die meisten von euch im Bizeps haben. Mit ganzen 1524 Beiträgen ist @Rocky Balboa der User mit den meisten geschriebenen Beiträgen im gesamten Jahr 2017
    • Ich werde mich da noch schlau machen, und es mir alles anschauen.
      Danke für die Rückmeldungen.

      Canna schrieb:

      Guten Tag
      Der freundlichste User, der, der immer an seinen Gruß gedacht hat und seine Duftmarke hinterlassen muss. Der User mit den meisten Pinnwandeinträgen ist ebenfalls @Rocky Balboa mit aussagekräftigen 98 Einträgen.

      Canna schrieb:

      Die meisten Beiträge
      Natürlich beginnen wir mit den meisten Beiträgen. Derjenige, der sich 24/7 (mehr oder weniger) die Finger wund schreibt ist mit 1.318 Beiträgen zum zweiten Mal in Folge der User mit den meisten Beiträgen im Jahr 2018, @Rocky Balboa.

      dennismitzwein schrieb:

      Die meisten Beiträge
      Der eifrigste Tastaturklimperer, derjenige, welcher mehr Muskeln in den Fingern besitzt als die meisten von euch im Bizeps haben. Mit ganzen 1524 Beiträgen ist @Rocky Balboa der User mit den meisten geschriebenen Beiträgen im gesamten Jahr 2017

    • Im Grunde nicht so eine schöne Idee, die Datei immer wieder runter zu laden, wenn man den Launcher startet.

      Wäre besser, die Daten auf dem Webspace zu lassen und sich via HTTP(S) Verbindung die Daten zu laden,
      so könnte man bspw. neugierige Leute aussperren und/oder den Versionscheck direkt über den Useragent laufen lassen.

      Zur Datenbank wurde ja bereits alles gesagt, PHP und Query auch
      "Bevor ich mir Informationen aus der "Bild" hole,
      werde ich anfangen, Wahlergebnisse danach vorauszusagen,
      neben welchen Busch unsere Katze gepinkelt hat."
      Margarete Stokowski
    • Hatte den ganzen Code noch nicht gepostet.
      pastebin.com/Tq1h66yf

      Canna schrieb:

      Guten Tag
      Der freundlichste User, der, der immer an seinen Gruß gedacht hat und seine Duftmarke hinterlassen muss. Der User mit den meisten Pinnwandeinträgen ist ebenfalls @Rocky Balboa mit aussagekräftigen 98 Einträgen.

      Canna schrieb:

      Die meisten Beiträge
      Natürlich beginnen wir mit den meisten Beiträgen. Derjenige, der sich 24/7 (mehr oder weniger) die Finger wund schreibt ist mit 1.318 Beiträgen zum zweiten Mal in Folge der User mit den meisten Beiträgen im Jahr 2018, @Rocky Balboa.

      dennismitzwein schrieb:

      Die meisten Beiträge
      Der eifrigste Tastaturklimperer, derjenige, welcher mehr Muskeln in den Fingern besitzt als die meisten von euch im Bizeps haben. Mit ganzen 1524 Beiträgen ist @Rocky Balboa der User mit den meisten geschriebenen Beiträgen im gesamten Jahr 2017
    • //push

      Canna schrieb:

      Guten Tag
      Der freundlichste User, der, der immer an seinen Gruß gedacht hat und seine Duftmarke hinterlassen muss. Der User mit den meisten Pinnwandeinträgen ist ebenfalls @Rocky Balboa mit aussagekräftigen 98 Einträgen.

      Canna schrieb:

      Die meisten Beiträge
      Natürlich beginnen wir mit den meisten Beiträgen. Derjenige, der sich 24/7 (mehr oder weniger) die Finger wund schreibt ist mit 1.318 Beiträgen zum zweiten Mal in Folge der User mit den meisten Beiträgen im Jahr 2018, @Rocky Balboa.

      dennismitzwein schrieb:

      Die meisten Beiträge
      Der eifrigste Tastaturklimperer, derjenige, welcher mehr Muskeln in den Fingern besitzt als die meisten von euch im Bizeps haben. Mit ganzen 1524 Beiträgen ist @Rocky Balboa der User mit den meisten geschriebenen Beiträgen im gesamten Jahr 2017

      Beitrag von DarkEvolution ()

      Dieser Beitrag wurde von shoxinat0r aus folgendem Grund gelöscht: Spam ().