OK, I found a solution on how to debug the bot locally. The disadvantage is that you don't have the graphical output of the server.
Here are the steps necessary to debug your bot locally using my solution. It shouldn't bother which language you wrote your bot in but if you used a language other than Java you have to adapt the argument for executing your bot.
Step 1: Download the game engine modified by me (game engine was released under the Apache license so me uploading modified stuff should be fine):
http://www.file-upload.net/download-8786734/WarlightBotEngine.zip.htmlStep 2: Import my modified game engine as an eclipse project (I created an eclipse project out of the files).
Step 3: Export your Java bot to JAR files. Since two bots are playing together you need two JAR files.
Step 4: RunGame.java contains the two strings bot1Dir and bot2Dir. Currently the paths are pointing to my Desktop. Modify them so that they are pointing to your two JAR files.
How it works:
There are two classes with main methods, namely RunGame.java and NormanMain.java. Running the main method from RunGame let's your bots play a single game against each other. NormanMain contains a loop letting your bots play a couple hundred games against each other.
In RunGame I created the method named printDebugStuff. The only thing that method does is printing the stderr stream to the console after the game has finished. So if you write in your bot something like System.err.println("Hello World"); it will appear on the console. Here is some debug output that is comming from my bot:
=============== Round Nr: 5 ===============
Possible super regions last turn: North America, South America, Europe,
Opponent deployed visible: 7
Guessed opponent income: 7
Guessed opponent SuperRegions: South America,
Guessed opponent Regions: Peru, Egypt, Argentinia, Venezuela, Brazil,
Guessed game state: armiesAdvantage
Guessed opponent deployment: 7 armies to Egypt