Life In 19x19
http://lifein19x19.com/

Engine Tournament
http://lifein19x19.com/viewtopic.php?f=18&t=13322
Page 2 of 20

Author:  as0770 [ Sat Oct 01, 2016 10:59 am ]
Post subject:  Re: Engine Tournament

Hane wrote:
New engine Matilda by Gonçalo

https://github.com/gonmf/matilda


League A:

Code:
    1. Leela 0.6.2                  22:2
    2. Hiratuka 10.37               21:3
    3. PachiUCT 11.99               15:9
    4. Ray 8.0.1                    13:11
    5. Fuego 1.1                     7:17
    6. MoGo 3                        5:19
    7. GNU Go 3.8                    1:23


League B:

Code:
    1. GNU Go 3.8                   25:3
    2. Hara 0.9                     17:11
    3. Dariush 3.1.5.7              16:12
    4. Indigo 2009                  16:12
    5. Matilda 1.20                 14:14
    6. Aya 6.34                     13:15
    7. Fudo Go 3.0                  11:17
    8. AmiGoGtp 1.8                  0:28


Configuration:
amigogtp.exe
Aya.exe –mode gtp –level max
DarGTP.exe –level 10
taskset -c 1 fudo –boardsize=19 –komi=6.5
fuego.exe –config fuego.cfg
---
fuego.cfg:
uct_param_search number_threads 1
uct_param_search lock_free 0
uct_max_memory 1024000000
uct_param_player reuse_subtree 1
uct_param_player ponder 0
uct_param_player early_pass 1
---
gnugo –mode gtp –level 10
hara
taskset -c 0 Hiratuka-19×19.exe -po 15000
Indigo.exe -gtp
leela –gtp –threads 1 –noponder
matilda
---
matilda.h:
#define BOARD_SIZ 19
#define DEFAULT_UCT_MEMORY 1000
#define DEFAULT_NUM_THREADS 1
---
mogo –19 –pondering 0 –nbThreads 1
pachi -f pachibook.dat threads=1,max_tree_size=1024,pondering=0
ray --time 3600 --thread 1 --no-debug

TWOGTP=”gogui-twogtp -black \”$BLACK\” -white \”$WHITE\” -games 2 -size 19 -time 60 -sgffile xxxx”
gogui -size 19 -program “$TWOGTP” -computer-both -auto

Author:  Hane [ Sat Oct 01, 2016 6:06 pm ]
Post subject:  Re: Engine Tournament

Leela 0.7.0

http://www.sjeng.org/leela.html

Author:  as0770 [ Mon Oct 03, 2016 9:49 am ]
Post subject:  Re: Engine Tournament

Hane wrote:


Leela vs. Hiratuka:
Code:
    1. Leela 0.7.0                  18/24
    2. Hiratuka 10.37B               6/24


League A:
Code:
    1. Leela 0.7.0                  22/24
    2. Hiratuka 10.37B              21/24
    3. PachiUCT 11.99               15/24
    4. Ray 8.0.1                    13/24
    5. Fuego 1.1                     7/24
    6. MoGo 3                        5/24
    7. GNU Go 3.8                    1/24


League B:
Code:
    1. GNU Go 3.8                   25/28
    2. Hara 0.9                     17/28
    3. Dariush 3.1.5.7              16/28
    4. Indigo 2009                  16/28
    5. Matilda 1.20                 14/28
    6. Aya 6.34                     13/28
    7. Fudo Go 3.0                  11/28
    8. AmiGoGtp 1.8                  0/28


Configuration:
amigogtp.exe
Aya.exe –mode gtp –level max
DarGTP.exe –level 10
taskset -c 1 fudo –boardsize=19 –komi=6.5
fuego.exe –config fuego.cfg
---
fuego.cfg:
uct_param_search number_threads 1
uct_param_search lock_free 0
uct_max_memory 1024000000
uct_param_player reuse_subtree 1
uct_param_player ponder 0
uct_param_player early_pass 1
---
gnugo –mode gtp –level 10
hara
taskset -c 0 Hiratuka-19×19.exe -po 15000
Indigo.exe -gtp
leela –gtp –threads 1 –noponder
matilda
---
matilda.h:
#define BOARD_SIZ 19
#define DEFAULT_UCT_MEMORY 1000
#define DEFAULT_NUM_THREADS 1
---
mogo –19 –pondering 0 –nbThreads 1
pachi -f pachibook.dat threads=1,max_tree_size=1024,pondering=0
ray --time 3600 --thread 1 --no-debug

