Komm in unsere Facebook Gruppe

Willkommen Gast
Du bist nicht angemeldet, um alle Funktionen des Forums zu nutzen musst du dich registrieren und anmelden. Die Registrierung ist natürlich völlig kostenlos und kann jeder Zeit wiederrufen werden.

Aktuelle Zeit: 25. Mai 2012 04:41

Maps automatisch eintragen. im Maplist

Das Forum zum HL Server und seinen Mods wie Counter Strike.


Maps automatisch eintragen. im Maplist

Beitragvon Lord Cybertracker am 29. Aug 2005 19:27

HAllo,
Ich hatte mal einen Gameserver der das automatisch eingetragen hat.
Wie geht das??
THX
Lord Cybertracker
Mitglied
Mitglied
 
Beiträge: 141
Registriert: 2. Aug 2005 01:39

Beitragvon xiconfjs am 5. Sep 2005 10:29

Hi,

ähhmmmm...was ist denn das für eine Frage??? Also ich verstehe das so, dass du meinst, dass ein Tool die Maps im "maps"-Ordner ausliest und dann automatisch in den Mapcycle einträgt...? :shock:


mFg -=|XiCoN|[FJS]=-
xiconfjs
Mitglied
Mitglied
 
Beiträge: 52
Registriert: 23. Aug 2005 10:56
Wohnort: Berlin

Beitragvon yLABS|nExUs am 5. Sep 2005 12:18

Man nehme eine riesen Mapliste wie z.B.

http://forum.ylabs.de/viewtopic.php?t=102

und trägt alle Maps in der maps.cfg von Clanmod ein.

Sobald nun eine der Maps, die in dieser Liste eingetragen sind auf den Server hochgeladen wird, wird diese automatisch in der Mapliste von Clanmod angezeigt.

Die Maps, welche nicht installiert sind aber eingetragen sind, werden nicht angezeigt.

Ich hoffe, dass das deine Frage war.
Benutzeravatar
yLABS|nExUs
Anbieter
Anbieter
[ Anbieter Profil ]
 
Beiträge: 709
Registriert: 17. Mai 2005 07:51
Wohnort: Würzburg

Beitragvon dasfliege am 10. Feb 2006 11:16

Ich versuche mich auch gerade darin ein bash script zu schreiben, welches automatisch die .bsp files aus dem maps ordner liest und diese in die maplist.txt schreibt...

mit folgendem command bin ich sicher mal auf dem richtigen weg:

Code: Alles auswählen
find cstrike/ -name *.bsp -printf "%f\n" > maplist.txt



- Die Dateiendung ".bsp" ist aber überall noch dran. Das kann ich aber im Notfall in einem zweiten script rauslöschen....


Wäre nett, wenn jemand gleich eine Lösung hätte, wie ich die filenamen schon im find query removen kann...
dasfliege
Mitglied
Mitglied
 
Beiträge: 14
Registriert: 9. Jan 2006 16:11

Beitragvon dasfliege am 10. Feb 2006 11:50

jetzt hab ichs grade selber geschafft...

Für alle, die es interessiert... Einfach ein bash file im cstrike ordner erstellen mit folgendem Inhalt:

Code: Alles auswählen
#!/bin/bash
rm maplist.txt
find cstrike/ -name *.bsp -printf "%f\n" > search.txt

cat search.txt | while
read line
do

IFS="."
set -- $line
echo "$1" >> maplist.txt
echo "$1 wurde eingefügt"
done



Wenn ihr wollt, könnt das gleiche dann natürlich auch gleich in die mapcycle und votemaplist schreiben.


Funktioniert wunderbar *stolzsei* :)

PS. Das ganze führt ihr am besten per crownjob einmal im tag aus. So können z.b die clanmitglieder ihre maps auf einen ftp stellen, in der nacht werden sie in den maps ordner kopiert und anschliessen gleich die maplist erstellt....
dasfliege
Mitglied
Mitglied
 
Beiträge: 14
Registriert: 9. Jan 2006 16:11

