ET Server Installation

Press Alt+F4 for porn!
Antworten
Benutzeravatar
Captain
Major General
Major General
Beiträge: 18373
Registriert: So 02 Jan, 2005 19:50
Wohnort: Stuttgart

ET Server Installation

Beitrag von Captain »

ET

Als erstes solltet ihr einen eigenen Benutzer anlegen, ich habe meinen ET genannt. Unter diesem Benutzer dann einloggen und erstmal ET herunterladen:

et-linux-2.56-2.x86.run
Einfach nach diesem File suchen und herunterladen.

Danach die Datei ausführbar machen:

Code: Alles auswählen

chmod 777 et-linux-2.55.x86.run
xhost +
und installieren

Code: Alles auswählen

sh ./et-linux-2.56-2.x86.run
Danach ist Et standardmässig nach /usr/et/ installiert.
Den Pfad könnt ihr bei der Installation anpassen, ich installiere die Gameserver lieber in das Homeverzeichnis des jeweiligen Benutzers, da ich dann eine bessere Übersicht habe...

So jetzt die Config ändern.

Code: Alles auswählen

vi /usr/et/etmain/server.cfg
Die wichtigsten Sachen sind in Kommentare gepackt und hier im Forum ist auch schon eine Beispielkonfig.
Die Grundsachen sind halt Max Players, Hostname, MOTD, RCon PW.

Danach kann man einen ersten Test fahren ob alles richtig installiert ist

Code: Alles auswählen

./etded +set fs_basepath ./ +set com_zoneMegs 32 +set com_hunkMegs 96 +set vm_game 2 +set vm_cgame 2 +set vm_ui 2 +set dedicated 2  +set fs_game etmain +set public 1 +set net_port 27960 +exec server.cfg
Daraufhin sollte der Server starten und ihr könnt einmal Status eintippen woraufhin der Server euch einige Infos gibt.

Das alles könnt ihr in ein Shellscript packen, damit ihr nicht alles bei jedem Start eintippen müsst.

Da der ET Server mittlerweile sehr stabil ist braucht man eigentlich keinen Cron Job der jedes mal den Status abfragt.

So das wars, ich hoffe ich hab ein bißchen geholfen.
Benutzeravatar
Captain
Major General
Major General
Beiträge: 18373
Registriert: So 02 Jan, 2005 19:50
Wohnort: Stuttgart

Beitrag von Captain »

StartUp Scripte

Dieses Script ist dafür da, dass der Server auch nach einem Rechner-Reboot wieder startet.

Dazu erstellst du eine Datei namens "/usr/local/bin/etded.sh" mit folgendem Inhalt:
#!/bin/sh

# the chroot 'root' directory where your game server is installed
SERVER_ROOT=/usr/local/enemy-territory

# additional options that should be passed to the game server command line
# for example, "+exec server.cfg +set net_ip 127.0.0.1"
SERVER_OPTIONS="+exec server.cfg"

# the location of a file that the PID of the running server should be written
# to by this script
SERVER_PIDFILE=/var/run/etded.pid

# the FULL PATH to the server binary. this is used by /sbin/pidof in
# determining if the server is running.
SERVER_BIN=/usr/local/enemy-territory/enemy-territory/etded.x86

# the username for the account that the server should be run as
SERVER_USER=et

# the location of a file that the PID of this script should be stored in
PIDFILE=/var/run/etded.sh.pid;


echo $$ > $PIDFILE;
while [ 1 ]; do
if [ ! $(pidof $SERVER_BIN) ]; then
screen -d -m chroot $SERVER_ROOT su - \
$SERVER_USER $SERVER_OPTIONS
sleep 1
if [ ! $(pidof $SERVER_BIN) ]; then
echo "\
Could not find a PID for ${SERVER_BIN}!
If etded.x86 is actually running, update ${0}
so that it can properly detect the PID of ${SERVER_BIN}."
rm $PIDFILE
exit;
fi
echo `pidof $SERVER_BIN` > $SERVER_PIDFILE
fi
sleep 30;
done;
Diese Datei musst du je nach Bedarf noch anpassen. Anschließend muss sie ausführbar gemacht werden:
chmod a+x etded.sh
Nun noch ein 2. Script. Dies sollte dort Platziert werden, wo in deiner Distribution die rc-Dateien liegen.
z.B.: "/etc/rc.d/init.d/rc.etded"
#!/bin/sh

SERVER_BIN=/usr/local/enemy-territory/enemy-territory/etded.x86
SERVER_PIDFILE=/var/run/etded.pid
SCRIPT_PIDFILE=/var/run/etded.sh.pid
SCRIPT_PATH=/usr/local/bin/etded.sh

etded_start() {
$SCRIPT_PATH &
}

etded_stop() {
if [ -r $SCRIPT_PIDFILE ]; then
kill `cat $SCRIPT_PIDFILE`
rm $SCRIPT_PIDFILE
fi
if [ -r $SERVER_PIDFILE ]; then
kill `cat $SERVER_PIDFILE`
rm $SERVER_PIDFILE
else
killall $SERVER_BIN
fi
}

etded_restart() {
etded_stop
sleep 3
etded_start
}

case "$1" in
'start')
etded_start
;;
'stop')
etded_stop
;;
'restart')
etded_restart
;;
*)
echo "usage $0 start|stop|restart"
esac
Nun musst du nur noch sicherstellen, dass folgendes Kommando ausgeführt wird, wenn dein Rechner startet:
/etc/rc.d/init.d/rc.etded start
Das geht z.B. durch platzieren des Kommandos in /etc/rc.d/rc.local, kann sich jedoch je nach Distribution unterscheiden.

Das wars. Um etded zu starten gib einfach folgendes ein:
/etc/rc.d/init.d/rc.etded start
Zum beenden:
/etc/rc.d/init.d/rc.etded stop
Zum Neustarten
/etc/rc.d/init.d/rc.etded restart
Antworten