TWOGTP=”gogui-twogtp -black \”$BLACK\” -white \”$WHITE\” -games 2 -size 19 -time 60 -sgffile xxxx”
gogui -size 19 -program “$TWOGTP” -computer-both -auto

Author:  gonmf [ Fri Oct 07, 2016 11:27 am ]
Post subject:  Re: Engine Tournament

Hello, I am the author of the Matilda bot, this is my first post.

I noticed you are launching matilda without any options, and this will by default use as many threads as available cores. I noticed that the other bots are playing on one thread and as such they may be playing in unfair ground.

Best wishes,
Gonçalo

Author:  as0770 [ Fri Oct 07, 2016 11:14 pm ]
Post subject:  Re: Engine Tournament

gonmf wrote:
Hello, I am the author of the Matilda bot, this is my first post.

I noticed you are launching matilda without any options, and this will by default use as many threads as available cores. I noticed that the other bots are playing on one thread and as such they may be playing in unfair ground.

Best wishes,
Gonçalo


Thanks for the hint. Matilda was playing on one core, in my post above the info was missing and I now added the changes in matilda.h.

Is it possible to configure it at the command line or with a configuration file?

Best wishes and thanks for sharing your bot,
Alex

Author:  q30 [ Sat Oct 08, 2016 2:12 am ]
Post subject:  Re: Engine Tournament

Go engines rate (sparrings by GTP on one computer with a half of processor and memory limits for each engine):
1. Ray
2&3. Pachi & Leela
4. MoGo
5&6. Many Faces of Go & FueGo


Go engines non default compiling parameters:
Pachi 32a031c - DOUBLE_FLOATING=1; prefix=/usr; spatial_hash_bits 30; gogod-handikgspachi-iter patterns (copying in engine dir. prob and spat files)
MoGo 4.86 - noMpi
FueGo 1.1.SVN [fix_stage] - prefix=/usr


Go engines start up parameters:

Ray 8.0.1 - --komi 7.5 --const-time 120 --thread 2 --pondering --tree-size 262144

Pachi 32a031c (working dir. with patterns and opening book) - -f book.dat -t 120 threads=2,max_tree_size=4096,prior=pattern=160

leela_062_linux_x64 - --gtp --threads 2

MoGo 4.86 (working dir. with patterns and opening book) - --19 --time 120 --pondering 1 --nbThreads 2 --collectorLimitTreeSize 800000

MoGo 3.0.0[mod] (working dir. with patterns) - --19 --time 120 --pondering 1 --nbThreads 2 --collectorLimitTreeSize 800000 --loadOB totalOB.ob --limitTreeSize 1000000 --randomMode 44 --saveMode on --firstPlayUrgency 1.1 --cfgMode 2 --metaBlockMode 6 --blockMode 3 --distance1 3 --distance2 2 --freeLocationSize 30 --zoneMode 1 --zoneModeStopNumber 200 --undoMode 0 --accelerateMode 1 --firstMoveFixed 4 --shishoCheckMode 1 --uctUpdateMode -1

MoGo 3.0.0[mod] 32bits (working dir. with patterns and opening book) - --19 --time 120 --pondering 1 --nbThreads 2 --collectorLimitTreeSize 400000 --loadOB totalOB.ob --limitTreeSize 1000000 --randomMode 44 --saveMode on --firstPlayUrgency 1.1 --cfgMode 2 --metaBlockMode 6 --blockMode 3 --distance1 3 --distance2 2 --freeLocationSize 30 --zoneMode 1 --zoneModeStopNumber 200 --undoMode 0 --accelerateMode 1 --firstMoveFixed 4 --shishoCheckMode 1 --uctUpdateMode -1

FueGo 1.1.SVN [fix_stage] (working dir. with opening book) - --config $HOME/FueGo_server.cfg
where FueGo_server.cfg file content:
uct_param_search number_threads 2
uct_param_search lock_free 1
uct_max_memory 7000000000
uct_param_player reuse_subtree 1
uct_param_player ponder 1
go_param timelimit 120
uct_param_globalsearch live_gfx 1
uct_param_globalsearch territory_statistics 1
uct_param_search live_gfx sequence
uct_param_search live_gfx_interval 9000

