Startscript

Alles rund um das scripten und Server aufsetzen
Antworten
[RoN]Paddy
Jungspund
Jungspund
Beiträge: 11
Registriert: Sa 13. Jan 2007, 10:50

Startscript

Beitrag von [RoN]Paddy »

Und ich shcon wieder ........
Also diesmal ist mein problem ... wir ham 3 server einer ist mit einem startscript ausgestattet funktioniert wunderbar nur jetzt ham wir es nicht geschafft die anderen 2 auch mit einem auszustatten selbst guter anleitungen ham wir es nicht fertig gebracht ....
nun könnte mir vllt. jemand einen erstellen ???
Server 1
85.25.147.99:27961
/home/enemyterritoryomnibot/
Server 2
85.25.147.99:27962
/home/etserver2/


läuft unter linux ....
Zuletzt geändert von [RoN]Paddy am Sa 3. Feb 2007, 09:08, insgesamt 1-mal geändert.
Benutzeravatar
WoodSTokk
Helpdesk
Helpdesk
Beiträge: 2634
Registriert: Fr 6. Dez 2002, 03:09
Wohnort: Wien/Österreich/Europa/Erde
Alter: 53

Beitrag von WoodSTokk »

An der IP sehe ich, das alle Server auf dem selben Host laufen.
Mich wundert nur, daß du ET mehrmals installiert hast.
Normalerweise installiert sich ET unter '/usr/local/games/enemy-territory/'.
Darin liegen die Basisdateien für ET.
Auch wenn du mehrere ET-Server starten willst, reicht die eine Installation.
Im Home-Verzeichnis des Users der ET startet (egal ob Client oder Server) wird ein verstecktes Verzeichnis abgelegt mit dem Namen '.etwolf'.
Der Server schreibt seine Logs per default immer in dieses versteckte Verzeichnis des Users der ihn gestartet hat.
Damit sich also mehrere Server nicht um die Dateien streiten, musst du nur jeden Server unter einem anderen User starten.
Durch diese Maßnahme gibt es auch kein Problem mit den Config-Dateien.

Angenommen du installiert ET als 'root' ganz nurmal, dann liegt ET (die Basis-Dateien) unter:

Code: Alles auswählen

/usr/local/games/enemy-territory/
Dann erstellst du 3 User: etserver1 , etserver2 , etserver3
Dadurch erhältst du drei Verzeichnisse:

Code: Alles auswählen

/home/etserver1
/home/etserver2
/home/etserver3
Dann wechselst du deine Identität zu 'etserver1' und gehst in dein Home-Verzeichnis (vom User):

Code: Alles auswählen

su etserver1
cd
Dort erstellst du das Verzeichnis '.etwolf' und darin das Verzeichnis 'etmain':

Code: Alles auswählen

mkdir .etwolf/etmain
Wenn du auch Mods laufen lassen willst, wird der Original-Mod bei den Basis-Dateien installiert.
Angenommen du willst ETpro laufen lassen (auch wenn es nur auf einen der drei Server läuft), dann installiert du ETpro als 'root' in '/usr/local/games/enemy-territory/'.
Danach erstellst du als User 'etserver1' im Verzeichnis '/home/etserver1/.etwolf/' das Verzeichnis 'etpro'.

Im ET-Verzeichnis liegen im 'etmain'-Verzeichnis einige Beispiel-Dateien für einen Server.
Diese kopierst du als User 'etserver1' in dein privates 'etmain'-Verzeichnis.

Code: Alles auswählen

cd /usr/local/games/enemy-territory/etmain
cp *.cfg ~/.etwolf/etmain/
Wenn du auch einen Mod hast wie ETpro, machst du das auch für die Mods (die Liefern auch Beispiele mit).

Code: Alles auswählen

cd /usr/local/games/enemy-territory/etpro
cp *.cfg ~/.etwolf/etpro/
Nun sind alle Dateien vorhanden damit User 'etserver1' seinen Server einstellen kann wie er will.
Damit es auch die anderen können, musst du nur als User 'root' den '.etwolf'-Baum kopieren und den anderen Usern schenken.

User-Modus verlassen: Jetzt solltest du wieder 'root' sein.
Ins Verzeichnis wechseln:

Code: Alles auswählen

cd /home/etserver1
Nun den gesamten '.etwolf'-Baum kopieren.

Code: Alles auswählen

cp -R .etwolf /home/etserver2/
Nun schenken wir dem User 'etserver2' den gesamten Baum:

Code: Alles auswählen

chown -R etserver2 /home/etserver2/.etwolf
Das kopieren und schenken des gesamten Baumes machst du dann noch für den User 'etserver3'.

Nun hat jeder User seine eigenen Configs und kann den Server nach seinen beliegen einstellen und starten.
Wenn du mal eine Costum-Map auf den Server legen willst, legst du diese als 'root' zu den Basis-Dateien. Dadurch können automatisch alle 3 Server diese Map laden.
Bevor du einen Server startest, musst du nur deine Identität ändern mit dem Befehl 'su'.

Vorteile:
Du musst ET nur einmal installieren.
Jeder hat seine eigenen Configs.
Kein Server läuft mit 'root'-Rechten.
Bei der Prozessverfolgung in der 'shell' kannst du die Prozesse anhand der User unterscheiden.

Beispiel zum starten mit User 'etserver1':

Code: Alles auswählen

su etserver1
/usr/local/games/enemy-territory/etded.x86 +set com_hunkmegs 32 +set ttycon 0 +set sv_punkbuster 1 +exec server.cfg
exit
Das 'exit' am Ende ist nur damit du den User-Modus wieder verlässt.

Ich hoffe ich hab dir einige positive Denkanstösse geben können ;)

mfG WoodSTokk

PS: Was für ein System läuft auf dem Server?
Du scheisst es nicht zu wetzen
Testserver: @peStable (95.129.206.243:27960)
Antworten