Crobots Java Tournament Manager v.2.00 (build 30) - 09/feb/2010 - (C) Maurizio Camangi
Client Java multipiattaforma per il setup e lo svolgimento di un torneo Crobots.
Si appoggia ad un db MySQL, via TCP/IP o HTTP.
Usage: java -jar Crobots.jar -h hostname -u username -p password -f file -P path -c script -T robot -H -2 -4 -S -C -t -q -?
-
OS Type : Indica il S.O. su cui gira la JVM. UNIX di default per tutti i sistemi non Windows.
-
path delimitator : "/" di default (per sistemi UNIX). "\" per Windows.
-
-h Hostname o IP del server MySQL, o del server HTTP. "localhost" il default.
-
-f fileinput : File di input con l'elenco dei robot. "torneo.dat" il default.
-
-c cmd script : Script batch che esegue Crobots e Count. Di default "crobots.sh" per UNIX.
-
-u username : Username per accedere al db MySQL. Di default "crobots".
-
-p password : Password per accedere al db MySQL. Di default "" (vuota).
-
-P path : Path dove sono salvati i robots. Di default "torneo".
-
-H : Utilizza la connessione HTTP per lo svolgimento del torneo.
-
-K : Rileva la presenza del file 'Crobots.stop' per interrompere il torneo.
-
-t : Effettua solo il test della connessione.
-
-2 : Svolge solo il torneo F2F.
-
-4 : Svolge solo il torneo 4VS4.
-
-S : Esegue il caricamento delle tabelle di appoggio del torneo, sul db MySQL. Inibisce l'esecuzione del torneo.
-
-C : Pulisce le tabelle di appoggio.
-
-T robot : Configura il torneo per testare il robot specificato. Di default "false" (nome robot "test").
-
-q : Di default "false". Abilita o meno messaggi info.
REQUIREMENTS:
-
JRE 1.6.0_18 o succ.
-
MySQL 5.0.x (per l'utilizzo delle funzionalità server)
INSTALL:
-
Se si dispone di MySQL : importare il file 'Crobots Setup Clean.sql' via MySQL Admin, che crea il db 'crobots'
-
Se si dispone di MySQL : impostare autonomamente gli utenti MySQL che accedono al db
-
Se si dispone di MySQL : aggiungere gli utenti Crobots che possono collegarsi via HTTP, nella tabella 'users'
-
Personalizzare i path (se necessario) negli script crobots.sh e crobots.bat
-
Personalizzare il file di configurazione crobots.conf. Tutte le parametrizzazioni possono essere sovrascritte dai
parametri a linea di comando.
-
Copiare ed eseguire 'Crobots.jar' tramite command line java 'java -jar Crobots.jar'
NOTE:
-
Richiede, ovviamente, la presenza dell'eseguibile Crobots, e anche di Count v.8.3 o versioni succ.
-
Utilizzando il Crobots Java solo come client remoto, per eseguire il torneo, non è necessario avere il db MySQL installato in locale.
-
Gli switch -T e -C forzano il setup (-S).
-
Gli switch -2 o -4 possono essere utilizzati con -S, -C o -T, per configurare soltanto il F2F o il 4vs4, rispettivamente, lasciando inalterate le altre tabelle.
-
Per motivi di sicurezza, le opzioni di setup sono attive solo per l'utente del db 'root'
-
Su Windows non è possibile eseguire più di un'instanza java del Crobots client usando lo stesso batch script (crobots.bat) poiché la sovrascrittura accidentale dei log file
potrebbe provocare una perdita dei dati e un comportamento inaspettato del client. Per evitare questo problema, create più file batch con differenti nomi per i log file.
NOTE: Con il supporto multithreading non c'è più bisogno di lanciare più istanze java del Crobots client.
-
Con lo switch -H , il nome dell'host deve seguire il formato http://server:port/path
-
Per motivi di performance le opzioni di setup non sono abilitate in modalità HTTP.
-
Http proxy al momento non supportato.
-
L'elenco dei robots (salvato ad esempio nel file 'torneo.dat') deve contenere i nomi dei file, senza path e senza estensione '.r' o '.ro'
-
Per abilitare un utente alla connessione HTTP, inserirne le credenziali nella tabella 'users' e mettere status=1. Per disabilitare l'utente (senza bisogno di cancellarlo), mettere status=0
-
È opportuno personalizzare le directory utilizzate dagli script batch .sh e .bat in base al path della propria
installazione di Crobots e count. Il comando grep.exe va copiato in un path visibile dalla linea comandi.
-
Non modificare i parametri dei comandi negli script batch. Le modifiche potrebbero pregiudicare il
corretto funzionamento del client.
ESEMPI (UNIX):
-
Test connessione ed esecuzione torneo (senza scritture sul db), sul server 'crobots.deepthought.it':
java -jar Crobots.jar -t -h crobots.deepthought.it -u crobots -p pwd -f ./torneo.dat -c ./crobots.sh -P ./torneo
-
Test connessione ed esecuzione torneo (senza scritture sul db), sul server 'http://crobots.deepthought.it' in HTTP:
java -jar Crobots.jar -t -H -h http://crobots.deepthought.it/sql -u crobots -p pwd -f ./torneo.dat -c ./crobots.sh -P ./torneo
-
Setup di un girone, sul server 'crobots.deepthought.it':
java -jar Crobots.jar -S -h crobots.deepthought.it -u root -p pwd -f ./girone1.dat
-
Clean del 4VS4:
java -jar Crobots.jar -C -4 -h crobots.deepthought.it -u root -p pwd
-
Svolgimento del torneo:
java -jar Crobots.jar -q -h crobots.deepthought.it -u crobots -p pwd -c ./crobots.sh -P ./torneo2004/micro
-
Setup e svolgimento del solo F2F del girone1:
java -jar Crobots.jar -S -h crobots.deepthought.it -u root -p pwd -f ./girone1.dat
java -jar Crobots.jar -q -h crobots.deepthought.it -u crobots -p pwd -2 -c ./crobots.sh -P ./torneo2004/micro
-
Setup e test del robot ./test/pippo.r (tutti gli altri robot devono stare nella stessa dir ./test)
java -jar -S -h crobots.deepthought.it -u root -p pwd -f ./test.dat -T pippo
java -jar Crobots.jar -q -h crobots.deepthought.it -u crobots -p pwd -c ./crobots.sh -P ./test
-
Svolgimento del torneo in HTTP:
java -jar Crobots.jar -q -K -H -h http://crobots.deepthought.it/sql -u crobots -p pwd -c ./crobots.sh -P ./torneo2004/micro
RELEASE NOTES:
-
v.2.00 - Supporto multithreading. Quasi tutte le impostazioni sono ora accessibili nel file di configurazione crobots.conf.
-
v.1.00 - Prima versione stabile completa: miglioramenti nel backend PHP per la gestione della concorrenza
con l'uso delle transazioni. Opzionalmente si possono usare le stored procedure
-
v.0.99 - Miglioramento nella gestione degli errori HTTP
-
v.0.97 - Aggiunta gestione di retry (fino a 3 tentativi) nelle connessioni HTTP
-
v.0.96 - Modifica della gestione del processo shell.
-
v.0.95 - Aggiunta gestione dei parametri torneo (f2f e 4vs4) via MySQL. Eliminazione dei parametri -m -n
-
v.0.94 - Aggiunta gestione dei parametri torneo (f2f e 4vs4) via HTTP.
-
v.0.93 - Ottimizzazione e pulizia minimali del codice
-
v.0.92 - Bug fixing
-
v.0.90 - Aggiunta test versione del client tramite server web
-
v.0.80 - Aggiunta checksum MD5
-
v.0.70 - Aggiunta meccanismo di gestione dello stato aggiornamento incontri
-
v.0.60 - Aggiunta delle funzioni di logging tramite log4j
-
v.0.57 - Bug fix : Malfunzionamento con un solo match rimasto risolto.
-
v.0.56 - Bug fix : Soppressione di un errore Java che non pregiudicava comunque l'esecuzione del torneo.
-
v.0.55 - Modifica delle pagine PHP di autentificazione al database. L'utente MySQL è unico; si utilizza la tabella 'users' e il
campo 'status' per abilitare le connessioni.
-
v.0.54 - Bug fix del clean (opzione -C) che non cancella correttamente i dati dalle tabelle.
-
v.0.51 - Introduzione della modalità HTTP. Introduzione del 'kill file' (opzione -K). Minor bug fix con l'elminazione dell'opzione '-g' che può causare noie.
Miglioramento delle performance con l'eliminazione di alcune strutture Vector a favore degli array.
-
v.0.42 - Prima versione più o meno stabile, con il supporto MySQL