[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

[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
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-GladiatoreEccellente Smithers

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 zukka2 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
aggiornato lo scrippettino alla versione 1.1

Ho in mente di post processare il log, e togliere tutti quei ^[1-9]

sarà fatto presto

Thu Feb 08 19:31:58 CET 2007 Sluxinserita 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

Fri Mar 02 23:16:25 CET 2007 Verde rame ITAdomanda da nubbio

ma bisogna inserire tutto nel file autoexec per farlo funzionare?
Fri Mar 02 23:36:37 CET 2007 Slux
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 ITASlux
: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 SluxVerde 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!

Magari sentiamoci su IRC se hai problemi per l'uso.
Fri Mar 09 23:12:42 CET 2007 Verde rame ITAFunziona!!!

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!

Sun Jul 29 21:50:10 CEST 2007 Sluxnuova versione 1.3: ora i logs sono bzippati in files bzip2!

PS: come al solito ditemi se ho scritto vaccate =)
Mon Jul 30 15:40:49 CEST 2007 ghostisbacke perke' io ke uso winzozz non posso averla sta cosa???
uffa

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 Sluxghostisback
e perke' io ke uso winzozz non posso averla sta cosa???
uffa


Su winzoz (che non uso) puoi provare a farti una cosa simile in BAT!

Mon Jul 30 17:37:50 CEST 2007 dimakghostisback
e perke' io ke uso winzozz non posso averla sta cosa???
uffa

Wella.......compare...

Fatti un giro qui...
http://unxutils.sourceforge.net/
Scarica installa e goditi una parte della potenza linux sotto windows!!!!

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
non la sapevo mica sta bella cosa!

cmq per sed, puoi anche non usarlo.. serve solo a strippare le righe dai vari tags!

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

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-itottimo 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 CanduzIMHO 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

Tralaltro è un' ottimo script.
Wed Oct 03 13:04:27 CEST 2007 Er-GladiatoreCanduz 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

Tralaltro è un' ottimo script.
Non ci avevo pensato, comunque che è un'ottimo script non lo metto in dubbio

Wed Oct 03 13:56:34 CEST 2007 Sluxstasera posto la nuova versione per permettere di avere solo il log pulito!
