Beiträge von DerCommander

    Du schreibst hier vieles hin, vergißt aber, dass es noch im Aufbau befindlich ist. Außerdem bezweifel ich, dass ein Anfänger, der ja nur Abschreiben will, einen eigenen Kernel kompilieren wird ;)


    Außerdem:


    Wenn du den User "gameserver01" generierst, solltest du auch dabei bleiben und nicht auf einmal einen neuen User "GameServer" aus dem Hut zaubern und dem ein Verzeichnis zuordnen, dass gar nicht existiert... :P


    MfG Commander


    P.S.: Ich werde in meinem Howto noch vieles hinzufügen, wie gesagt, es ist im Aufbau!

    How-To zum Aufsetzen eines DoD-Servers



    In diesem How-To möchte ich euch zeigen, wie man einen bzw. mehrere DoD 1.3 Server mit Steam aufsetzt. Ich gehe davon aus, dass gewisse Grundkenntnisse in Linux vorhanden sind, und dass ein eigener Benutzer angelegt wurde, unter dem der Game-Server läuft (Für die Newbies: Man startet NIEMALS Anwendungs-Programme oder Server als root!). Wie ein eigener Benutzer angelegt wird (als root) erfahrt ihr in diesem Thread.


    Ich werde in diesem How-To verschiedene Variablen verwenden, diese wären:


    {user} = Benutzername des Gameservers
    {steam_dir} = Verzeichnisname von Steam
    ~ = Home-Verzeichnis des Benutzers. Es kann so verwendet werden, steht für Linux selber für /home/{user}



    1. Installieren von Steam und herunterladen des Spiels


    Falls es noch nicht geschehen ist, dann loggt euch mit eurem Benutzernamen über SSH in euren Server ein (Bzw: wenn es sich um einen Server bei euch zuhause handelt, dann halt normal in der console).


    Als erstes legen wir ein Verzeichnis für den Gameserver an, ich hab es in diesem Fall "steam" (im folgenden mit {steam_dir} variabel) genannt, also


    Code
    mkdir steam


    Im nächsten Schritt laden wir das Steam-Tool herunter:


    Code
    wget http://storefront.steampowered.com/download/hldsupdatetool.bin


    was wir im nächsten Schritt auch direkt starten um Steam zu installieren


    Code
    ./hldsupdatetool.bin


    Solltet Ihr eine Fehlermeldung bekommen müßt Ihr zuvor "ncompress" installieren, was aber standartmäßig drauf sein sollte.



    Nun sollte der Inhalt des Verzeichnisses ungefähr so aussehen:


    Code
    -rwxr-xr-x 1 jwm users 3,4M 14. Jan 12:38 hldsupdatetool.bin
    -rw-r--r-- 1 jwm users 3,4K 7. Apr 2005 readme.txt
    -rwxr-xr-x 1 jwm users 7,5M 18. Nov 08:36 steam
    -r-xr-xr-x 1 jwm users 350K 16. Nov 06:28 test1.so
    -r-xr-xr-x 1 jwm users 443K 16. Nov 06:28 test2.so
    -r-xr-xr-x 1 jwm users 8,0M 16. Nov 06:28 test3.so


    Die .bin-Datei könnt Ihr getrost löschen oder ignorieren, sie hat keinerlei Funktion mehr.



    Im nächsten Schritt wird steam zu einer ausführbaren Datei gemacht und dann DoD heruntergeladen und zwar so:


    Code
    chmod u+x steam
    ./steam -command update -game cstrike -dir ~/{steam_dir}


    In 95% der Fälle wird nun erst einmal das Steam-Programm selber auf den neusten Stand der Dinge gebracht und Steam selber dann beendet. Sollte dem so sein, dann führt einfach den letzten Befehl erneut aus und ladet euch dann DoD herunter (Das kann auch mit 100MBit ne Weile dauern, kocht euch also in der Zeit nen Kaffee). Es wird dabei jede Datei angezeigt, welche von Steam geladen wird. Am Ende landet Ihr wieder in der console und habt nun ein neues Verzeichnis in Eurem {steam_dir} mit dem Namen "dod".


    Um zu schaun, ob alles sauber installiert wurde führen wir einfach mal folgenden Befehl aus:


    Code
    ./steam -game dod


    Dadurch wird der erste unkonfigurierte Server gestartet und am Ende solltet Ihr sogar darauf connecten können (Natürlich mit eurem Spiele-PC). mit "quit" wird dieser Server wieder beendet.



    2. Konfiguration und starten mit screen


    Konfiguriert wird der Server hauptsächlich über die Datei "server.cfg" die sich im "~/{steam_dir}/dod/" befindet. Editieren kann man diese Datei mit


    Code
    vi server.cfg


    In der Konfiguration gibt es sehr viele Variablen, die man einstellen kann, welche aber nicht in der server.cfg vorhanden sind. Die wichtigstens schreibe ich hier nun auf:



    Gespeichert wird in vi indem man auf [ESC] drückt und dann :x eingibt und mit [ENTER] abschickt.


    Wenn man nun die grundlegende Konfiguration fertig hat, kann man den Server wieder starten, jedoch besteht das Problem, dass der Server beendet wird, sobald man seine console schließt (bei der Art, wie wir vorhin den Server gestartet haben). Daher verwendet man in der Regel "Screen" um den Server in einem eigenen Terminal zu starten.


    Der Screen-Befehl wird folgendermaßen verwendet:


    Code
    screen -AmdS name ./programm -parameter


    Dadurch wird das gewünschte Programm im Hintergrund geladen und ist über den Namen "name" wieder erreichbar. Für unseren Server sieht das ganze dann so aus:


    Code
    screen -AmdS name ./steam -game dod


    Dabei zu beachten ist, dass man sich im {steam_dir} befinden. möchte man von irgentwo den gameserver starten, muß man den gesamten pfad zum {steam_dir} angeben, kann es aber auch mit "~/{steam_dir}/steam" abkürzen.


    Des weiteren kann man dem Server schon hier viele Parameter mitgeben, zum Beispiel, welche Map als erstes geladen werden soll oder wie viele Slots der Server haben soll. Ein Teil der Variablen sind folgende:


    Code
    -game dod			Sagt dem Server, welcher Server gestartet werden soll, in unserem Fall dod
    -maxplayers xx			Wieviele Slots soll der Server haben
    +map dod_anzio			Startmap festlegen
    -autoupdate			Gibt dem Server die Anweisung, bei einem Crash neu zu starten und bei Verfügbaren Updates diese einzuspielen
    -port 27015			Gibt dem Server die Anweisung auf dem Port x zu laufen, wobei ohne Angabe der Port 27015 verwendet wird. In der Regel laufen Server zwischen 27000 und 27050
    +log on				Sagt dem Server, dass er die Logs speichern soll. Ist sehr brauchbar, wenn man ein Statistik-Programm laufen lassen will.
    -pingboost (0|1|2)		Startet die Server eigene Routine, den Ping ein bißchen stabiler und niedrieger zu halten, wobei allerdings die CPU ein wenig mehr gefordert wird
    +servercfgfile xx.cfg		Gibt an, welche .cfg Datei der Server verwenden soll. Sehr hilfreich, wenn man mehrere Server starten will (dazu später mehr)


    Achtet darauf, das - bzw. das + mit zu schreiben, da es ohne nicht als Parameter erkannt wird.


    Hier nun ein Beispiel, für einen Server, der 20 Slots haben soll:


    Code
    screen -AmdS public ./steam -game dod -maxplayers 20 +map dod_anzio -autoupdate -pingboost 2 +log on


    Um jetzt in das Terminal hereinzukommen schreiben wir


    Code
    screen -R public


    In der Console vom DoD-Server können wir nun alles sehen, was der Server so ausgibt, können aber auch Befehle eingeben. Mit quit wird der Server wieder beendet. Um die Console zu verlassen ohne den Server zu beenden drücken wir [STRG]+[A]+[D] und kommen somit wieder in unsere Shell. Von Außen kann man den Server mit folgendem Befehl sauber beenden:


    Code
    screen -S public -X quit


    Dabei wird der befehl "quit" in das Terminal gesendet und der DoD-Server setzt diesen dann um indem er sauber herunterfährt (Es fährt nur der DoD-Server herunter, nicht der Server selber).


    3. Mehrere Server starten


    To be continued...

    Ich bin zwar auch nicht der held von linux, aber wie willst du mit der option -r einen server mit screen gestartet haben? -r steht doch für "reattach", also dafür, dass ich wieder in das terminal reingehe.... aber egal...


    zu deinen problemen: mal ganz ehrlich, wäre es nicht besser, du holst dir nen fertigen gameserver von der stange? weil das ding brauch schon ein wenig wartung. es ist nicht damit getan, mal einmal ein paar user einzutragen, den server einmal zum laufen zu bringen und dann zu hoffen, dass die im rechenzentrum regelmäßig staub wischen!


    Du bist dafür verantwortlich, dass die software auf dem neuestem stand bleibt, nicht nur die software von dod/steam, sondern auch die des betriebssystems. bei sicherheitslücken bist du dafür verantwortlich, diese zu stopfen bzw. die passenden patches einzuspielen, im grunde genommen, ist es vergleichbar mit deinem rechner zu hause, nur dass der ein paar km weit weg steht und du nur über die konsole dran kommst.


    ich bezweifel anhand dieses threads, dass du in der lage bist auch nur ein update einzuspielen, ohne dabei letztendlich wieder in einem forum zu landen oder gar die teuren 0900-hotlines deines anbieters anzurufen und einen techniker zu beauftragen, da mal nachzusehen, weil du bockmist gebaut hast und unwissentlich den kernel zerschrottet hast.


    kleiner tipp, wie man am schnellsten nen paar grundkenntnisse von linux bekommt (so hab ichs gemacht): bau dir ne kleine maschine zu hause zusammen (nen 500MHz reicht vollkommen aus) und installier darauf linux, aber !ohne! die grafische oberfläche. und dann geh hin und versuch hier was und versuch da was, ganz zum schluß installier da drauf nen server und versuch den zu administrieren, bzw erstmal zum laufen zu bringen (siehe dein screen-problem). wenn das klappt, dann trau dich wieder an die großen maschinen im internet.


    Wie gesagt, ich bin auch nicht der king of linux, aber ich hab es geschafft drei server auf unserer neuen maschine zum laufen zu bringen, mit mehreren konfigurationen... hatte zwar auch hier im forum gefragt, mich dann aber selber schlau gemacht und nun geht es!


    mfg DerCommander

    also einen einzelnen CS-Server auf einem root habe ich bereits installiert, das vorgehen für einen einzelnen DoD-Server sollte also das selbe sein. Mein problem ist nur, dass ich mehrere Server mit verschiedenen Configs laden will, wobei auch noch zu unterscheiden ist, ob ich adminmod (für den public) oder amx (für die war-server, denn es ist DoD-Guard als AMX-Plugin in der Liga vorgeschrieben) laufen haben will. Darum geht es mir im großen ganzen.


    Linux habe ich selber auf einer zweiten partition laufen, was ich auch regelmäßig nutze um damit im web zu surfen oder meine Webseiten-Scriptings zu schreiben, da mir das in winxp einfach zu doof ist, einen WAMP zu installieren, der mir dann wieder die performance beim zocken raubt. Konsolen befehle kenne ich die wichtigsten für die installation des servers und um mich nicht zu verlaufen, darunter screen, vi, tar, usw...


    kannst mich ja mal in ICQ kontakten, wenn du mir helfen würdest, meine nummer ist 50554824 (heiße dort CyberAge)


    mfg Commander

    Also unser root kommt diese Woche und dann wollte ich auch anfangen. Nen Howto würde ja sicherlich nicht nur mir helfen sondern anderen auch. Also lass dir zeit damit. Wenn du mir vielleicht aber nen bißchen supüport bieten könntest, wenn ich auf hürden stoße, wäre ich dir sehr dankbar.


    mfg commander

    Also hier im Forum sind ja sehr viele HowTo's zu finden, aber irgentwie keines, wie man einen DoD-Server aufsetzt. Habe schon ein paar gefunden im netz, aber irgentwie beschreiben die immer nur hau ruck aktionen, wie man mal schnell einen aufsetzt, aber nie, wie der auch sauber konfiguriert wird oder wie man evtl mehrere server neben ein ander installieren kann.


    Hat da einer vielleicht ein Howto zur hand, es geht speziell darum, dass ich 3 Server auf einem root (suse-linux) installieren will, wobei 1 public (incl. metamod/adminmod o.ä.) und 2 war server (diese sollen natürlich blank sein).


    mfg Commander