Beitragvon light am 11. Feb 2006 00:29

@dasfliege
Frage wie erstellt man eine bash datei ???
light
Mitglied
Mitglied
 
Beiträge: 15
Registriert: 1. Feb 2006 18:19
Wohnort: Wilhelmshaven

Beitragvon Dromme am 11. Feb 2006 00:59

Ich denk mal normale datei erstellen und dann zu *.sh umbenennen ;)
Benutzeravatar
Dromme
Mitglied
Mitglied
 
Beiträge: 70
Registriert: 11. Okt 2005 16:21
Wohnort: Burgrieden

Beitragvon light am 11. Feb 2006 12:42

naja ich habe das probiert da kam das bei raus^^

css@h778749:~/srcds/cstrike> ./mapcheck
find: cstrike/: Datei oder Verzeichnis nicht gefunden
css@h778749:~/srcds/cstrike> ./mapcheck
rm: Entfernen von âmaplist.txtâ nicht möglich: Datei oder Verzeichnis nicht gefunden
light
Mitglied
Mitglied
 
Beiträge: 15
Registriert: 1. Feb 2006 18:19
Wohnort: Wilhelmshaven

Beitragvon light am 11. Feb 2006 12:43

naja ich habe das probiert da kam das bei raus^^

    css@h778749:~/srcds/cstrike> ./mapcheck
    find: cstrike/: Datei oder Verzeichnis nicht gefunden
    css@h778749:~/srcds/cstrike> ./mapcheck
    rm: Entfernen von âmaplist.txtâ nicht möglich: Datei oder Verzeichnis nicht gefunden
light
Mitglied
Mitglied
 
Beiträge: 15
Registriert: 1. Feb 2006 18:19
Wohnort: Wilhelmshaven

Beitragvon dasfliege am 12. Feb 2006 20:40

@light

die .sh datei kannst du direkt mit vi erstellen:
-> vi create_maplist.sh
danach meinen code rein kopieren und speichern.


Kopiere das File in den gleichen folder wie der cstrike ordner. NICHT IN DEN CSTRIKE ORDNER SELBER!!

Dann klappts auch bei dir :D
dasfliege
Mitglied
Mitglied
 
Beiträge: 14
Registriert: 9. Jan 2006 16:11

Beitragvon light am 13. Feb 2006 17:08

Danke es funktioniert !!
Wie geht das mit dem chronjob ?
light
Mitglied
Mitglied
 
Beiträge: 15
Registriert: 1. Feb 2006 18:19
Wohnort: Wilhelmshaven

Beitragvon oezgueng am 14. Feb 2006 08:16

Benutzeravatar
oezgueng
Mitglied
Mitglied
 
Beiträge: 836
Registriert: 9. Apr 2005 01:39
Wohnort: Ludwigsburg

Beitragvon nergal am 21. Feb 2006 07:38

und wenn ich das in eine bestimmten ordner haben will...
find cstrike/ -name *.bsp -printf "%f\n" > verzeichnis/datei ??
geht das??
nergal
Wiederkehrer
Wiederkehrer
 
Beiträge: 7
Registriert: 15. Jan 2006 19:19

Beitragvon Wolfseye am 20. Mai 2006 10:39

Hab das ausprobiert, aber erstens sagt er bei mir auch am Anfang:

rm: Entfernen von maplist.txt nicht möglich: Datei oder Verzeichnis nicht gefunden


erstellt aber trotz allem die Maplist.txt, aber halt in dem Ordner vor CSTRIKE oder HL2MP, habs für beide gemacht jeweils. Er packt die Maplist.txt nicht in den CSTRIKE oder HL2MP Ordner sondern in den gleichen wo das Script ist.

