You are not logged in.

DeaD_EyE

Administrator

  • "DeaD_EyE" started this thread

Posts: 3,980

Location: Hagen

Occupation: Mechatroniker (didaktische Systeme)

wcf.user.option.userOption53: Nein

  • Send private message

1

Thursday, August 9th 2007, 11:43pm

[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

Source code

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.

Source code

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

fertig ist die maplist.txt