Sie sind nicht angemeldet.

1

Sonntag, 28. Juni 2009, 16:30

Debian auf Lenny ge-upgradet

Hallo Jungs,

ich habe gestern mal meine beiden Debian Server auf Lenny ge-upgradet und nja jetzt habe ich eine kleines Problem....

Ich benutze ein Shell Startscript mit screen das habe ich mal im Internet gefunden.
Nun ja mit lenny habe ich jetzt folgendes Problem. wenn ich das startscript für die Gameserver stoppen will kommen alle Screen sessions die grade laufen.

hier mal ein der eintrag vom Putty..

Quellcode

1
2
3
4
5
6
7
8
Stopping gmp-server: gmp-hl2server
There are several suitable screens on:
        3757.gmp-hl2server      (06/27/09 17:38:34)     (Detached)
        3516.csscoldserver      (06/27/09 17:07:46)     (Detached)
        3032.cssaceserver       (06/27/09 17:00:47)     (Detached)
        1521.copwarserver       (06/26/09 11:27:45)     (Detached)
        1463.csscopserver       (06/26/09 11:27:15)     (Detached)
Use -S to specify a session.



Hier ist mal mein Startscript..

Spoiler Spoiler

#! /bin/bash
#
# Start the Half-Life2 DM dedicated server
#
# AUTHORS :
#
# Julien Escario ( <!-- e --><a href="mailto:pandemik@azilog.net">pandemik@azilog.net</a><!-- e --> )
# &
# Cedric Rochat ( <!-- e --><a href="mailto:crochat@younics.org">crochat@younics.org</a><!-- e --> )
# &
# Cmdr._Firewalker ( <!-- e --><a href="mailto:cmdr._firewalker@web.de">cmdr._firewalker@web.de</a><!-- e --> )
#
# ===========================================
#
# What you need:
#
# Linux :)
# awk
# screen
# the srcds_l & cstrike files (obtainable via steam)
#
# How to use:
#
# Edit the CS_USER-Var to the user running your cs-servers
# Edit the DIR-Var to fit your system (just contains the path to the dir that contains srcds_run)
# Edit the PARAMS-Var to fit your needs
# - standard is startup as internet server
# if you use multiple scripts on one system you should change the NAME-var (otherwise
# all will be stopped if you run the script with "stop", and status will be useless)
#
# When this is done, copy the file to /etc/rc.d/init.d (or whereever your system stores the
# scripts for starting the services) and set the execute permission.
# Now you can link the script to your runlevel-dir, here's an example for runlevel 3:
# ln -s /etc/rc.d/init.d/srcds /etc/rc.d/rc3.d/S90srcds
# ln -s /etc/rc.d/init.d/srcds /etc/rc.d/rc3.d/K50srcds
# or use update-rc.d if you got a system using that tool (like Debian, see manpage)
#
# Or use it manually like:
# ./srcds start
# ./srcds stop
#
# To see the server-console start the script with the parameter "watch".
#
# DOC by jwm (jwm@counter-strike.de)

# !!!!!!!!!!!!!! CHANGE THIS TO THE USER YOU USE FOR YOUR SERVER !!!!!!!!!!!!!!!
CS_USER=bfp-clan

PATH=/bin:/usr/bin:/sbin:/usr/sbin

# # DON'T FORGET TO CHANGE THE PATH TO YOUR NEEDS!
DIR=/home/hlds/gmphl2mp

DAEMON=srcds_run

# LAN server:
# PARAMS="-game cstrike -nomaster -insecure +sv_lan 1 +maxplayers 24 +map de_dust"
# Internet server:
PARAMS="-game hl2mp +maxplayers 12 +map dm_lockdown -ip 78.46.249.42 -autoupdate -port 37015 rcon_port 27017 -tickrate 66 -secure"

NAME=gmp-hl2server
DESC="gmp-server"

# No edits (should be) necessary beyond this line

if [ ! -x `which awk` ]; then echo "You need awk for this script"; exit 1; fi
if [ ! -x `which screen` ]; then echo "You need screen (the program, moron!) for this script"; exit 1; fi

if [ `whoami` = root ]
then
usagetype=root
else
usagetype=nonroot
fi