Many Faces of Go 12 - New Game windows content:
Ranked Game
Board Size: 19
Handicap: 0
Komi: 7.5
Chinese
Periods: 4444
Stones: 1
Time: 0:04
Configure...
Folder: Z:\usr\share\gogui\lib
Command: java -jar gogui-client.jar localhost 55555
White: Base Time 00:00; 2 Kyu
Black: Base Time 44:44; GTP Player
or
White: Base Time 44:44; GTP Player
Black: Base Time: 00:00; 2 Kyu

Engines. Games.

May be it will be another rate, if someone will let know, how to change Leela's thinking time...

Author:  q30 [ Sat Oct 08, 2016 2:24 am ]
Post subject:  Re: Engine Tournament

gonmf wrote:
Hello, I am the author of the Matilda bot, this is my first post.

I noticed you are launching matilda without any options, and this will by default use as many threads as available cores. I noticed that the other bots are playing on one thread and as such they may be playing in unfair ground.

Best wishes,
Gonçalo


I shall sparring Matilda with other engines above. Can You recommend today any game strengthening compilation and start up parameters for 2 min/move, 2 threads and max 8 GB of memory use?

Thanks in advance.

Author:  as0770 [ Sat Oct 08, 2016 11:32 pm ]
Post subject:  Re: Engine Tournament

q30 wrote:
May be it will be another rate, if someone will let know, how to change Leela's thinking time...


You can set Leela's (and most other gtp engines) thinking time via gtp.

I use twogtp with this options TWOGTP=”gogui-twogtp -black \”$BLACK\” -white \”$WHITE\” -games 2 -size 19 -time 60 -sgffile xxxx”
gogui -size 19 -program “$TWOGTP” -computer-both -auto

The gtp command looks like this: time_settings 3600 0 0

Best,
Alex

Author:  q30 [ Sat Oct 15, 2016 3:06 am ]
Post subject:  Re: Engine Tournament

as0770 wrote:
You can set Leela's (and most other gtp engines) thinking time via gtp.

I use twogtp with this options TWOGTP=”gogui-twogtp -black \”$BLACK\” -white \”$WHITE\” -games 2 -size 19 -time 60 -sgffile xxxx”
gogui -size 19 -program “$TWOGTP” -computer-both -auto

The gtp command looks like this: time_settings 3600 0 0

Best,
Alex

Yes, I have found, that it is possible to change Leela's thinking time by adding to gogui-twogtp.jar time control start up parameter, and I have use: "-time 1s+2/1" (details are in Games link or this message).

Go engines rate (sparrings by GTP on one computer with a half of processor and memory limits for each engine):
    League A
  • 1. Leela
    League B
  • 2. Ray
  • 3. Pachi
  • 4. MoGo

Go engines non default compiling and start up parameters.

Engines. Games.

Author:  q30 [ Sat Oct 22, 2016 7:23 am ]
Post subject:  Re: Engine Tournament

gonmf wrote:
Hello, I am the author of the Matilda bot, this is my first post.

I noticed you are launching matilda without any options, and this will by default use as many threads as available cores. I noticed that the other bots are playing on one thread and as such they may be playing in unfair ground.

Best wishes,
Gonçalo


Matilda - Pachi: 0 - 4;
Matilda - MoGo: 0 - 4;
Matilda - FueGo: 0 - 4.

Matilda start up parameters:
Code:
-t 0+2m/1 --think_in_opt_time --memory 8000 --threads 2 -l ewi --log_dest o


Matilda precompilation set up file (./src/inc/matilda.h) content:
Code:
#define BOARD_SIZ 19
#define DEFAULT_KOMI 15
#define DEFAULT_UCT_MEMORY 7000
#define LATENCY_COMPENSATION 270
#define DEFAULT_DATA_PATH "./data/"
#define MATILDA_RELEASE_MODE 1
#define DEFAULT_NUM_THREADS 0
#define MAXIMUM_NUM_THREADS 64
#define CAN_RESIGN 1
#define UCT_EXPANSION_DELAY 1
#define DEFAULT_TIME_PER_TURN 100000

Changes in ./src/inc/mcts.h:
Code:
#define UCT_RESIGN_WINRATE 0.25


Go engines non default compiling and start up parameters.

