Beiträge von Hitman

    Ja, die meine ich...
    Aber was für ein Betriebsystem hast du denn ?
    Weil normalerweise sendt ein Linux-Sytem der CS server-console beim Schließen von Putty ein 'SIGHUP'. Was dann von der Gameserver-console als ein Beenden-Signal interpertiert wird.
    Also heist das der Gameserver würde beendet werden.
    Naja... aber wenn es läuft ist ja gut...


    Einen Vorschlag hab ich aber trozdem, der auf diese Befehlszeile passt:

    Code
    ./hlds_run -game cstrike +maxplayers 11 +map de_dust


    Du hast ja, für jeden Server einzelne Verzeichnisse, User und Gameserver-Dateien angelegt. Du nimmst die Startbinarys und benennst die um; - jede einzelne bekommt einen anderen Zusatznamen angehängt - zum Beispiel den Usernamen unter dem der Server läuft:
    z.B.: hlds_run wird zu --> hlds_run_heino [hlds_run_(+username)].
    Wenn nicht den Username, weil du alle Counterstrikeserver unter einem User startest, nehme andere Begriffe, die du den einzelnen Servern zuordnen kannst.
    Wenn du nun die Gameserver beenden willst (in meinem Beispiel):

    Code
    killall hlds_run_heino


    Achso, es musst natürlich in der Startzeile, die du in Putty eingibst, die geänderte Binary enthalten sein - ich bezieh mich hier wieder auf mein Beispielnamen:

    Code
    ./hlds_run_heino -game cstrike +maxplayers 11 +map de_dust


    Das sollte nun funktionieren... wenn nicht melde dich !!!


    MfG Hitman

    Also erst mal den Startscript:


    Jo ich stimm beidem zu.
    Als erstes eine "dicke Schwarte" soll heißen Fachbücher. Einfach so wirst du kein Grundwissen bekommen.
    Dann, so hab ichs gemacht, einen älteren PC nehmen und da Linux installieren.
    Und schon bei dem einrichten wirst du merken, was du schon wissen musst. Ein Tip dabei, wähle so oft es geht den schwersten Weg. z.B.: wenn du den Webserver, MySQL-Datenbank usw einrichtest, nehm dir keine fertigen Tools, die alles in einem Rutsch machen. - Mach alles von Hand !!! - So lernst du mit Grundbefehlen und weiteren Befehlen umzugehen, und auch in dieser Umgebung zu arbeiten.
    Ich hab immer noch PCs zu Hause stehen die ich als Testserver nutze.
    Mittlerweile sind die aber überwiegend auf neuerem Stand.


    Also noch mal Schule machen (retorisch gemeint) und pauken, pauken, pauken...


    Nehm dir da auch noch was zu Herzen, in diesem Bezirk hört das lernen nicht auf !!!


    MfG Hitman

    Ja also:
    Du könntest einen Perl-script erstellen und starten, der auf einen Port lauscht.
    Dort ist dann extra ein User mit Pw eingetragen und dann vorgefertigte Befehle, die einen Startscript ansprechen.
    Auf seiten des Interface verbindest du dich dann, über socket_open()... mit dem Perl-script (User und Pw muss auf seiten des Interface vorhanden sein).
    Der Perl-script prüft User und Pw und dann (wenn die richtig sind) kann du Befehle senden....
    Perl-script, Startscript und Gameserverfiles müssen einem User gehören; unter dem sollte auch der Perli gestartet werden.


    So sieht es theoretisch aus, aber programmiert ist das alles viel länger und viel schwieriger.


    Ich hab ein solches Interface schon gehabt und ausprobiert -> SEHR SCHWIRIG !!!! (Das Coden)


    MfG Hitman

    Hm... hab da ne Frage an dich DeeTaG !!!


    Also ich schreibe viele Scripte, grade zu Steuerung des Servers.
    Hier meine Frage:


    Warum machst du 2 Cronjobs mit STOP und START ,?, wenn es auch ein Crobjob mit RESTART tut. Dann STOPPT und STARTET der automatisch und du musst nicht nach 5 Minuten wieder einen ausführen...


    Nur jetzt so eine Idee... was du draus machst ist deine Sache...


    Und nu will ich ma kurz Blads Meihnung dazuhören, ob das einen Fehler ergeben kann. Hatte zwar noch nie ein Prob damit, hab aber schon Crontabs gesehen die nen CSS server durcheinandergebracht haben...


    MfG Hitman

    tLc | DonDrago


    also "yast" sollte dein Server schon kennen, weil yast das Kontrollzentrum von SuSe ist !!!


    so und nun zu deinem 2ten Problem:


    Wenn du yast endlich benutzen kannst, kannst du dem User, dem die CS:S Files gehören, einfach den Shell:bash wegnehmen und in die Datei

    Code
    /etc/chrootUsers


    per sFTP-Programm den Usernamen von hand reinschreiben; dann kann der User sich zwar nicht in die Console einloggen, aber per FTP auf die Files von ihm (und nur von ihm) zugreifen.


    Fragt sich bei diesem Schritt aber nur, ob du ein passendes Interface oder sonst eine Steuerungsalternative, anstatt die Console hast....
    Bei mir sieht man es bis auf die URL nicht mehr dass ich den Usermin nutze. Das kann man alles einstellen.
    Schau hier:
    http://www.ts-raser.de/~hitman/interface.JPG



    MfG Hitman

    Oh weh Safti,


    Haste dir den "ps aux"-Asuzug (so nenn ich ihn mal) mal angesehen. Die Server sind über "screen" gestartet. PS AUX ist eine Schnittstelle wo man laufende Prozesse sehen kan (ähnlich wie "top").


    @ tLc | DonDrago


    Den Prozess beenden kannst du so:
    Du loggst dich in die Console ein (mit Putty z.B.)(auch als root)
    in die Console gibst du nun folgendes ein:

    Code
    killall srcds_run


    Und schon sind alle CS Source Server beendet. (sollten auf jeden Fall)


    Wenn nicht, schreibste noch mal !!!


    MfG Hitman

    hm... rotti1970


    ich seh schon dass du seh viel verstehst. Vorallem wenn ich die Startzeile sehe, die ganz am anfang schon steht !!!


    ....muss ich mehr sagen ?


    screen ... und ... ./sof2ded ...


    Du bist schon klasse !!! Warum spielt ihr nicht in v1.00 ? Dann können wir mal zusammen die Server unsichermachen; währe doch mal eine Idee !?!

    Nehm doch einfach das YAST, dass ist ein einfaches Tool dafür, Benutzer zu erstellen.
    Du loggst dich als root in die Console ein und gibst dort "yast" ein.
    Dort kannste unter "Sicherheit & Benutzer" -> "Benutzer bearbeiten und anlegen" einen User mit allen notwendigen Dateien anlegen.


    Über die Console solltest du mehr angeben als nur

    Code
    useradd


    Einen User richtig nur über Console anzulegen geht so:


    Code
    server:/ # mkdir /heimatverzeichnis                             {Homeordner erstellen} 
    server:/ # useradd user                         {Benutzer hinzufügen} 
    server:/ # passwd user                          {Passwort definieren} 
    Changing password for user. 
    New password:****                             {Pw eingeben} 
    Re-enter new password:****                   {Pw wiederholen} 
    Password changed 
    server:/ # cp -a /etc/skel/{.[^.]*,*} /heimatverzeichnis       {wichtige Dateien in den Ordner kopieren} 
    server:/ # chown -R user.gruppe /heimatverzeichnis     {dem Ordner einen User zuweisen} 
    server:/ # chmod 700 /heimatverzeichnis           {dem User Rechte geben}


    MfG Hitman

    Als erstes solltest du uns dein Betriebsystem nennen. Dann wie du den User anlegst (über Consoleneingabe oder Tool). Vielleicht fehlt da schon etwas...?


    Du sagtes zwar schon dass alle Rechte usw richtig gesetzt sind. Aber oft überseh ich auch meine eignen Fehler und denk nu nicht mehr daran weil ich mich darauf festlege, dass dort alles richtig ist.


    Des weiterer kenn ich schon diese Meldung, und meist ist der User nicht richtig angelegt worden !
    Du solltest am besten auch Den Server im Heimatverzeichnis anlegen; kann da viellicht der Fehler liegen ? Dann hab ich es auch allen Usern unter denen ein Gameserver läuft, der Gruppe Games zugewiesen.


    Wenn man auf Fehlersuche ist, darf man nichts ausschließen. Darum hab ich auch oft anderen Leuten helfen können.


    Also noch mal bei Adam und Eva anfangen und nichts ausschließen !!!


    MfG Hitman


    P.S.: Vielfach hilft es: alles noch mal löschen und neu einrichten !!!!!

    Ich würde es ganz einfach machen:


    - Du schreibst den kompletten *.sh-script fertig.
    - Und legst den in den gleichen ordner wie die PHP-datei.
    - Übergibst den Script an den User der ausführen soll und auch im PHP-Script steht; mit allen Rechten meintewegen.
    - Du schreibst ins ins Interface als ausführendes Komando

    PHP
    <?php
     ....
     shell_exec("man sudo [-u user|#uid] ./script.sh *start*");
     ....
     ?>


    (ich hab nun die Option 'start' mit in die Zeile in *-Zeichen geschrieben, weil ich meine Scripte immer mit vielen Optionen ausstatte und auch so ausführe.)


    Dies Ganze gehört aber nun zu Webcoding, da, wie wir schon wissen, der oben genannte Befehl in PHP-code ist.


    Verbessert mich wenn was falsch ist :wink:


    MfG Hitman

    Ja, also standartmäßig ist es so, dass der Cs1.6 Server auf Port 27015.


    Also nimmte 27015 und als Protokoll TCP. Das steht da aber auch mit dem: Typ ist das Protokoll gemeint.


    MfG Hitman