- Created Tuesday, June 10th 2014 @ 14:50:02
I made a test environment (Arena) to test poker bots. It's written in C# but it can handle all bots.
You have to configure a (root) directory for your bots.
Every bot needs it own directory. You can exclude bots from further running by giving a directory an (z+.) prefix.
The part after the last dot (if available) will be interpreted as version number.
If a run.bat is provided Arena will process this bat file, otherwise, it will process the first exe it finds.
You can download the source code here: https://github.com/Corniel/AIGames.HeadsUpOmaha
In the near future I will make some older versions fo my bot available, I hope others will do the same.
Furthermore, feel free to contribute to the code base, or report bugs.
- Created Wednesday, June 11th 2014 @ 11:18:25
I fixed two mayor bugs: - send hands of players (if not folding) - if folding, the folding player should always lose
- Created Wednesday, June 18th 2014 @ 10:17:57
Added the option to configure a single bot to be included in all matches. Added timeout and logging of the avarage time consumption of bots.
- Created Sunday, June 22nd 2014 @ 21:59:59
Corniel, thanks for the effort! I'd like to use it, but I can't seem to get it to work/compile on linux. It would be really great if some readme would be provided. I used mono, and tried to build the cs project by using the .sln file.
It gave some errors, perhaps they make sense to you.
- Created Sunday, June 22nd 2014 @ 22:31:08
Dualinity, I managed to get past those errors using Mono on Ubuntu by installing the log4net package. If you are using Ubuntu 14.04 you can "apt-get install liblog4net1.2-cil"
Unfortunately that just lead me to the next set of issues that I didn't spend much more time on.
- Updated Sunday, June 22nd 2014 @ 23:11:44
Thanks! I installed those and used xbuild again; still does not work. What am I missing? The new log file: https://dl.dropboxusercontent.com/u/57478751/log2.txt
- Created Monday, June 23rd 2014 @ 00:53:42
I see what happend. Under mono, you probably cannot run Visual Studo Unit Tests. Maybe you can fork it an change it to NUnit or another unit test framework? If that works with me, I will merge it back.
- Created Monday, June 23rd 2014 @ 03:25:39
I managed to get it to build under mono by making two changes:
1) I removed the AIGames.HeadsUpOmaha.UnitTests project from HeadsUpOmaha.sln to bypass the unit tests entirely for now.
2) I had to copy /AIGames.HeadsUpOmaha.Arena/App.config.develop to App.config as some part of the build wanted to copy App.config from that directory to Arena.exe.config
Then I created "bots" and "games" directory inside of AIGames.HeadsUpOmaha/src/AIGames.HeadsUpOmaha.Arena/bin/Debug and edited the Arena.exe.config file to point to those directories.
For a quick test I copied the bin/debug folder from AIGames.HeadsUpOmaha.Chicken as "Chicken" under the "bots" folder, and did the same for AIGames.HeadsUpOmaha.AllIn. I ran Arena.exe, and as expected it ran a couple thousands games (AllIn winning them all) before I stopped it.
- Created Monday, June 23rd 2014 @ 11:47:42
jbergmark, Would you like to write a readme? I will extend it afterwords. You mentioned some things that are not documentated (yet), I would advise you to add, Blunt Axe, AllIn and King Kong, those engines are resonably strong.
- Created Monday, June 23rd 2014 @ 14:24:18
Just moved the bot deployment functionality to an independent (console) application. By specfing the source directory, botname and version, it compiles a bot based on the core library, and creates a zip that can be uploaded. Furthermore, I finaly added my first read.md.
- Created Monday, June 23rd 2014 @ 14:41:59
And, because it was way more easy than expected, changed the unit tests to NUnit.
- Updated Monday, June 23rd 2014 @ 20:41:02
Sounds good. I'm able to run the Arena with your bots, but I'm not sure how to run a Python bot? I added run.bat which contains the string "python /path/my_bot.py" and gives the error when running the Arena.exe:
[ERROR] FATAL UNHANDLED EXCEPTION: System.ComponentModel.Win32Exception: ApplicationName='/home/pascal/Downloads/AIGames.HeadsUpOmaha-master/src/AIGames.HeadsUpOmaha.Arena/bin/Debug/bots/polka/run.bat', CommandLine='', CurrentDirectory='/home/pascal/Downloads/AIGames.HeadsUpOmaha-master/src/AIGames.HeadsUpOmaha.Arena/bin/Debug/bots/polka', Native error= Cannot find the specified file
While for sure the path and files exist. Any ideas?
- Created Tuesday, June 24th 2014 @ 01:28:22
Thanks Corniel! The move to nunit looks good, but I'm still seeing errors where xbuild expects there to be an App.config file to copy, when on my system there is only an App.config.develop:
/usr/lib/mono/xbuild/12.0/bin/Microsoft.Common.targets: error : Cannot copy /home/adminuser/workspaces2/AIGames.HeadsUpOmaha/src/AIGames.HeadsUpOmaha.BotDeployment/App.config to /home/adminuser/workspaces2/AIGames.HeadsUpOmaha/src/AIGames.HeadsUpOmaha.BotDeployment/bin/Debug/BotDeployment.exe.config, as the source file doesn't exist.
/home/adminuser/workspaces2/AIGames.HeadsUpOmaha/src/HeadsUpOmaha.sln (default targets) -> (Build target) -> /home/adminuser/workspaces2/AIGames.HeadsUpOmaha/src/AIGames.HeadsUpOmaha.Arena/AIGames.HeadsUpOmaha.Arena.csproj (default targets) -> /usr/lib/mono/xbuild/12.0/bin/Microsoft.Common.targets (_CopyAppConfigFile target) ->
/usr/lib/mono/xbuild/12.0/bin/Microsoft.Common.targets: error : Cannot copy /home/adminuser/workspaces2/AIGames.HeadsUpOmaha/src/AIGames.HeadsUpOmaha.Arena/App.config to /home/adminuser/workspaces2/AIGames.HeadsUpOmaha/src/AIGames.HeadsUpOmaha.Arena/bin/Debug/Arena.exe.config, as the source file doesn't exist.
/home/adminuser/workspaces2/AIGames.HeadsUpOmaha/src/HeadsUpOmaha.sln (default targets) -> (Build target) -> /home/adminuser/workspaces2/AIGames.HeadsUpOmaha/src/AIGames.HeadsUpOmaha.UnitTests/AIGames.HeadsUpOmaha.UnitTests.csproj (default targets) -> /usr/lib/mono/xbuild/12.0/bin/Microsoft.Common.targets (_CopyAppConfigFile target) ->
/usr/lib/mono/xbuild/12.0/bin/Microsoft.Common.targets: error : Cannot copy /home/adminuser/workspaces2/AIGames.HeadsUpOmaha/src/AIGames.HeadsUpOmaha.UnitTests/App.config to /home/adminuser/workspaces2/AIGames.HeadsUpOmaha/src/AIGames.HeadsUpOmaha.UnitTests/bin/Debug/AIGames.HeadsUpOmaha.UnitTests.dll.config, as the source file doesn't exist.
Its easy enough to work around these by copying App.config.develop to App.config, but not sure why that is necessary.
- Created Tuesday, June 24th 2014 @ 08:46:54
@Dualinity: Does the bot run, when you run it stand alone?
@jbergmark: It is required do create the *.config files yourself. The *.config.develop give an idea of who they should look.
- Created Tuesday, June 24th 2014 @ 08:48:02
@Corniel Yes, it does run on its own (same as on AIgames).