Matilda is very weak engine.
Recommendation: take MoGo (it was made for dissertation too and its development was left many years ago) and upgrade it!
May be it will be enough to update OB and patterns files and set up start up parameters:
--gobanSize
--playerName
--time

--resignThreshold

--undoMode
--useServer
--useSimpleServerVersion
--nbSimulationsByNodeServer
--serverPort

--bufferSizeForEachMachine
--nbThreads

--test
--limitTreeSize
--collectorLimitTreeSize
--openingTestMode
--openingTestThreshold
--randomThreshold
--gobanRandomThreshold
--thresholdSelfAtari
--debugMode
--pondering

--useColor
--dontDisplay
--showBigGobanStringNumber

--randomMode
--randomMode2
--srandByTime
--mixRandomModeRatio
--mixRandomMode1
--mixRandomMode2

--openingModes
--openingMode
--openingMoveNumber
--useOpeningDatabase
--firstMoveFixed
--minimumDatabaseUse
--databaseName
--name
--openTestThreshold

--imitateMode
--imitateMoveNumber

--logShift
--invShift
--alpha
--beta
--mixThreshold
--alpha2
--meta
--correlatedMode
--alphaSqrt

--addingOwnSimulations
--multiplyingOwnSimulations
--typeOfComputation

--p1
--p2
--numUpdateFormulaeMoveSelector

--firstPlayUrgency
--urgencySelectorMode
--firstPlanUrgencyByGrandFather


--allowDoublePassInTree
--nbChildsAlreadyDone
--firstPlayUrgencyByGrandFather
--earlyCut
--relativeDepthMax

--uctUpdateMode

--keepTreeIfPossible

--fastRand
--earlyStop
--stopDifference
--recheckEyeMode
--isSelfAtariMode
--shishoLikeMoveForced
--nbTotalSimulationsForEachNode
--nbSimulationsForEachNode
--fillRangeFirstMode
--uselessMode

--accelerateMode
--nbTotalSimulations
--shishoCheckMode
--komi2

--zoneModeStopNumber
--blockMode
--metaBlockMode
--zoneMode
--freeLocationSize
--distance1
--distance2
--grDistance1
--grDistance2
--cfgMode
--nearMode
--sizeNear
--nearMode2

--defaultNew19
--defaultNew9
--defaultNew13
--19
--9
--13
--displayGames
--initiateByFiles
--player0
--player1
--minNumberOfSimulationsOfResign
--mercyThresholdDivider
--scoreMode
--factorForSide

--loadOB

Engines. Games.

Author:  as0770 [ Sat Oct 22, 2016 9:57 am ]
Post subject:  Re: Engine Tournament

q30 wrote:
Matilda is very weak engine.
Recommendation: take MoGo (it was made for dissertation too and its development was left many years ago) and upgrade it!


It plays well compared to other engines and it can win against beginners like me. There are many weaker engines than Matilda. For a programmer it is a challenge to write a go playing program from scratch, and it is a very hard task to reach the strength of Matilda. It is not a challenge to tune some parameters of an existing engine and for the users it would be boring to play against 10 different versions of MoGo. So Gonçalo's work is much appreciated :clap:

Author:  q30 [ Sat Oct 22, 2016 11:18 am ]
Post subject:  Re: Engine Tournament

as0770 wrote:

It plays well compared to other engines and it can win against beginners like me. There are many weaker engines than Matilda. For a programmer it is a challenge to write a go playing program from scratch, and it is a very hard task to reach the strength of Matilda. It is not a challenge to tune some parameters of an existing engine and for the users it would be boring to play against 10 different versions of MoGo. So Gonçalo's work is much appreciated :clap:


You can change engine strength by set up time control parameters. For example, if You will download Go board and engines from here, will follow the enclosed instructions, then You will get Go player with 4 engines and 11 levels of game strength (from random to "God-like").
I absolutely agree with You, that is a very hard task. So, it's easier to upgrade existing development left strong engine and not only start up parameters for that it would be not boring (and would not be different MoGo version, but will be, for example, Matilda)...

Author:  as0770 [ Thu Nov 10, 2016 1:44 pm ]
Post subject:  Re: Engine Tournament

Added Michi-C: https://github.com/db3108/michi-c

Leela vs. Hiratuka:
Code:
    1. Leela 0.7.0                  18/24
    2. Hiratuka 10.37B               6/24


