Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: sourceserver.info. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

BlackShadow

Anfänger

  • »BlackShadow« ist der Autor dieses Themas

Beiträge: 42

Wohnort: Salzburg

Beruf: Programmieren lernen

  • Nachricht senden

1

Donnerstag, 8. November 2007, 15:45

Zweiten CSS-Server starten neben dem einen auf einem ROOT!

Hi Jungs!

Kann mir vielleicht irgendwer erklären wie mann einen zweiten CSS-Server für Linux neben dem ersten startet???? Das dann zwei Server auf einem ROOT-Server laufen!

Mfg Black

2

Donnerstag, 8. November 2007, 17:23

Re: Zweiten CSS-Server starten neben dem einen auf einem ROOT!

Du müsstest den Server auf einem anderen Port starten via Startparameter.

BlackShadow

Anfänger

  • »BlackShadow« ist der Autor dieses Themas

Beiträge: 42

Wohnort: Salzburg

Beruf: Programmieren lernen

  • Nachricht senden

3

Donnerstag, 8. November 2007, 17:24

Re: Zweiten CSS-Server starten neben dem einen auf einem ROOT!

ja aber wenn ich ihn unter einem anderen port starte, startet er genau die plugins die auf dem server sind! ich mchte einen surf server und einen aim server!!!

4

Donnerstag, 8. November 2007, 17:53

Re: Zweiten CSS-Server starten neben dem einen auf einem ROOT!

am besten einfach ein 2. server installieren, anstatt 2 aus dem gleichen verzeichnis zu starten

DeaD_EyE

Administrator

Beiträge: 3 980

Wohnort: Hagen

Beruf: Mechatroniker (didaktische Systeme)

Rootserver vorhanden: Nein

  • Nachricht senden

5

Freitag, 9. November 2007, 01:18

Re: Zweiten CSS-Server starten neben dem einen auf einem ROOT!

Genau. Du könntest auch mit Symlinks arbeiten. So müsste der Server physikalisch nur einmal auf dem Server vorhanden sein.

Du installierst einen Server nackt, ohne alles.

Danach verwendest du den Befehl:

Quellcode