start() {
if [ ! -d $DIR ]; then echo " ... No such directory: $DIR!"; exit 1; fi
if [ ! -x $DIR/$DAEMON ]; then echo "$DIR/$DAEMON does not exist or is not executable!"; exit 1; fi
if status; then echo " ... $DESC: $NAME läuft bereits!"; exit 1; fi

case "$usagetype" in
root)
su - $CS_USER -c "cd $DIR ; screen -AmdS $NAME ./$DAEMON $PARAMS"
;;
nonroot)
cd $DIR ; screen -AmdS $NAME ./$DAEMON $PARAMS
;;
esac

}

stop () {
if ! status; then echo " ... $DESC $NAME läuft nicht, bitte erst starten dann kann er gestoppt werden."; exit 1; fi

case "$usagetype" in
root)
tmp=$(su - $CS_USER -c "screen -ls" | awk -F . "\$2 ~ /^$NAME[[:space:]].*/ {print \$1}" | awk '{print $1}')
su - $CS_USER -c "screen -r $tmp -X quit"
;;
nonroot)
screen -r $(screen -ls | awk -F . "\$2 ~ /^$NAME[[:space:]].*/ {print \$1}" | awk '{print $1}') -X quit
;;
esac
}

status () {
case "$usagetype" in
root)
su - $CS_USER -c "screen -ls" | grep [.]$NAME[[:space:]] > /dev/null
;;
nonroot)
screen -ls | grep [.]$NAME[[:space:]] > /dev/null
;;
esac
}

watch () {
if ! status; then echo "$DESC $NAME läuft nicht, erst Starten dann können sie watch ausführen."; exit 1; fi

case "$usagetype" in
root)
tmp=$(su - $CS_USER -c "screen -ls" | awk -F . "\$2 ~ /^$NAME[[:space:]].*/ {print \$1}" | awk '{print $1}')
su - $CS_USER -c "screen -r $tmp"
;;
nonroot)
screen -r $(screen -ls | awk -F . "\$2 ~ /^$NAME[[:space:]].*/ {print \$1}" | awk '{print $1}')
;;
esac
}

case "$1" in
start)
echo "Starting $DESC: $NAME"
start
echo " ... Fertig."
;;

stop)
echo "Stopping $DESC: $NAME"
stop
echo " ... Fertig."
;;

restart)
echo "Restarting $DESC: $NAME"
status && stop
start
echo " ... Fertig."
;;

status)
if status
then echo "$DESC: $NAME ist ONLINE"
else echo "$DESC: $NAME ist OFFLINE"
fi
;;
watch)
watch
;;

*)
echo "Usage: $0 {start|stop|status|restart|watch}\nWhile watching press ctrl-a, ctrl-d to stop watching without stopping the server."
exit 1
;;

esac


exit 0


Mein Problem ist ich kenne micht nicht so gut aus mit shellcripte bzw wie man die umschreibt.

Offensichtlich wurde mit lenny auch eine neue Version von screen veröffentlicht..

wenn ich z.b. in Putty das hier ausgeführt habe..

./startscriptvomGS watch dann bin ich direkt in die Gameserver Console gekommen..
Aber das funktioniert auch nicht mehr..

da kommen auch nur noch die ganzen screen sessions so wie hier.

Quellcode

1
2
3
4
5
6
7
There are several suitable screens on:
        3757.gmp-hl2server      (06/27/09 17:38:34)     (Detached)
        3516.csscoldserver      (06/27/09 17:07:46)     (Detached)
        3032.cssaceserver       (06/27/09 17:00:47)     (Detached)
        1521.copwarserver       (06/26/09 11:27:45)     (Detached)
        1463.csscopserver       (06/26/09 11:27:15)     (Detached)
Use -S to specify a session.

Könnt ihr hier mir vllt. eure Lösungen Posten..

Gruß

Manemm

P.S. Ähm wollte hier im Forum den eintrag von putty und das Startscript in ein Code fenster machen aber offensichtlich funktioniert das hier nicht..
&quot;Ich möchte Windows kaufen.&quot;
&quot;Sind Sie verrückt?&quot;
&quot;Gehört das zu den Lizenzbedingungen?&quot;
&quot;Ja lesen sie denn das Kleingedruckte nie?&quot;

2

