Old version page

Crobots Java Tournament Manager

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