CLI referee compatible with cg-selfarena and others.
If you have Docker, you can build the jar using the build.sh script provided at the root of the repository.
Use the file target/summer-challenge-2025-soak-overflow-1.0-SNAPSHOT.jar.
If you don't have Docker, directly run mvn clean package. (You will need Maven)
Based on this forum post.
You can now change the turn timeout using the -timeout CLI option.
The timeout option sets a minimum value - it will use the maximum of your specified timeout and the current defaults (50ms for regular turns, 1000ms for first turn).
The referee can be run from the command line using the built JAR file:
java -jar target/summer-challenge-2025-soak-overflow-1.0-SNAPSHOT.jar -p1 "<player1 command>" -p2 "<player2 command>" [options]-p1 <command>- Player 1 command line-p2 <command>- Player 2 command line
-h- Print help message-s- Run in server mode-league <level>- Set league level (default: 5)-seed <value>- Set random seed-timeout <milliseconds>- Set minimum timeout for both turn and first turn (uses max of specified value and current defaults)-l <file>- Output logs to specified file-d- Include referee initial data
Basic match between two players:
java -jar target/summer-challenge-2025-soak-overflow-1.0-SNAPSHOT.jar -p1 "python player1.py" -p2 "binary.exe"Match with custom seed and log output:
java -jar target/summer-challenge-2025-soak-overflow-1.0-SNAPSHOT.jar -p1 "python player1.py" -p2 "python player2.py" -seed 12345 -l game.jsonMatch with custom timeout (ensures both players get at least 500ms per turn):
java -jar target/summer-challenge-2025-soak-overflow-1.0-SNAPSHOT.jar -p1 "python player1.py" -p2 "python player2.py" -timeout 500