1
2
cp -sR /home/deinhome/HAUPTSERVER/* /home/deinhome/server1
cp -sR /home/deinhome/HAUPTSERVER/* /home/deinhome/server2


So hast du jetzt die beiden Verzeichnisse server1 und server2.
Dateien die bearbeitet werden sollen, sollten bei den verlinkten Servern gelöscht werden und die Dateien selber erstellen oder die Vorlage vom Haupserver zum kopierten Server kopieren.

In der Praxis sieht das dann so aus, dass du zuerst bei den verlinkten servern folgende Dateien löscht:
gameinfo.txt, mapcycle.txt, maplist.txt, motd.txt, cfg/autoexec.cfg (kann sein, dass ich was vergessen habe) server.cfg muss selber erstellt werden. Die maplist.txt kannst du durch ein script automatisch erstellen lassen.

Danach kopierst du folgende Dateien vom Hauptserver zum verlinkten Server (keine Symlinks): gameinfo.txt, motd.txt

Die Dateien autoexec.cfg, server.cfg und mapcylce.txt kannst du für beide Server selber erstellen.

Wenn du jetzt z.B. Maps für beide Server hinzufügen willst, kannst du diese zum Hauptserver hin kopieren und dann die Links neu auffrischen:

Quellcode

1
2
cp -sR /home/deinhome/HAUPTSERVER/* /home/deinhome/server1 2>/dev/null
cp -sR /home/deinhome/HAUPTSERVER/* /home/deinhome/server2 2>/dev/null


So werden Symlinks, die noch nicht vorhanden sind erstellt. Dateien werden nicht überschrieben. Da viele Fehler auftreten werden (fast alle Dateien sind vorhanden), ist es sinvoll die Fehlerausgabe mittels 2> nach /dev/null umzuleiten.

Um beide Server upzudaten muss nur der Hauptserver aktualisiert werden.
Also:

Quellcode

1
./steam -command update -game cstrike -dir /home/deinhome/HAUPTSERVER/ -retry


Es kommt es öfteren vor, dass neue Dateien nach einem Update vorhanden sind. Wenn die Symlinks nicht aufgefrischt werden kann es zu komischen Fehler kommen. Ich hatte z.B. mal das Problem, dass ich damals auf meinem Server bei de_nuke (Map kam neu raus) durch sämtliche Models laufen konnte. Die neuen Models fehlten bei den verlinkten Servern. Mittels des Kopierbefehls habe ich dann eben die Symlinks meiner Server aufgefrischt. Große Game-Server-Provider machen es auch so. Mittlerweile habe ich das auf meinem Root seit fast 2 Jahren vollständig automatisiert (Update um 23-8 uhr morgens stündlich, Links neu auffrischen und ein gemeinsamer Mappool mit automatischer komprimierung für den Fastdownload).

Wenn man sich erstmal eingearbeitet hat, ist es hinterher ein Kinderspiel die Server up-to-date zu halten. Während andere jeden Server einzeln updaten und mit Verbindungsabbrüchen zu kämpfen haben, musst du nur einen Server updaten. Wenn es verschiedene Mods sein sollen, ist auch das kein Problem. Es ist die gleiche vorgehensweise. Der positive Nebeneffekt ist auch, dass bei einem Update zwar z.B. die gameinfo.tx t immer neu heruntergeladen wird, aber die Datei (kein Symlink) bei den verlinkten Servern bleibt unverändert. So bleibt auch das abändern der gameinfo.txt (falls Metamod erwünscht ist) nach jedem Update aus.

Der Aufwand lohnt sich. Vielleicht schreibe ich noch später dazu ein größeres Tutorial.

6

Freitag, 9. November 2007, 14:44

Re: Zweiten CSS-Server starten neben dem einen auf einem ROOT!

das ist natürlich dann nochmal die klügere variante, musst aber bedenken dass leute mit nicht so vielen linux kenntnissen schwierigkeiten haben das dafür nötige script zu entwickeln...

DeaD_EyE

Administrator

Beiträge: 3 980

Wohnort: Hagen

Beruf: Mechatroniker (didaktische Systeme)

Rootserver vorhanden: Nein

  • Nachricht senden

7

Freitag, 9. November 2007, 15:47

Re: Zweiten CSS-Server starten neben dem einen auf einem ROOT!

Naja, das erstere lässt sich sogar ohne Script erledigen. Jeder Mieter eines Root-Servers sollte sich die Kenntnisse über das Dateisystem bei Linux und den Befehlen aneignen. Dazu gehören auch die Symlinks. Man kann natrülich auch den zuerst einfacheren Weg gehen und einen 2. Server über den Steaminstaller einrichten und immer alles doppelt machen.

BlackShadow

Anfänger

  • »BlackShadow« ist der Autor dieses Themas

Beiträge: 42

Wohnort: Salzburg

Beruf: Programmieren lernen

  • Nachricht senden

8

Freitag, 9. November 2007, 20:18

Re: Zweiten CSS-Server starten neben dem einen auf einem ROOT!

Ja danke Dead_Eye ! Ich habe wenigsten kleine Linux-Kenntnisse, dass ich es endlich so schafte, wie du es im Toturial beschrieben hasst! Also ich Danke dir echt für deine große Mühe right right right right

Beiträge: 881

Wohnort: L.E.

Beruf: KiN im Betriebsdienst

Rootserver vorhanden: Nein

  • Nachricht senden

9

Dienstag, 22. Februar 2011, 09:41

Es kommt es öfteren vor, dass neue Dateien nach einem Update vorhanden sind. Wenn die Symlinks nicht aufgefrischt werden kann es zu komischen Fehler kommen. Ich hatte z.B. mal das Problem, dass ich damals auf meinem Server bei de_nuke (Map kam neu raus) durch sämtliche Models laufen konnte. Die neuen Models fehlten bei den verlinkten Servern. Mittels des Kopierbefehls habe ich dann eben die Symlinks meiner Server aufgefrischt. Große Game-Server-Provider machen es auch so. Mittlerweile habe ich das auf meinem Root seit fast 2 Jahren vollständig automatisiert (Update um 23-8 uhr morgens stündlich, Links neu auffrischen und ein gemeinsamer Mappool mit automatischer komprimierung für den Fastdownload).

Wenn man sich erstmal eingearbeitet hat, ist es hinterher ein Kinderspiel die Server up-to-date zu halten. Während andere jeden Server einzeln updaten und mit Verbindungsabbrüchen zu kämpfen haben, musst du nur einen Server updaten. Wenn es verschiedene Mods sein sollen, ist auch das kein Problem. Es ist die gleiche vorgehensweise. Der positive Nebeneffekt ist auch, dass bei einem Update zwar z.B. die gameinfo.tx t immer neu heruntergeladen wird, aber die Datei (kein Symlink) bei den verlinkten Servern bleibt unverändert. So bleibt auch das abändern der gameinfo.txt (falls Metamod erwünscht ist) nach jedem Update aus.
So habe ich es jetzt auch gemacht mit den Symlinks - das ist gar nicht mal so verkehrt :thumbsup: . In Verbindung mit dem Startscript für mehrere Server einfach genial. Aber eine Frage Quält mich dann doch: Meine Server sind so eingestellt, das jeden morgen 6 Uhr ein Restart durchgeführt wird. Nun möchte ich aber das er prüft ob neue Updates zur Verfügung stehen (./steam -command update -game cstrike -dir /home/meinverzeichnis/hauptserver) und hinterher die Symlinks aktualisiert werden. Wie mach ich das? Erst auf Update überprüfen, dann Symlinks aktualisieren und dann den Restart? Oder doch lieber Server stoppen, Update, Symlinks aktualisieren und dann wieder starten?
24/7 Teamspeak³ Server:


Linux is like a wigwam → No windows. No gates. Apache inside.

1. Frage des Admin: was wurde vorher verändert?
2. Antwort des Users: nichts
3. Frage des Admin: was wurde verändert, bevor NICHTS verändert wurde?

Ene mene muh gebasht wirst du,
ene mene miste headOr durch die Kiste,
ene mene meck kaum siehste mich schon fliegste weg :D

DeaD_EyE

Administrator

Beiträge: 3 980

Wohnort: Hagen

Beruf: Mechatroniker (didaktische Systeme)

Rootserver vorhanden: Nein

  • Nachricht senden

10

Dienstag, 22. Februar 2011, 10:48

Das wird dann etwas komplizierter.

Du kannst den srcdsupdatecheck von nemrun einsetzen. Diese dann per Chmod ausführbar machen
Dann folgenden Code anpassen (ungetestet):

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/bin/bash
servers="server1 server2 server3 server4"
serversrestart="server_blubb1 server2 server4 usw"
serverfiles=~/serverfiles/css
serverdir=~/da/sind/deine/server/
startscript=/pafd/zu/run.sh

update_server() {
    ./steam -command update -game "Counter-Strike Source" -dir $1
    }

update_symlinks() {
    for server in $3; do
        cp -rs $1/* $2/$server/ &> /dev/null
    done
    }

restart_servers() {
    for server in $2; do
        $1 restart $server
    done
    }
 

if ! ( ./srcupdatecheck ~/serverfiles/css/orangebox/cstrike/steam.inf | grep -q '^Got three non-rejected queries, UP TO DATE!' ); then
    update_server "$serverfiles"
    update_symlinks "$serverfiles" "$serverdir" "$servers"
    restart_servers "$startscript" "$serversrestart" 
fi


Wenn der Server aktuell ist, wird durch srcdsupdatecheck "Got three non-rejected queries, UP TO DATE!" ausgegeben. Mit dem if-Statement wird das Pythonscript gestartet und mittels grep der Text in der Ausgabe gesucht. Das ganze wird negiert. D.h. wenn die Meldung nicht kommt, wird der if-Block ausgeführt.

Der Rest besteht aus Funktionen, die den Aufruf im eigentlichen if-Block übersichtlicher gestalten soll. Ich habe die Funktionen so geschrieben, dass die Variablen an die Funktion übergeben werden müssen und keine globalen Variablen aus der Funktion heraus aufgerufen werden.

Beiträge: 881

Wohnort: L.E.

Beruf: KiN im Betriebsdienst

Rootserver vorhanden: Nein

  • Nachricht senden

11

Dienstag, 22. Februar 2011, 19:54

Mhhhh,

ich dachte das geht auch einfacher per Cron? Ich schreib mal wie ich mir das gedacht hatte und auch die Zeiten der Crons:

0 6 * * * /home/meinnutzer/hauptserver && ./steam -command -update -game cstrike -dir /home/meinnutzer/hauptserver/ - retry
5 6 * * * /cp -sR /home/meinnutzer/haupterserver/* /home/meinnutzer/public1 >/dev/null
5 6 * * * /cp -sR /home/meinnutzer/haupterserver/* /home/meinnutzer/public2 >/dev/null
5 6 * * * /cp -sR /home/meinnutzer/haupterserver/* /home/meinnutzer/war1 >/dev/null
8 6 * * * /home/srcds/run.sh restart 27015 27025 war1 >/dev/null

Ich setze das Startscript von Dir ein Version 1.2.5. Und über die Funktion -autoupdate kann man da gar nix machen??

Meine Verzeichnisstruktur sieht so aus:
/home/meinnutzer/
/hauptserver (Installation)
/public1 (Symlinks)
/public2 (Symlinks)
/war1 (Symlinks)

Mir wäre es einfacher, wenn der restartet, und über die -autoupdatefunktion sich aktuell hält. Vielleicht hast ja noch nen Tipp für mich :bestteam:
24/7 Teamspeak³ Server:


Linux is like a wigwam → No windows. No gates. Apache inside.

1. Frage des Admin: was wurde vorher verändert?
2. Antwort des Users: nichts
3. Frage des Admin: was wurde verändert, bevor NICHTS verändert wurde?

Ene mene muh gebasht wirst du,
ene mene miste headOr durch die Kiste,
ene mene meck kaum siehste mich schon fliegste weg :D

DeaD_EyE

Administrator

Beiträge: 3 980

Wohnort: Hagen

Beruf: Mechatroniker (didaktische Systeme)

Rootserver vorhanden: Nein

  • Nachricht senden

12

Dienstag, 22. Februar 2011, 23:04

Ja, kann man nutzen. Wenn du keine Symlinks einsetzt, kannst du -autoupdate verwenden.

Das andere Script, welches ich gepostet habe, überprüft ob ein Update da ist und falls ja, wird dieses gemacht und nach dem Update werden die Server neugestartet.

Da das Script dann öfters ausgeführt werden kann, ist dein Server immer Topaktuell und nach jedem "Required Update" gut gefüllt.

13

Mittwoch, 23. Februar 2011, 00:55

Wenn man die "steam" nicht im Serververzeichnis hat, kann man auch bei symlinks autoupdate nutzen.
Ein Update wird zwar nicht vorgenommen. Aber der Server startet neu bei nem Crash.
Webbasierender Config Ersteller: www.ulrich-block.de für CS 1.6, CSS, DODS und TF2.

Ebenso wird werden verschiedene Debian Gameserverkernel zum Download angeboten.

Beiträge: 881

Wohnort: L.E.

Beruf: KiN im Betriebsdienst

Rootserver vorhanden: Nein

  • Nachricht senden

14

Mittwoch, 23. Februar 2011, 09:30

Ja, kann man nutzen. Wenn du keine Symlinks einsetzt, kannst du -autoupdate verwenden.

Das andere Script, welches ich gepostet habe, überprüft ob ein Update da ist und falls ja, wird dieses gemacht und nach dem Update werden die Server neugestartet.

Da das Script dann öfters ausgeführt werden kann, ist dein Server immer Topaktuell und nach jedem "Required Update" gut gefüllt.

Ich seh mit dem Script und dem Code den Du mir gepostet hast gerade mal überhaupt nicht durch ?( Oder ich bin noch nicht richtig wach. Ich hatte gestern abend das Update mitbekommen, heute morgen waren die Server nicht erreichbar und nachdem ich den Hauptserver geupdatet hatte, waren die Server wieder erreichbar. Seltsam. Kein Restart gemacht.

Mit den Crons ist sehr umständlich, da man ja auch nie weiß, wie lange so ein Update dauert. Von daher wäre das Script schon net schlecht.
24/7 Teamspeak³ Server:


Linux is like a wigwam → No windows. No gates. Apache inside.

1. Frage des Admin: was wurde vorher verändert?
2. Antwort des Users: nichts
3. Frage des Admin: was wurde verändert, bevor NICHTS verändert wurde?

Ene mene muh gebasht wirst du,
ene mene miste headOr durch die Kiste,
ene mene meck kaum siehste mich schon fliegste weg :D

DeaD_EyE

Administrator

Beiträge: 3 980

Wohnort: Hagen

Beruf: Mechatroniker (didaktische Systeme)

Rootserver vorhanden: Nein

  • Nachricht senden

15

Mittwoch, 23. Februar 2011, 21:17

Das ist eigentlich Sinn des Scripts. Es kann per Cron z.B. alle 5 -17 Minuten gestartet werden. Ein Update erfolgt nur, wenn srcdsupdatecheck sagt, dass der Server nicht up-to-date ist. Zusätzlich können nach erfolgtem Update wie im Beispiel die Symlinks aktualisiert und danach die Server restartet werden.

Ich glaube du hast den Sinn und Zweck von srcdsupdatecheck nicht ganz verstanden.

Lade dir das Script mal runter, mach es ausführbar und starte es mit ./srcdsupdatecheck ~/masterserver/css/orangebox/cstrike/steam.inf

So sieht die Ausgabe aus:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
server@deadeye:~/downloads$ ./srcupdatecheck ../serverfiles/css/orangebox/cstrike/steam.inf
Found patch version: 1.0.0.59, game: cstrike, appid: 240
[1] Requesting challenge
[1] Got challenge, sending registration
[1] - No response
[2] Requesting challenge
[2] - Timed out contacting server
[3] Requesting challenge
[3] Got challenge, sending registration
[3] - No response
[4] Requesting challenge
[4] Got challenge, sending registration
[4] - No response
Got three non-rejected queries, UP TO DATE!

Beiträge: 881

Wohnort: L.E.

Beruf: KiN im Betriebsdienst

Rootserver vorhanden: Nein

  • Nachricht senden

16

Donnerstag, 24. Februar 2011, 10:32

Jetzt verstehe ich ... also war ich doch noch net wach ;)

Wenn ich das Script ausführe, bekomme ich folgende Fehlermeldung:

PHP-Quelltext

1
2
3
4
5
6
server@xxxxxxxx:~$ ./srcdsupdatecheck ../hauptserver/orangebox/cstrike/steam.inf
File "./srcdsupdatecheck"line 96
print "[%i] Error: No port could be bound to. If you're running > 10 daemons from this IP, you may need to modify the script to try more ports. Otherwise, this is likely an error - contact [email]Nephyrin@DoubleZen.net[/email]
^
SyntaxError: EOL while scanning single-quoted string
server@xxxxxxxx:~$
24/7 Teamspeak³ Server:


Linux is like a wigwam → No windows. No gates. Apache inside.

1. Frage des Admin: was wurde vorher verändert?
2. Antwort des Users: nichts
3. Frage des Admin: was wurde verändert, bevor NICHTS verändert wurde?

Ene mene muh gebasht wirst du,
ene mene miste headOr durch die Kiste,
ene mene meck kaum siehste mich schon fliegste weg :D

Beiträge: 881

Wohnort: L.E.

Beruf: KiN im Betriebsdienst

Rootserver vorhanden: Nein

  • Nachricht senden

17

Samstag, 26. Februar 2011, 08:52

OK, habe den Fehler gefunden. Hatte das Script aus dem Browser herauskopiert und in nano eingefügt. Da hatte sich dann ein kleiner Fehler eingeschlichen. Nachdem ich das Script per wget gezogen hatte, funktionierte es.
24/7 Teamspeak³ Server:


Linux is like a wigwam → No windows. No gates. Apache inside.

1. Frage des Admin: was wurde vorher verändert?
2. Antwort des Users: nichts
3. Frage des Admin: was wurde verändert, bevor NICHTS verändert wurde?

Ene mene muh gebasht wirst du,
ene mene miste headOr durch die Kiste,
ene mene meck kaum siehste mich schon fliegste weg :D

klappflapp

unregistriert

18

Samstag, 26. Februar 2011, 21:02

Hi, estmal danke für die Topic hier, hatte das selbe Problem.
Eine frage hab ich noch zu dem Script:

Was soll hier

Quellcode

1
serversrestart="server_blubb1 server2 server4 usw"


reingeschrieben werden bzw was hat das für ein Nutzen?

Mfg, klappflapp

Koffein

Fortgeschrittener

Beiträge: 353

Rootserver vorhanden: Nein

  • Nachricht senden

19

Samstag, 26. Februar 2011, 21:24

Wenn ich das jetzt richtig herausgelesen habe steht es in Verbindung mit dem srcdsupdatecheck.
Wenn dieser festställt die Server müssen upgedated werden, lädt dieser die Dateien herunter und startet anschließend die Server neu,
die in dem "serverrestart=" drinne stehen.

Das für die Restarts nicht einfach die normalen "servers" genommen werden liegt denke ich daran,
das man mit Syslinks arbeitet und der "Hauptserver" ja nicht neugestartet, bzw gestartet werden muss.
Habe das Thema bis jetzt nicht so verfolgt, sollte meine Aussage falsch sein, bitte korriegieren! ;)

Beiträge: 881

Wohnort: L.E.

Beruf: KiN im Betriebsdienst

Rootserver vorhanden: Nein

  • Nachricht senden

20

Sonntag, 27. Februar 2011, 11:31

Richtig,

das Script wird noch vor dem srcdsupdatecheck ausgeführt. Aber tröste Dich ich hab auch noch Probleme mit server1_blubb und so weiter. Hab im Moment noch einiges anderes um die Ohren. Aber nächste Woche sollte ich es dann mal hinbekommen.
24/7 Teamspeak³ Server:


Linux is like a wigwam → No windows. No gates. Apache inside.

1. Frage des Admin: was wurde vorher verändert?
2. Antwort des Users: nichts
3. Frage des Admin: was wurde verändert, bevor NICHTS verändert wurde?

Ene mene muh gebasht wirst du,
ene mene miste headOr durch die Kiste,
ene mene meck kaum siehste mich schon fliegste weg :D