Über SSH2 einen SA:MP Server Starten

  • Hallo Leser/innen,


    ich Schreibe nicht sehr viele Tutorials, aber in diesem geht es darum über eine SSH2 Verbindung einen SA:MP Server zu Starten.
    Das Prinzip Funktioniert bei anderen Anwendungen von Linux gleich. Durch eine SSH2 Verbindung ist es Möglich eine Konsole nur im Webbrowser zu basteln.
    Die SA:MP Control Panel erlangen den Zugriff auf den SA:MP Server nicht durch Zaubern sondern durch eine einfache SSH2 Verbindung.


    Es ist nicht sehr Schwer, man muss nur den Sinn dahinter verstehen.
    Nun genug dazu, ich fange lieber mal an. :whistling:




    Schritt 1:
    Als erstes solltet ihr eine PHP Datei erstellen.



    Schritt 2:
    In die neue PHP Datei schreibt ihr folgendes um zu Prüfen ob ihr SSH2 habt.

    PHP
    if (!function_exists("ssh2_connect")) die("function ssh2_connect existiert nicht");





    • function_exists überprüft ob die Funktion die in den Klammern geschrieben wurde existiert.
    • die entspricht der Funktion "exit()".


    Schritt 3:
    Unter der Überprüfung von SSH2 schreibt ihr folgendes um die Verbindung zum SSH Server Herzustellen:



    PHP
    if (!($con = ssh2_connect("SERVER IP", 21))) {
    echo "Fehlerhafte Verbindung zur Server IP";
    } else {
    	if (!ssh2_auth_password($con, "BENUTZERNAME", "PASSWORT")) {
     echo "Fehlerhafte Anmeldung zum Server";
    	} else {
     echo "Erfolgreiche Verbindung";
    	}
    }


    • ssh2_connect stellt dich Verbindung zum Server her.
    • echo gibt einen Text aus.
    • ssh2_auth_password gibt die Benutzerdaten an den Server weiter.


    Schritt 4:
    So, nun existiert eine Verbindung zum Server, es fehlt nur noch die Funktion zum Starten von einem SA:MP Server.
    Als erstes müssen wir selbstverständlich zum Verzeichnis des SA:MP Servers Navigieren.


    PHP
    ssh2_exec($con, "cd PFAD");


    • ssh2_exec sendet ein Befehl an den Server.
    • cd ist dafür da um sich in ein Verzeichnis zu Bewegen.
    • PFAD hier muss eurer Pfad zum SA:MP Server angegeben werden (/home/samp03svr)


    Schritt 5:
    Jetzt müsst ihr auch noch den Befehl zum Server Starten an den Server Schicken.
    Ihr müsst bei Schritt 4 folgendes Hinzufügen:


    PHP
    ssh2_exec($con, "cd PFAD && ./samp03svr &");


    • && führt eine neue Funktion in der Abfrage ab.

    • ./ führt eine .sh Datei auf eurem Server aus.

    • samp03svr ist der Name von eurer .sh Datei.

    • & lässt den Server dauerhaft an.


    Es kann sein das es nicht unbedingt die beste Möglichkeit ist, aber es Funktioniert.


    Vielleicht habe ich euch geholfen, vielleicht auch nicht. Viel Spaß damit :thumbup:


    Mit freundlichen Grüßen,
    Maximilian