[TRELOG 1.3] tremulous client log script

Tue Feb 06 12:05:35 CET 2007

Tue Feb 06 12:05:35 CET 2007 Slux
[size=200:3mdf6vo3]TRELOG v1.3[/size:3mdf6vo3] Se puo' essere utile a qualcuno :D [code:3mdf6vo3]#!/bin/bash ###################################### LICENSE ###################################### # TRELOG 1.3 - A simple but cool tremulous client logger # Copyright (C) 2007 Alessio Di Fazio <slux83[-AT-]gmail.com> # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # ###################################### LICENSE ###################################### TRELOG_VERSION="1.3" # # By Alessio Di Fazio a.k.a. Slux <slux83[-AT-]gmail.com> # # v1.3 # # License: GNU/GPL v2 # # Changelog: # # 1.3: # [add] bzip2 logs compression! # » set use_bzip2_compressor config variable to "1" (it's the default value) # [add] start screen splash :p # [add] the script name: TRELOG! =] # # 1.2.1: # [fix] clear tags log system complete! (thanks peoro) # # 1.2: # [add] clear tags log system (only numeric tags) # # 1.1: # [fix] tremulous args bug (thanks zukka) # # 1.0: # first release # ######################################### ########### - User configs - ############ ######################################### user_log_dir=~/.tremulous/logs/ # Log dir trem_exec=/opt/tremulous/tremulous.x86 # Tremulous exec file date_format=`date +%Y\_%m\_%d` # Log file name (Prefix) time_format=`date +%H\:%M\:%S` # Log file time tags clear_log_file="1" # Se "1" crea un secondo file di log, che e' # una copia, senza tags ^0 ^1 ^2 ... ^9 use_bzip2_compressor="1" # Comprime i vari log files con bzip2 # (1 per attivare l'opzione) ######################################### echo echo -e -n ' \E[37;42m\033[1m*** TRELOG - TREmulous client LOGger version ' && echo -n "$TRELOG_VERSION " echo -e '***\033[0m' echo echo -e -n '\E[37;42m\033[1mTRELOG version ' echo -en "$TRELOG_VERSION \033[0m" echo -e '\E[37;42m\033[1munder GNU/GPL v2.0\033[0m' echo -e '\E[37;42m\033[1mCopyright (C) 2007 Alessio Di Fazio <slux83[-AT-]gmail.com>\033[0m' echo -e '\E[37;42m\033[1mTRELOG comes with ABSOLUTELY NO WARRANTY; for details\033[0m' echo -e '\E[37;42m\033[1mread the file header into the script. This is free software,\033[0m' echo -e '\E[37;42m\033[1mand you are welcome to redistribute it under certain conditions.\033[0m' echo echo "starting..." sleep 1 if [ ! -d $user_log_dir ]; then mkdir -p "$user_log_dir" fi # log the session in bzip2 file or ascii file if [ "$use_bzip2_compressor" = "1" ]; then echo "" | bzip2 >> $user_log_dir$date_format".log.bz2" echo "######################################" | bzip2 >> $user_log_dir$date_format".log.bz2" echo "# START TIME: $time_format" | bzip2 >> $user_log_dir$date_format".log.bz2" echo "######################################" | bzip2 >> $user_log_dir$date_format".log.bz2" echo "" | bzip2 >> $user_log_dir$date_format".log.bz2" $trem_exec $@ 2>&1 | bzip2 >> "$user_log_dir$date_format.log.bz2" #Clear current log: replace ^0 ^1 ^2 ... ^9 with void #and all ^* tranne con * = ASCII char escluso ^ if [ "$clear_log_file" == "1" ]; then bzcat $user_log_dir$date_format".log.bz2" | sed -e 's/\^[^\^]//g' | bzip2 > $user_log_dir$date_format"_no_tags.log.bz2" fi else echo "" >> $user_log_dir$date_format".log" echo "######################################" >> $user_log_dir$date_format".log" echo "# START TIME: $time_format" >> $user_log_dir$date_format".log" echo "######################################" >> $user_log_dir$date_format".log" echo "" >> $user_log_dir$date_format".log" $trem_exec $@ >> "$user_log_dir$date_format.log" 2>&1 #Clear current log: replace ^0 ^1 ^2 ... ^9 with void #and all ^* tranne con * = ASCII char escluso ^ if [ $clear_log_file == "1" ]; then sed -e 's/\^[^\^]//g' $user_log_dir$date_format".log" > $user_log_dir$date_format"_no_tags.log" fi fi # #all done # echo "" echo "##### Good GAME `whoami`!!! #####" echo "" [/code:3mdf6vo3] user_log_dir: rappresenta la dir dove tenere tutti i logs (ricordare lo / finale) trem_exec: full path dell'eseguibile di trem date_format: formato della data (in base a quasto, separate i vari logs, cosi' e' settato con un file di log per giorno!) man date per info time_format: formato per l'orario.. il file log di ogni giorno, appare diviso da questo tipo di tag: [code:3mdf6vo3]###################################### # TIME: 11:59:36 ######################################[/code:3mdf6vo3]cosi' e' facile ritrovare un'intervallo di tempo nello stesso giorno! clear_log_file: se impostato a "1", crea una copia di ogni file log che non conterrà i vari tags ^0 ^1 ^2 ... ^9 e tutti gli altri ^a ^F ^- ecc.. Utile per l'occhio umano, e per la salute mentale :lol: Esempio [code:3mdf6vo3]^5P^7ie^5r ^2D^7_^1R^7 was pounced upon by ^7=^5V^7=^2ka^7ppo^9lo^7's Dragoon ]^cciao ^bbelli! ^qquesto e' ^ssolo un te^dst! :] [S] ^3]^1iR^3[slux]^2I^7T^1A^3[^7: ^2^cciao ^bbelli! ^qquesto e' ^ssolo un te^dst! :] [H] (^3]iR[^2Sen^7te^1nza^7): ^5mentre giocahiamo a questa ^3]iR[^2Sen^7te^1nza^7 was chomped by ^7=^5V^7=^2ka^7ppo^9lo^7's Dragoon [A] ^1il^7gu^1fo^7@^1ar^7ch^2I^7T^1A^7: ^2? [FC]Thakros[ITA]^7 was chomped by ^7=^5V^7=^2ka^7ppo^9lo^7's Dragoon [H] ^5P^7ie^5r ^2D^7_^1R^7: ^2ciau slux[/code:3mdf6vo3] diventa... [code:3mdf6vo3]Pier D_R was pounced upon by =V=kappolo's Dragoon ]ciao belli! questo e' solo un test! :] [S] ]iR[slux]ITA[: ciao belli! questo e' solo un test! :] [H] (]iR[Sentenza): mentre giocahiamo a questa ]iR[Sentenza was chomped by =V=kappolo's Dragoon [A] ilgufo@archITA: ? [FC]Thakros[ITA] was chomped by =V=kappolo's Dragoon [H] Pier D_R: ciau slux[/code:3mdf6vo3] use_bzip2_compressor: se "1" i log files saranno Bzippati :) (solo versione >= 1.3) » Old version: http://phpfi.com/253184
Tue Feb 06 14:29:32 CET 2007 Michi
ok, bello, ma come funziona? e a che serve? per amministrare i vari log?
Tue Feb 06 14:50:17 CET 2007 Slux
e' per linux naturalmente.. in pratica se tu lanci trem con questo wrapper, lui in automatico di logga tutte le partite, e suddivide i files di log in base alla data: ossia, un log file per ogni giornata! suddiviso il orari in cui avvii tremulous! :]
Tue Feb 06 14:54:19 CET 2007 Diggs
OTTIMO!
Tue Feb 06 15:20:30 CET 2007 Er-Gladiatore
Eccellente Smithers :lol:
Tue Feb 06 19:34:33 CET 2007 Michi
bene bene! ma un log al giorno quanto pesa? pochi kb, no?
Tue Feb 06 20:58:19 CET 2007 zukka
2 osservazioni [img:1x6doo1a]http://www.marmotta.ch/faccine/8F.gif[/img:1x6doo1a]
Slux
[code:1x6doo1a] user_log_dir=/home/slux/.tremulous/logs/ [/code:1x6doo1a]
mmh qui farei [code:1x6doo1a] user_log_dir=~/.tremulous/logs/ [/code:1x6doo1a]
Slux
[code:1x6doo1a] $trem_exec >> $user_log_dir$date_format".log" 2>&1 [/code:1x6doo1a]
qui invece potrebbe essere utile... [code:1x6doo1a] $trem_exec $@ >> $user_log_dir$date_format".log" 2>&1 [/code:1x6doo1a] in modo che sia possibile passare parametri a trem... (tipo +connect) altrimenti programmi tipo xqf non vanno... [img:1x6doo1a]http://www.marmotta.ch/faccine/fagiano.gif[/img:1x6doo1a]
Tue Feb 06 23:25:07 CET 2007 Slux
:bravo: aggiornato lo scrippettino alla versione 1.1 :) Ho in mente di post processare il log, e togliere tutti quei ^[1-9] >_> sarà fatto presto 8)
Thu Feb 08 19:31:58 CET 2007 Slux
inserita versione 1.2 (leva i tags ^1 ^2 ^3 ^4 ecc.. ) ma per ora non toglie i ^a ^b ^F ecc.. work in progress... :) EDIT: v1.2.1 tutto funzionante 8)
Fri Mar 02 23:16:25 CET 2007 Verde rame ITA
domanda da nubbio :oops: ma bisogna inserire tutto nel file autoexec per farlo funzionare?
Fri Mar 02 23:36:37 CET 2007 Slux
:shock: no no.. e' un semplice script BASH.. quindi, devi essere un utente LINUX! E' semplice: metti quella roba in un file e lo chiami pippo.sh chmod +x pippo.sh poi lo editi come scritto qui:
user_log_dir: rappresenta la dir dove tenere tutti i logs (ricordare lo / finale) trem_exec: full path dell'eseguibile di trem date_format: formato della data (in base a quasto, separate i vari logs, cosi' e' settato con un file di log per giorno!) man date per info time_format: formato per l'orario.. il file log di ogni giorno, appare diviso da questo tipo di tag:
Sat Mar 03 00:03:49 CET 2007 alexc90
wooow nel giro di 2 gorni si e passati dalla 1.0 alla 1.21... [img:z7sxczsp]http://www.marmotta.ch/faccine/adh1.gif[/img:z7sxczsp]
Sat Mar 03 13:59:39 CET 2007 Verde rame ITA
Slux
:shock: no no.. e' un semplice script BASH.. quindi, devi essere un utente LINUX! E' semplice: metti quella roba in un file e lo chiami pippo.sh chmod +x pippo.sh poi lo editi come scritto qui:
Si io giro su ubuntu. ma poi per farlo partire bisogna inserire il nome del file nel file per i binding?
Sun Mar 04 19:44:42 CET 2007 Slux
Verde rame ITA
Slux
:shock: no no.. e' un semplice script BASH.. quindi, devi essere un utente LINUX! E' semplice: metti quella roba in un file e lo chiami pippo.sh chmod +x pippo.sh poi lo editi come scritto qui:
Si io giro su ubuntu. ma poi per farlo partire bisogna inserire il nome del file nel file per i binding?
no, assolutamente.. i bind qui non centrano nulla! :D Magari sentiamoci su IRC se hai problemi per l'uso.
Fri Mar 09 23:12:42 CET 2007 Verde rame ITA
Funziona!!! :ok:
Fri Apr 20 16:30:42 CEST 2007 jackal@slack
uhm io lo sto provando adesso, e purtroppo non funge! Trovo i 2 file di log, ci trovo all'interno la scritta START TIME, ma per il resto e' vuoto. Nella konsole che ho aperto, da cui ho fatto partire il wrapper, vedo tutti i messaggi scorrere, e deduco che per un motivo misterioso il redirect di stderr e stdout non avviene... forse qlc non va alla riga $trem_exec $@ >> "$user_log_dir$date_format.log" 2>&1 Avete idee?
Fri Apr 20 16:39:46 CEST 2007 jackal@slack
ho fatto un semplice test: [code:owwj16ug]./tremulous.x86 > prova.txt[/code:owwj16ug] stesso risultato di prima: TUTTO quanto, compresi messaggi tra players, resta nella shell e non viene rediretto nel file e poi invece [code:owwj16ug]./tremulous.x86 2> prova.txt[/code:owwj16ug] ora TUTTO COMPRESI I MESSAGGI son finiti nel file, shell muta. Hmm sara' forse colpa del mio tjw? (non ne ricordo la fonte)
Fri Apr 20 18:02:21 CEST 2007 Slux
@jack: solo come test, nello script sostituisci questo [code:ffop2aq6]$trem_exec $@ >> "$user_log_dir$date_format.log" 2>&1 [/code:ffop2aq6] con questo [code:ffop2aq6]$trem_exec $@ 2>> "$user_log_dir$date_format.log"[/code:ffop2aq6]Dovrebbe fungere! 8)
Sun Jul 29 21:50:10 CEST 2007 Slux
nuova versione 1.3: ora i logs sono bzippati in files bzip2! :D PS: come al solito ditemi se ho scritto vaccate =)
Mon Jul 30 15:40:49 CEST 2007 ghostisback
e perke' io ke uso winzozz non posso averla sta cosa??? uffa :cry:
Mon Jul 30 16:13:44 CEST 2007 pixelnet
Bello veramente bello... [O.T.] Un Log al giorno leva il deconner di torno!!!
Mon Jul 30 17:18:07 CEST 2007 Slux
ghostisback
e perke' io ke uso winzozz non posso averla sta cosa??? uffa :cry:
:? Su winzoz (che non uso) puoi provare a farti una cosa simile in BAT! :roll:
Mon Jul 30 17:37:50 CEST 2007 dimak
ghostisback
e perke' io ke uso winzozz non posso averla sta cosa??? uffa :cry:
Wella.......compare... :D Fatti un giro qui... http://unxutils.sourceforge.net/ Scarica installa e goditi una parte della potenza linux sotto windows!!!! :wink: Ciao PS: dovresti anche far girare lo script di Slux, o almeno la parte fondamentale (la riga che parte con sed ....), con qualche modifica potrai anche renderlo praticamente identico.
Mon Jul 30 18:19:23 CEST 2007 Slux
:shock: non la sapevo mica sta bella cosa! :) cmq per sed, puoi anche non usarlo.. serve solo a strippare le righe dai vari tags! :D
Wed Aug 01 18:33:22 CEST 2007 The Killer [ITA]
a me dice questo o_O ke cavolo devo fare come si danno i permessi alle cartelle? o_O O_o [code:2rj9v0el]angelo@angelo-desktop:~/Desktop$ sh tremlog.sh -e -n \E[37;42m*** TRELOG - TREmulous client LOGger version 1.3 -e *** -e -n \E[37;42mTRELOG version -en 1.3 -e \E[37;42munder GNU/GPL v2.0 -e \E[37;42mCopyright (C) 2007 Alessio Di Fazio <slux83[-AT-]gmail.com> -e \E[37;42mTRELOG comes with ABSOLUTELY NO WARRANTY; for details -e \E[37;42mread the file header into the script. This is free software, -e \E[37;42mand you are welcome to redistribute it under certain conditions. starting... mkdir: impossibile creare la directory `/home/angelo/.tremulous/logs': Permesso negato tremlog.sh: 118: cannot create /home/angelo/.tremulous/logs/01_08_2007.log.bz2: Directory nonexistent tremlog.sh: 118: cannot create /home/angelo/.tremulous/logs/01_08_2007.log.bz2: Directory nonexistent tremlog.sh: 118: cannot create /home/angelo/.tremulous/logs/01_08_2007.log.bz2: Directory nonexistent tremlog.sh: 118: cannot create /home/angelo/.tremulous/logs/01_08_2007.log.bz2: Directory nonexistent tremlog.sh: 118: cannot create /home/angelo/.tremulous/logs/01_08_2007.log.bz2: Directory nonexistent tremlog.sh: 118: cannot create /home/angelo/.tremulous/logs/01_08_2007.log.bz2: Directory nonexistent [: 118: ==: unexpected operator ##### Good GAME angelo!!! ##### [/code:2rj9v0el]
Wed Aug 01 19:51:16 CEST 2007 Slux
ma possibile che il tuo utente non ha accesso in scrittura sulla tua home? O_O [code:3bsf3ml3]stat ~/.tremulous/[/code:3bsf3ml3]questo che dice??
Fri Aug 03 13:24:23 CEST 2007 The Killer [ITA]
to xD [code:1l17qmvf]angelo@angelo-desktop:~$ stat ~/.tremulous/ File: `/home/angelo/.tremulous/' Size: 4096 Blocks: 8 IO Block: 4096 directory Device: 305h/773d Inode: 295483 Links: 4 Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2007-08-03 12:08:54.000000000 +0200 Modify: 2007-07-31 17:25:15.000000000 +0200 Change: 2007-07-31 17:25:15.000000000 +0200 [/code:1l17qmvf]
Fri Aug 03 13:37:33 CEST 2007 Slux
[code:1w6zcywe]Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root) [/code:1w6zcywe]
no comment >_> hai nella tua home/ dirs proprietarie root :shock: dai da root questo: [code:1w6zcywe]chown angelo.users -R /home/angelo/.tremulous[/code:1w6zcywe] Questo dovrebbe risolvere! altra cosa.. perche' ti stampa sta merda? [code:1w6zcywe]-e -n \E[37;42m*** TRELOG - TREmulous client LOGger version 1.3 -e *** [/code:1w6zcywe] Che shell usi? :? prova ad avviare trelog.sh cosi: ./trelog.sh prima pero' chmod +x trelog.sh :)
Sat Aug 04 02:03:02 CEST 2007 jdoe@gentoo-it
ottimo slux :) hai cambiato qualcosa della compressione bzip rispetto a quella che ti avevo passato? nel senso, devo aggiornare? se interessa posto anche xlaunch, io ho intgrato questo script con xlaunch in modo che trem parta su un altro X server (display :1), questo permette di fare ctrl+alt+f7 per tornare al desktop e f8 per tornare in game... (si lo so che si può mandare in finestra ma a me va 999 e 1 fps se passo da fs a finestra, mentre se lo fo partire direttamente in finestra va una scheggia uguale) edit: mmm vedo ora che hai messo trem in pipe con bzip o,O ora può anche andare bene per chi ha un pc buono, ma c'è chi fa fatica a giocare a questo modo peggiori la cosa... no?
Wed Oct 03 10:28:09 CEST 2007 Er-Gladiatore
Scusate se riesumo questo. Slux ho sempre usato questo comodissimo script, ma la funzione che salva il Log con i vari ^1^2^3 ed un'altro pulito mi sembra un po' inutile. Non sarebbe meglio farlo salvare subito in clear ?
Wed Oct 03 11:36:28 CEST 2007 Canduz
IMHO può essere utile avere anche i ^1^2^3 nel log, metti caso che uno voglia segnalare un cheater/deconner o altro e vuole farlo segnalando pure i colori allora quello sarebbe utile altri casi in cui è utile tenere i ^1 etc. mi sfuggono ma tanto crea due file al giorno e occupano poco, a me non si pone il problema :P Tralaltro è un' ottimo script.
Wed Oct 03 13:04:27 CEST 2007 Er-Gladiatore
Canduz GOA [ITA]
IMHO può essere utile avere anche i ^1^2^3 nel log, metti caso che uno voglia segnalare un cheater/deconner o altro e vuole farlo segnalando pure i colori allora quello sarebbe utile altri casi in cui è utile tenere i ^1 etc. mi sfuggono ma tanto crea due file al giorno e occupano poco, a me non si pone il problema :P Tralaltro è un' ottimo script.
Non ci avevo pensato, comunque che è un'ottimo script non lo metto in dubbio :wink:
Wed Oct 03 13:56:34 CEST 2007 Slux
stasera posto la nuova versione per permettere di avere solo il log pulito! :D