Old version page

Crobots Java Tournament Manager

Crobots Java Tournament Manager v.2.00 (build 30) - 09/feb/2010 - (C) Maurizio Camangi
Multiplatform Client Java for setup and running of Crobots's tournament. It handles MySQL databases, via TCP/IP or 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 : It shows the current O.S.. Default's UNIX for all not-Windows systems.
  • path delimitator : "/" default (UNIX). "\" for Windows systems.
  • -h MySQL server Hostname or IP, or HTTP server. "localhost" is the default.
  • -f fileinput : Robot's list file. "torneo.dat" is the default.
  • -c cmd script : Script batch that manages Crobots and Count. Default is "crobots.sh" (UNIX), "crobots.bat" for Windows.
  • -u username : Username of db MySQL. Default is "crobots".
  • -p password : Password of db MySQL. Default is "" (empty).
  • -P path : Path of robots. Default is "torneo".
  • -H : Allows the HTTP connection for whole tournament.
  • -K : Handles the presence of 'Crobots.stop' file for stopping the tournament.
  • -t : Tests only the connection (the tournament won't run).
  • -2 : Runs the F2F only (the 4vs4 won't run).
  • -4 : Runs the 4VS4 only (the F2F won't run).
  • -S : Loads the MySQL's temporary tables. It inhibits the tournament's run.
  • -C : Cleans the MySQL's temporary tables. It inhibits the tournament's run.
  • -T robot : Configures the MySQL's temporary tables for a specified robot. Default is "false" (robot's name default is "test").
  • -q : Default is "false". Suppress info messages.
REQUIREMENTS:
  • JRE 1.6.0_18 or above.
  • MySQL 5.0.x (only for server side purposes)
INSTALL:
  • If MySQL's available : import the file 'Crobots Setup Clean.sql' via MySQL Admin (db 'crobots' creation).
  • If MySQL's available : create MySQL's users whos connect to db
  • If MySQL's available : Insert into 'users' table the Crobots's users whos may connect through HTTP connection.
  • Configure (if necessary) all paths into script crobots.sh and crobots.bat
  • Copy and execute 'Crobots.jar' via command line java 'java -jar Crobots.jar'
  • Customize the the configuration file 'crobots.conf'. Configuration parameters could be overwritten by the command line options
NOTES:
  • Requires Crobots and Count (v.8.3 or above) executables.
  • Using Crobots Java such as remote client only, it is not necessary to install db MySQL locally.
  • Switches -T and -C forces the setup (-S).
  • Switches -2 or -4 may be used with -S, -C or -T, for configuring F2F or 4vs4 only.
  • For security reasons, the setup's options are allowed only for MySQL db user 'root'
  • On Windows systems it is not possibile to run more then one java Crobots client using the same batch script (crobots.bat), because of temporary log file and results corruption. To avoid this problem, create multiple batch scripts which use different log files. NOTE: With the multithreading support you don't need anymore to launch more java Crobots instances.
  • Using the switch -H , the hostname must be 'http://server:port/path'
  • Because of performance reasons, all setup options cannot be used on HTTP mode (-H).
  • Http proxy support not yet implemented.
  • Robots list must have the robot filename without path or ".r" and ".ro" extension informations.
  • To allow the HTTP connection users, insert their credentials (username and password) into 'users' MySQL table and set status=1. Set status=0 for not active users.
  • Please customize the .sh and .bat batch scripts if needed. You may use your own executable binaries path.
  • Please don't touch any command line parameter of the batch scripts. You may cause an incorrect client's behavior.
Examples (UNIX):
  • Connection and tournament execution test (no db real writing), on 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
    
  • Connection and tournament execution test (no db writing), on server 'http://crobots.deepthought.it' in HTTP mode:
    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 on the server 'crobots.deepthought.it':
    java -jar Crobots.jar -S -h crobots.deepthought.it -u root -p pwd -f ./girone1.dat
    
  • Clean of 4VS4 temporary tables:
    java -jar Crobots.jar -C -4 -h crobots.deepthought.it -u root -p pwd
    
  • Full tournament run:
    java -jar Crobots.jar -q -h crobots.deepthought.it -u crobots -p pwd -c ./crobots.sh -P ./torneo2004/micro
    
  • Setup and run of F2F tournament only:
    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 and test of robot ./test/pippo.r (all robots must be saved on 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
    
  • Full tournament run on HTTP mode:
    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 - Multithreading support. Configuration options can be set by the crobots.conf file.
  • v.1.00 - First stable complete version: improvements of PHP backend PHP with the concurrent management using transactions. Optionally store procedures can be used
  • v.0.99 - HTTP error handling improvement
  • v.0.97 - Add retry management (at least 3 attempts) on HTTP connection
  • v.0.96 - Add new management of shell's process
  • v.0.95 - Add tournament's parameters management (f2f and 4vs4) via MySQL. Suppression of -m -n params
  • v.0.94 - Add tournament's parameters management (f2f and 4vs4) via HTTP.
  • v.0.93 - Minor optimization and code cleaning
  • v.0.92 - Bug fixing
  • v.0.90 - Add client's version test through the web server
  • v.0.80 - Add MD5 checksum
  • v.0.70 - Add status control of match's sequence
  • v.0.60 - Add logging info through log4j
  • v.0.57 - Bug fix : Incorrect behavior when a single match remains on temporary table fixed.
  • v.0.56 - Bug fix : Suppression of a Java error (noise only, not tournament running compromising).
  • v.0.55 - PHP db MySQL authentification changed. MySQL user is now unique; for any connection it uses 'users' table and 'status' field.
  • v.0.54 - Bug fix of clean option (-C).
  • v.0.51 - HTTP mode. 'kill file' (-K option). Minor bug fix and '-g' option deleted. Performance improvement.
  • v.0.42 - First (more or less) stable release, with a full MySQL support.