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.

DeaD_EyE

Administrator

  • »DeaD_EyE« ist der Autor dieses Themas

Beiträge: 3 980

Wohnort: Hagen

Beruf: Mechatroniker (didaktische Systeme)

Rootserver vorhanden: Nein

  • Nachricht senden

1

Donnerstag, 9. August 2007, 23:43

[LINUX] Mapcycle prüfen

Ich hatte früher öfters Fehler in meinem Mapcycle und habe mich hinterher gewundert, warum es nicht mehr weiter ging. Kurz darauf habe ich mich entschlossen eine Überprüfung im meinem Script einzubauen. Leider war diese etwas umständlich und hat viel Zeit fürs überprüfen gebraucht. Bei 1000 Maps und 6 installierten Server kann das etwas länger dauern.

Mit dem Script was ich jetzt geschrieben habe, kann man den Mapcycle mit der Maplist vergleichen.

check_mapcycle.sh

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#!/bin/bash

function usage {
echo "$0 [maplist] [mapcyclefile]"
}

function check {
maplist=$1
mapcycle=$2
for map in $(cat $mapcycle); do
grep -q "$map$" $maplist; if [ $? = 1 ]; then echo "Wrong Map: $map"; fi
done
}

if [ $# -lt 2 ]; then usage; exit; fi
if [ ! -f $1 ]; then echo "Missing Maplistfile $1"; usage; fi
if [ ! -f $2 ]; then echo "Missing Mapcyclefile $2"; usage; fi

check $1 $2


Verwendung: ./check_mapcycle.sh maplist.txt mapcycle.txt

Bei mir rufe ich das script z.B. so auf: ./check_mapcycle.sh mappool/hl2/cstrike/maplist.txt server/ggdm/hl2/cstrike/mapcycle.txt

Das Script berücksichtigt auch nur ganze Namen. D.h. wenn de_trading im Mapcycle steht und in der Maplist aber nur de_trading_b1 vorhanden ist, wird das vom Script bemerkt und ausgegeben.

Wenn keine aktuelle maplist.txt vorhanden ist, kann auch eine eben schnell erstellt werden.

Quellcode

1
ls /irgendwo/cstrike/maps/ | grep '\.bsp$' | sed 's/\.bsp$//' | sort > /irgendwo/cstrike/maplist.txt

fertig ist die maplist.txt