Hi Don,
thank you, that is very useful. Definitely food for thought. I am
probably going to have time to take a look at this tomorrow. If you have
a developer copy of the server running on a private port, and can mail
me that off-list, I'd like to give it a try.
A few questions:
- What is a good way of referring to this new version of CGOS? CGOS 2?
- What happens if the old server is sent "e2"? Does it drop the
connection?
- Probably more of a user question, but what is the default venue
exactly? You said 9x9, I guess that's 9-300-7.5, as it is now?
And unrelated:
- I've sometimes wanted to see who is currently playing on the
server. Will this be possible (e.g. through a web pages that gets
updated every few minutes)?
Christian
On 23/06/2009 14:29, Don Dailey wrote:
Christian (and anyone else interested) in the new CGOS protocol:
There are 2 minor change to the protocol. I'm hoping to do a test
drive today as the new server is functional, though not 100% complete.
Here are the two changes:
First of all, when the server asks for the protocol, you can continue
to use the "e1" protocol and it will default to a default venue (which
will be 9x9 for now.) In this way the old clients will continue to
work.
But if you specify the new 'e2' protocol, such as: 'e2 cgosPython 0.2
beta' you will next get something like this:
venues 9-300-7.5 11-420-7.5 13-540-7.5 15-660-7.5 17-780-7.5 19-900-7.5
This is a list of available venues and could be anything the server is
configured for. Each venue is separated by a space. A hyphen
separates the 3 elements within a venue which are boardsize, time in
seconds, and komi. So 15-660-7.5 is:
boardsize: 15x15
time control: 11:00 (11 minutes, zero seconds.)
komi: 7.5
You may want to provide some mechanism for informing the user of the
software which venues are available, even if it is as simple as just
displaying it. If the user tries to configure a venue that is not
available the connection will abort. You can also respond with a
'quit' if the client notices that the user did not specify an
available venue. Of course all of that can be handled any way the
client sees fit to do or you can just ignore the issue and require the
user to configure a proper venue (the available venues will be posted
on the web page of course.)
The proper response is ONE of those protocols, such as "13-540-7.5"
After this, everything remains the same as in the old protocol and the
server will next get the username and password as usual.
The second (optional) change is this:
If you respond to the protocol message with something like this:
"t2 cgosNoGo 0.1 alpha - Java engine client for NoGo"
The client will be placed in test mode. Nothing else changes about
the protocol, it is the same as "e2" but this triggers the server to
play test games with the client which will not be rated or
recorded. You will then recieve the venues message which you must
respond to just as in the e2 protocol.
Another minor change, which does not directly affect the protocol, is
that the server will abort any connection that seems unduly delayed.
For instance if the client does not respond to messages after a few
seconds (such as gameover or venues) then the server will abort the
connection. This is to avoid a needless buildup of bogus connections.
FYI here is a list of clients GGOS has seen for the e1 protocol. I'm
leaving out the clients I have provided:
e1 CGOS soket engine client 1.3 windows7 by WangManDong
e1 CGOS pike client 0.9 by Gunnar Farneback
e1 CGOS tcl engine client 1.2 [platform] by WangManDong
e1 MROZTEST 1
e1 NaruGoTest
e1 Tesuji Software CGOS Client
e1 cgosNoGo 0.1 alpha - Java engine client for NoGo
e1 cgosNoGo 0.1 alpha - Java engine client for Nogo
e1 cgosPython 0.1 beta
e1 cgosPython 0.2 beta
e1 cgosPython 0.3.0 beta
e1 joe
e1 myCtest
e1 test client
e1 testing
v1 "0.1 NaruGo client for CGOS."
v1 NaruGoTest
- Don
On Tue, Jun 23, 2009 at 8:20 AM, Christian Nentwich
<[email protected] <mailto:[email protected]>> wrote:
All,
FYI, the Python version of the CGOS client has moved into the main
CGOS sourceforge area:
http://cgos.sourceforge.net/client-python/
There is also a new release (0.3.0) out that supports multiple
engines.
Christian
_______________________________________________
computer-go mailing list
[email protected] <mailto:[email protected]>
http://www.computer-go.org/mailman/listinfo/computer-go/
------------------------------------------------------------------------
_______________________________________________
computer-go mailing list
[email protected]
http://www.computer-go.org/mailman/listinfo/computer-go/
_______________________________________________
computer-go mailing list
[email protected]
http://www.computer-go.org/mailman/listinfo/computer-go/