Montag, 29. Juni 2009, 15:05

Re: Debian auf Lenny ge-upgradet

mh also ich kann dir jetzt auf den ersten blick nicht sagen was genau das problem ist, screen selber verhält sich aber genauso wie es soll.. scheint mir eher so als ob sich da bei awk was geändert hätte oder so...

DeaD_EyE

Administrator

Beiträge: 3 980

Wohnort: Hagen

Beruf: Mechatroniker (didaktische Systeme)

Rootserver vorhanden: Nein

  • Nachricht senden

3

Montag, 29. Juni 2009, 16:04

Re: Debian auf Lenny ge-upgradet

Das Script gefällt mir. Ich schau mir das mal auf meinem Root an, vielleicht entdecke ich den Fehler.
Ansonsten könntest du vorübergehend unser Script nutzen: http://sourceserver.info/wiki/installation/dedicated_server_standalone/script#linux">wiki/installation/dedicated_server_standalone/script#linux<

4

Montag, 29. Juni 2009, 18:45

Re: Debian auf Lenny ge-upgradet

Ja kein Problem Dead Eye,

kannste gerne verwenden.

Teste es mal bei dir und sag mir evtl ob es bei dir auch so ist..

Äh ja ich bin ja nicht von gestern kann die Server auch ohne script starten und und stoppen..
Das Problem ist nur das Script da es ja immer Tadellos gefunzt hat. Und es ist auch ziemlich Praktisch / Vor allem der Watch befehl..

Zumindest hat das Script noch ordentlich bei Etch gefunzt.. bei lenny tut es das nicht mehr warum auch immer.


Danke an den der das Script in ein eigenes Code/Config Fenseter kopiert hat... bei mir hats nicht funktioniert.. habs aber schon ein paar mal verwendet hier.
&quot;Ich möchte Windows kaufen.&quot;
&quot;Sind Sie verrückt?&quot;
&quot;Gehört das zu den Lizenzbedingungen?&quot;
&quot;Ja lesen sie denn das Kleingedruckte nie?&quot;

5

Donnerstag, 2. Juli 2009, 18:42

Re: Debian auf Lenny ge-upgradet

Hey DeadEye,

und hast du den Fehler schon gefunden??
&quot;Ich möchte Windows kaufen.&quot;
&quot;Sind Sie verrückt?&quot;
&quot;Gehört das zu den Lizenzbedingungen?&quot;
&quot;Ja lesen sie denn das Kleingedruckte nie?&quot;

hEiNz

Profi

Beiträge: 705

Wohnort: Deutschland

Beruf: Freischaffender Künstler

Rootserver vorhanden: Nein

  • Nachricht senden

6

Freitag, 3. Juli 2009, 13:57

Re: Debian auf Lenny ge-upgradet

also bei mir funktioniert es....
habs mit nem css server getestet bigri

unter ubuntu big-lol

kam aber ne fehlermeldung bei mir

Quellcode

1
2
sh-3.2$ ./startscript.sh watch
Cannot open your terminal '/dev/pts/0' - please check.


wenn ich die chmod rechte geb... gehts

warum muss das so sein kenn mich auch nicht so mit den scripten aus

DeaD_EyE

Administrator

Beiträge: 3 980

Wohnort: Hagen

Beruf: Mechatroniker (didaktische Systeme)

Rootserver vorhanden: Nein

  • Nachricht senden

7

Sonntag, 5. Juli 2009, 20:59

Re: Debian auf Lenny ge-upgradet

Ja, das liegt daran, dass du als root oder anderer User die SSH-Verbindung aufgebaut hast. Das Terminal gehört dann in dieser Session dem anderen User. Durch das ändern der Zugriffsrechte/Besitzer des aktuellen Terminals lässt sich das Terminal wieder nutzen. Ich weiß jetzt nicht genau wieso das so ist.

Mit dem Befehl tty kannst du das aktuelle Terminal ausgeben lassen.

Da ich selber zur Zeit Hardwareprobleme mit meinem Root habe, konnte ich das Script noch nicht testen.

hEiNz

Profi

Beiträge: 705

Wohnort: Deutschland

Beruf: Freischaffender Künstler

Rootserver vorhanden: Nein

  • Nachricht senden

8