League A:
Code:
    1. Leela 0.7.0                  22/24
    2. Hiratuka 10.37B              21/24
    3. PachiUCT 11.99               15/24
    4. Ray 8.0.1                    13/24
    5. Fuego 1.1                     7/24
    6. MoGo 3                        5/24
    7. GNU Go 3.8                    1/24


League B:
Code:
    1. GNU Go 3.8                   29/32
    2. Michi-C                      25/32
    3. Hara 0.9                     18/32
    4. Dariush 3.1.5.7              17/32
    5. Indigo 2009                  16/32
    6. Matilda 1.20                 15/32
    7. Aya 6.34                     13/32
    8. Fudo Go 3.0                  11/32
    9. AmiGoGtp 1.8                  0/32


Configuration:
amigogtp.exe

Aya.exe –mode gtp –level max

DarGTP.exe –level 10

taskset -c 1 fudo –boardsize=19 –komi=6.5

fuego.exe –config fuego.cfg
Code:
fuego.cfg:
uct_param_search number_threads 1
uct_param_search lock_free 0
uct_max_memory 1024000000
uct_param_player reuse_subtree 1
uct_param_player ponder 0
uct_param_player early_pass 1

gnugo --mode gtp --level 10 --resign-allowed

hara

taskset -c 0 Hiratuka-19×19.exe -po 15000

Indigo.exe -gtp

leela –gtp –threads 1 –noponder

matilda
Code:
matilda.h:
#define BOARD_SIZ 19
#define DEFAULT_UCT_MEMORY 1000
#define DEFAULT_NUM_THREADS 1

michi gtp
Code:
michi.c
Komi 6.5

michi.h
N 19
N-SIMS 10000

mogo –19 –pondering 0 –nbThreads 1

pachi -f pachibook.dat threads=1,max_tree_size=1024,pondering=0

ray --time 3600 --thread 1 --no-debug


TWOGTP=”gogui-twogtp -black \”$BLACK\” -white \”$WHITE\” -games 2 -size 19 -time 60 -sgffile xxxx”
gogui -size 19 -program “$TWOGTP” -computer-both -auto

Author:  q30 [ Sat Nov 19, 2016 2:52 am ]
Post subject:  Re: Engine Tournament

as0770 wrote:
Added Michi-C: https://github.com/db3108/michi-c

Configuration:

There are very weak parameters of Monte Carlo Go engines and therefore a high level of results randomness...

Author:  as0770 [ Sat Nov 19, 2016 7:42 am ]
Post subject:  Re: Engine Tournament

q30 wrote:
as0770 wrote:
Added Michi-C: https://github.com/db3108/michi-c

Configuration:

There are very weak parameters of Monte Carlo Go engines and therefore a high level of results randomness...


?

Author:  q30 [ Sat Nov 19, 2016 11:16 am ]
Post subject:  Re: Engine Tournament

as0770 wrote:
?

OK, I'll try to explain with my bad English...
All these Go engines are using Monte Carlo method, i.e. games simulations with random move search and with gradual elimination of the most unsuccessful and the choice (with repeated simulations) the most successful (for and the rival) move sequences. So the game strength is in direct dependence of the simulations number. When You use only 1 thread, not enough memory and time, don't use pondering, opening books and patterns search the game of such engines becomes more and more casual...

Author:  as0770 [ Sat Nov 19, 2016 1:36 pm ]
Post subject:  Re: Engine Tournament

q30 wrote:
as0770 wrote:
?

OK, I'll try to explain with my bad English...
All these Go engines are using Monte Carlo method, i.e. games simulations with random move search and with gradual elimination of the most unsuccessful and the choice (with repeated simulations) the most successful (for and the rival) move sequences. So the game strength is in direct dependence of the simulations number. When You use only 1 thread, not enough memory and time, don't use pondering, opening books and patterns search the game of such engines becomes more and more casual...


I got 4 cores only. So pondering and 2 cores/engines would result in unfair allocation of CPU time. I think even more important is the number of games. 24 games under this conditions will give a better result than 12 games with doubled time or 2 cores for each engine.

Still this 24 games are statistically not significant. To get a correct reflection of the strength you need at least 100 games/engine. I just want to get a fast and rough estimation of the strength. Anyway, maybe I will improve the conditions for the top engines one day :)