:(
Benutzeravatar
Wolfseye
Mitglied
Mitglied
 
Beiträge: 31
Registriert: 10. Jul 2005 16:38
Wohnort: Köln

Beitragvon aubergine am 20. Mai 2006 12:38

Code: Alles auswählen
#!/bin/bash

rm maplist.txt
find maps/ -name *.bsp -printf "%f\n" > search.txt

cat search.txt | while
read line
do

IFS="."
set -- $line
echo "$1" >> maplist.txt
echo "$1 wurde eingefügt"

done

rm search.txt
exit 0



Jetzt im cstrike Verzeichnis aufrufen
Benutzeravatar
aubergine
Moderator
Moderator
 
Beiträge: 830
Registriert: 14. Aug 2005 18:19
Wohnort: Frankfurt am Main

Beitragvon Wolfseye am 21. Mai 2006 12:28

Vielen Dank. :wink: Funtz prima.
Benutzeravatar
Wolfseye
Mitglied
Mitglied
 
Beiträge: 31
Registriert: 10. Jul 2005 16:38
Wohnort: Köln

Beitragvon FoXy666 am 10. Mär 2007 07:26

habe die .sh datei erstellt und in cstrike ordner gepackt was muss ich nun machen damit das script z.b. alle 12 stunden sich von alleine ausführt?
FoXy666
Wiederkehrer
Wiederkehrer
 
Beiträge: 6
Registriert: 5. Mär 2007 05:31

Beitragvon dasfliege am 13. Mär 2007 12:59

FoXy666 hat geschrieben:habe die .sh datei erstellt und in cstrike ordner gepackt was muss ich nun machen damit das script z.b. alle 12 stunden sich von alleine ausführt?


du musst einen cronjob erstellen. wurde eine seite früher schon gesagt....
aber hier nochmals für alle direkt:

Code: Alles auswählen
crontab -e


Code: Alles auswählen
02 06 * * * /home/dein/verzeichniss/script_name.sh


Code: Alles auswählen
:wq



Nun wird das script jeden Tag um 06:02 ausgeführt. [/quote]
dasfliege
Mitglied
Mitglied
 
Beiträge: 14
Registriert: 9. Jan 2006 16:11

Beitragvon 'dibs am 14. Mär 2007 23:33

Ich möchte euch noch einen weg mit awk aufzeigen wie ich es eine Zeitlang benutzt habe.

find cstrike/maps -name *.bsp | awk -F / '{print $3}' | awk -F . '{print $1}' > cstrike/maplist.txt

Vorteil: Funktioniert ohne den umweg über die zweite Datei.

'dibs
Benutzeravatar
'dibs
Mitglied
Mitglied
 
Beiträge: 164
Registriert: 23. Aug 2005 19:24

Beitragvon dasfliege am 20. Mär 2007 15:37

Ich möchte mein obenstehendes script ein bischen erweitern. und zwar möchte ich ein zweites txtfile hinzuziehen, in dem alle maps stehen, die NICHT in die Maplist aufgenommen werden sollen. Damit soll erreicht werden, dass die standard maps (de_dust, de_aztec, usw...) nicht in die Maplist aufgenommen werden. Habe aber leider kein plan, wie ich sowas machen könnte, ausser das file vorgängig in ein array zu lesen...

Jemand eine idee? Der IF sollte dann etwa so aussehen:

if [$maplisteintrag NOT IN exlude_liste.txt]; then
echo "$maplisteintrag" >> maplist.txt
fi

Das "NOT IN" müsste jetzt halt mit irgendetwas ersetzt werden... Jemand eine Idee??

Vielen Dank im Voraus!
dasfliege
Mitglied
Mitglied
 
Beiträge: 14
Registriert: 9. Jan 2006 16:11

Beitragvon MikeRivle am 22. Mär 2007 19:36

wenns bei mir gehen würde währe es genial
hab chmod etc gemacht auch ordner richtig aber geht nicht
bekomme immer falsches verzeichis u.s.w.

aber wenn ich normal find maps/ -name *.bsp -printf "%f\n" > search.txt eingebe macht er das wie kann ich das ändern ?
Benutzeravatar
MikeRivle
Mitglied
Mitglied
 
Beiträge: 336
Registriert: 30. Jul 2005 11:44
Wohnort: Bayern


Zurück zu Half-Life / Counterstrike




Ähnliche Beiträge