Montag, 6. Juli 2009, 16:17

Re: Debian auf Lenny ge-upgradet

stimmt klingt einleutend

hab mich mit root angemeldet und mit su zu user geworden atak

naja weis jetzt bescheid

hätte es ja unter debian lenny getestet aber da es ein produktives system ist werde ich es lieber zu hause testen und mir nochmal nen lenny aufsetzen geht ja schnell xD

DeaD_EyE

Administrator

Beiträge: 3 980

Wohnort: Hagen

Beruf: Mechatroniker (didaktische Systeme)

Rootserver vorhanden: Nein

  • Nachricht senden

9

Montag, 6. Juli 2009, 16:56

Re: Debian auf Lenny ge-upgradet

Am einfachsten ist es den folgenden Befehl zu nutzen:

Quellcode

1
chmod 777 `tty`

hEiNz

Profi

Beiträge: 705

Wohnort: Deutschland

Beruf: Freischaffender Künstler

Rootserver vorhanden: Nein

  • Nachricht senden

10

Dienstag, 7. Juli 2009, 12:38

Re: Debian auf Lenny ge-upgradet

hatte ich auch gemacht das meinte ich mit den chmod

so setzt mir mal schnell nen lenny auf bigri

11

Dienstag, 7. Juli 2009, 18:40

Re: Debian auf Lenny ge-upgradet

Zitat von »"DeaD_EyE"«

Am einfachsten ist es den folgenden Befehl zu nutzen:

Quellcode

1
chmod 777 `tty`

das kann aber auch keine dauerhafte lösung sein...

DeaD_EyE

Administrator

Beiträge: 3 980

Wohnort: Hagen

Beruf: Mechatroniker (didaktische Systeme)

Rootserver vorhanden: Nein

  • Nachricht senden

12

Dienstag, 7. Juli 2009, 20:55

Re: Debian auf Lenny ge-upgradet

Wenn man seine Scripts als root ausführt, schon. Ansonsten kann Screen nicht verwendet werden.
So könnte man z.B. Zentral als Root Server für unterschiedliche User starten.
Ich hab schonmal ein Script gesehen, welches so arbeitet. Es hat aber nur einen User gegeben...

Was ist eigentlich, wenn einen Cronjob ausgeführt wird? Wird dann auch ein Terminal geöffnet?
Hab das noch nie probiert.

hEiNz

Profi

Beiträge: 705

Wohnort: Deutschland

Beruf: Freischaffender Künstler

Rootserver vorhanden: Nein

  • Nachricht senden

13

Mittwoch, 8. Juli 2009, 14:41

Re: Debian auf Lenny ge-upgradet

hmm!!!

man kannn ja auch ohne konsole einen befehl ausführen lassen per cron zb aufn vps ohne shell

wie will man das aber sehen ausser man kuckt sich die logs an welcher user gerade nen terminal geöffnet hat?

hEiNz

Profi

Beiträge: 705

Wohnort: Deutschland

Beruf: Freischaffender Künstler

Rootserver vorhanden: Nein

  • Nachricht senden

14

Mittwoch, 8. Juli 2009, 16:28

Re: Debian auf Lenny ge-upgradet

also bei mir gehts mit debian lenny 5.0.1 32 bit auch,grad ausprobiert

Quellcode

1
2
3
4
srcds@debian:~$ ./startscript.sh start
Starting css-server: css-hl2server
 ... Fertig.
srcds@debian:~$


watch befehl

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
srcds@debian:~$ ./startscript.sh watch
L 07/08/2009 - 16:25:38: server_cvar: "sv_stepsize" "18"
--------------------------------------------------------
sv_pure set to 1.
Note: Changes to sv_pure take effect when the next map is loaded.
--------------------------------------------------------
L 07/08/2009 - 16:25:38: server_cvar: "sv_contact" ""
Server logging enabled.
L 07/08/2009 - 16:25:38: Log file closed
Server logging data to file logs/L0708007.log
L 07/08/2009 - 16:25:38: Log file started (file "logs/L0708007.log") (game "") (version "3734")
Unknown command "sv_hltv"
L 07/08/2009 - 16:25:38: server_cvar: "sv_password" "***PROTECTED***"
couldn't exec banned_user.cfg
exec banned_ip.cfg: file size larger than 20MB.
couldn't exec ./mani_admin_plugin/defaults.cfg
couldn't exec
couldn't exec
couldn't exec
******     Executing mani_server.cfg      ******
L 07/08/2009 - 16:25:38: server_cvar: "mani_reserve_slots" "0"
****** Finished executing mani_server.cfg ******