Author:  zookar [ Tue Nov 22, 2016 11:51 am ]
Post subject:  Re: Engine Tournament

Thanks for sharing, as0770.

Have you tried Ray-nn? It is mentioned here by Hiroshi Yamashita(author of Aya) that Ray has this new version with Policy and Value net implemented and rates 2900 in CGOS(while ray_8.0.1_1k rates around 1800).Their Github link is here.

Leela has also released version 0.8.0 in 2016-11-17,with playouts configurable now.

Author:  as0770 [ Tue Nov 22, 2016 11:30 pm ]
Post subject:  Re: Engine Tournament

zookar wrote:
Thanks for sharing, as0770.

Have you tried Ray-nn? It is mentioned here by Hiroshi Yamashita(author of Aya) that Ray has this new version with Policy and Value net implemented and rates 2900 in CGOS(while ray_8.0.1_1k rates around 1800).Their Github link is here.

Leela has also released version 0.8.0 in 2016-11-17,with playouts configurable now.


Thanks for the info, I added Leela 0.8.0 and some weaker engines and will add Ray nn soon.



Leela vs. Hiratuka:
Code:
    1. Leela 0.8.0                   14/24
    2. Hiratuka 10.37B               10/24


League A:
Code:
    1. Leela 0.8.0                  21/24
    2. Hiratuka 10.37B              20/24
    3. PachiUCT 11.99               15/24
    4. Ray 8.0.1                    15/24
    5. Fuego 1.1                     7/24
    6. MoGo 3                        5/24
    7. GNU Go 3.8                    1/24


League B:
Code:
    1. GNU Go 3.8                   29/32
    2. Michi-C                      25/32
    3. Hara 0.9                     18/32
    4. Dariush 3.1.5.7              17/32
    5. Indigo 2009                  16/32
    6. Matilda 1.20                 15/32
    7. Aya 6.34                     13/32
    8. Fudo Go 3.0                   9/32
    9. JrefBot 081016-2022           0/32


League C:
Code:
    1. JrefBot 081016-2022          24/24
    2. AmiGo 1.8                    18/24
    3. Crazy Patterns 0008-13       17/24
    4. Stop 0.9-005                 10/24
    5. CopyBot 0.1                   8/24
    6. Brown 1.0                     7/24
    7. MattpkGo 1.0                  0/24


Configuration:
Aya.exe –mode gtp –level max

DarGTP.exe –level 10

taskset -c 1 fudo –boardsize=19 –komi=6.5

fuego.exe –config fuego.cfg
Code:
fuego.cfg:
uct_param_search number_threads 1
uct_param_search lock_free 0
uct_max_memory 1024000000
uct_param_player reuse_subtree 1
uct_param_player ponder 0
uct_param_player early_pass 1

gnugo --mode gtp --level 10 --resign-allowed

hara

taskset -c 0 Hiratuka-19×19.exe -po 15000

Indigo.exe -gtp

java -jar /home/alex/Programme/Engines/Go/jrefgo.jar 10000

leela –gtp –threads 1 –noponder

matilda
Code:
matilda.h:
#define BOARD_SIZ 19
#define DEFAULT_UCT_MEMORY 1000
#define DEFAULT_NUM_THREADS 1

michi gtp
Code:
michi.c
Komi 6.5

michi.h
N 19
N-SIMS 10000

mogo –19 –pondering 0 –nbThreads 1

pachi -f pachibook.dat threads=1,max_tree_size=1024,pondering=0

ray --time 3600 --thread 1 --no-debug


TWOGTP=”gogui-twogtp -black \”$BLACK\” -white \”$WHITE\” -games 2 -size 19 -time 60 -sgffile xxxx”
gogui -size 19 -program “$TWOGTP” -computer-both -auto


Under this conditions Leela 0.8.0 got a worse result than v0.7.0.

Best,
Alex

Author:  as0770 [ Wed Nov 23, 2016 11:40 pm ]
Post subject:  Re: Engine Tournament

zookar wrote:
Have you tried Ray-nn? It is mentioned here by Hiroshi Yamashita(author of Aya) that Ray has this new version with Policy and Value net implemented and rates 2900 in CGOS(while ray_8.0.1_1k rates around 1800).Their Github link is here.


Unfortunately I have not been able to compile it for Linux...

Alex

Page 2 of 20 All times are UTC - 8 hours [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/