[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [computer-go] how to use GTP in place of GMP
Don,
The protocol you used could be called GTP/SSH (GTP over SSH, v1 or
v2?).... the *implementation* you used to implement that protocol was to
pipe stdin/stdout of your Go program through ssh.
It's important to standardize protocols and interfances *instead* of
implementations. You can recommend that an engine programmer just
read/write to stdin/stdout, and then just use a utility (ssh in this case)
to do the transport or other stuff for you, but it shouldn't be *required*.
I imagine that someone will write a very easy to use library in C, C++, or
Java that speaks GTP (to stdout or over TCP), and then that might become the
easiest way for a new engine programmer to interoperate with others (easier
than implementing GTP yourself and writing it to stdin/stdout). You can
give engine developers easy to use tools and flexibility at the same time.
So as far as GTP/TCP is concerned, it should be specified, and the engine
developers could be given a number of different implementation options:
- speak GTP to stdin/stdout and use this cool utility, gtp2tcp (or twogtp
if it has the capability)
- use the super_easy_GTP library in C++ or Java, or ???, and it will handle
all the details of GTP and communications for you.
- use this translation library from protocol A that you already implelemted
to GTP
- implement the entire thing yourself if you want to.
Oh, and as far as GTP/SSH, if it's SSHv2 then you are going to have a lot
more headaches than you realize trying to get everyone to interoperate (all
the private/public key management, etc). Even if it's SSHv1, then you need
to have a shared account that everyone can login to, or you need to create
an account for every player. Requires knowledge of sshd configuration, etc.
Yuck, we were supposed to be making it easier!
-Yonik
----- Original Message -----
From: "Don Dailey" <drd@xxxxxxxxxxxxxxxxx>
To: <computer-go@xxxxxxxxxxxxxxxxx>
Cc: <computer-go@xxxxxxxxxxxxxxxxx>
Sent: Wednesday, August 11, 2004 11:54 PM
Subject: Re: [computer-go] how to use GTP in place of GMP
>
> I did the UNIX remote shell part of the GTP test and it worked as
> expected and only took 5 minutes to set up.
>
> I'm playing autotest games with my local autotester program now. One
> of the programs is running on a computer in Massachusetts and the
> other is running on a computer in Virginia. I did not write any code
> to do this, all I did was invoke the programs from ssh (a remote shell
> utility.)
>
> The program invocation looks like this (the first "field" is a handle
> my autotester system uses for reporting.)
>
> progA ssh don@xxxxxxxxxxxxxxxxx ./playgo -r -b pattern.brain -o A.log -l 3
> progB ssh drd@xxxxxxxxxxxxxxxxx ./playgo -r -b simple.brain -o B.log -l
3
>
> If I run everything locally it's this:
>
> progA ./playgo -r -b pattern.brain -o A.log -l 3
> progB ./playgo -r -b simple.brain -o B.log -l 3
>
> The trick is making this work in Windows because you normally cannot
> "log in" to a windows machine to use it directly.
>
> The TCP stuff you guys are kicking around is a good solution, but it
> will be interesting to know if it can be solved without any additional
> programming, whether it's actually done or not and without requiring
> the GO programmer to worry about TCP stuff.
>
> - Don
> _______________________________________________
> computer-go mailing list
> computer-go@xxxxxxxxxxxxxxxxx
> http://www.computer-go.org/mailman/listinfo/computer-go/
_______________________________________________
computer-go mailing list
computer-go@xxxxxxxxxxxxxxxxx
http://www.computer-go.org/mailman/listinfo/computer-go/