15

Montag, 13. Juli 2009, 18:28

Re: Debian auf Lenny ge-upgradet

mmh also ich verfolge das hier von zeit zu zeit schon,

wenns bei dir Funktioniert warum gehts dann nicht bei mir das verstehe ich nicht..

Ich kann auf meinem HomeXen Server eine frisch neuinstallierte Debian 5.0 Lenny VM draufhauen und hab immer den Gleichen Fehler bei dem Startscript..
warum auch immer.. Habe auch mehrere Rootserver in Rechenzentren stehen und bei jeden ist es das gleiche.
&quot;Ich möchte Windows kaufen.&quot;
&quot;Sind Sie verrückt?&quot;
&quot;Gehört das zu den Lizenzbedingungen?&quot;
&quot;Ja lesen sie denn das Kleingedruckte nie?&quot;

16

Montag, 13. Juli 2009, 18:47

Re: Debian auf Lenny ge-upgradet

Achso ja hab ich ja ganz Vergessen äähm es funktioniert aber nur bei einem GS sobald man den zweiten Startet kann man bei beiden nicht mehr watch und stop anwenden deswegen hat es ja auch bei dir funktioniert HEinz.

Wenn man es ausführen will kommt das hier:

Spoiler Spoiler

hlds@Gameserver02:~$ serverstarting/cssgungame2 watch
There are several suitable screens on:
2626.cssgungame2 (07/13/2009 06:41:45 PM) (Detached)
2571.cssgungame (07/13/2009 06:40:38 PM) (Detached)
Type "screen [-d] -r [pid.]tty.host" to resume one of them.
&quot;Ich möchte Windows kaufen.&quot;
&quot;Sind Sie verrückt?&quot;
&quot;Gehört das zu den Lizenzbedingungen?&quot;
&quot;Ja lesen sie denn das Kleingedruckte nie?&quot;

hEiNz

Profi

Beiträge: 705

Wohnort: Deutschland

Beruf: Freischaffender Künstler

Rootserver vorhanden: Nein

  • Nachricht senden

17

Dienstag, 14. Juli 2009, 17:49

Re: Debian auf Lenny ge-upgradet

jenau das hatte ich auch

wollte nix sagen weil ich es erst später mitbekommen hab das du mehrer laufen hattest heul

18

Dienstag, 14. Juli 2009, 18:40

Re: Debian auf Lenny ge-upgradet

genau deswegen meinte ich ja, das muss was mit awk sein...
diese ausgabe die ihr da seht ist von screen, und die soll es auch machen. das script ruft screen -x au (das öffnet einen screen), da aber mehrere screens da sind gibt es euch ne message mit der liste aller screens. eigentlich wird diese ausgabe aber in dieses awk script gepiped und das filtert dann den namen des screen raus der gefragt ist, und zeigt den screen an. da genau das nicht mehr funktioniert, gehe ich mal davon aus, dass dieses awk script kaputt ist (oder evtl hat sich die genaue ausgabe von screen verändert, und das awk script greift nich mehr?), und deswegen nicht der richtige screen gefunden wird...
leider kann ich kein awk, sonst könnte ich da genaueres zu sagen...

19

Dienstag, 14. Juli 2009, 18:49

Re: Debian auf Lenny ge-upgradet

Hallo Gonzo,

Jetzt hat Geklappert in meinem Hirn right
ich versteh jetzt auch was du damit gemeint hast..

mmh.. muss ich micht vllt mal mit anderen Foren umschauen bzw einen neuen Thread eröffnen sobald ich aber was weis werde ich micht natürlcih hier sofort melden und das Ergebnis Posten.
&quot;Ich möchte Windows kaufen.&quot;
&quot;Sind Sie verrückt?&quot;
&quot;Gehört das zu den Lizenzbedingungen?&quot;
&quot;Ja lesen sie denn das Kleingedruckte nie?&quot;