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

KGS protocol opened
http://www.lifein19x19.com/viewtopic.php?f=24&t=12765
Page 1 of 2

Author:  hyperpape [ Fri Mar 04, 2016 6:37 am ]
Post subject:  Re: KGS protocol opened

I haven't played with web sockets, but I wonder you couldn't use them as transport for the binary stream protocol that KGS uses.

Author:  Pippen [ Sat Mar 05, 2016 4:50 pm ]
Post subject:  Re: KGS protocol opened

Goodbye KGS, Hello OGS, Goodbye IGS, Hello Tygem. Don't work on deadwood.

Author:  DrStraw [ Sat Mar 05, 2016 4:59 pm ]
Post subject:  Re: KGS protocol opened

Pippen wrote:
Goodbye KGS, Hello OGS, Goodbye IGS, Hello Tygem. Don't work on deadwood.


IGS I agree with. But OGS & Tygem? They must have improved drastically since the last time I tried them. They were terrible interfaces. I must admit that it has been a while. Please explain what they have to offer that KGS does not.

Author:  Pippen [ Sat Mar 05, 2016 6:58 pm ]
Post subject:  Re: KGS protocol opened

DrStraw wrote:
But OGS & Tygem?


Tygem has a bad (english) client, but thousands of players (you get almost instantly games) including a lot of very strong players and professionals. It seems like the go-to Go-Server right now. OGS is what KGS was 10 years ago: an up and coming server where people put a lot of work in it. KGS is still fine but WMS has obviously abandon this project, so it will die out within the next 10 years, if not he does transfer all the power to some other people (but then who knows...remember Kaya?).

I'd rather see people putting effort into forcing Tygem to improve its english client or OGS.

Author:  TegaiS [ Sat Mar 05, 2016 7:01 pm ]
Post subject:  Re: KGS protocol opened

DrStraw wrote:
IGS I agree with. But OGS & Tygem? They must have improved drastically since the last time I tried them. They were terrible interfaces. I must admit that it has been a while. Please explain what they have to offer that KGS does not.


OGS offers simplicity. Just go there and play. No Java, no clients, no technical difficulties. Also it has better position in Google search. And I heard that it already has more low kyu players than KGS.

KGS has better interface, better rating system and review tools, more strong players and less bugs but all this doesn't matter much for novices.

Author:  Hrabanus [ Sun Mar 06, 2016 12:17 am ]
Post subject:  Re: KGS protocol opened

TegaiS wrote:

OGS offers simplicity. Just go there and play. No Java, no clients, no technical difficulties. Also it has better position in Google search. And I heard that it already has more low kyu players than KGS.

KGS has better interface, better rating system and review tools, more strong players and less bugs but all this doesn't matter much for novices.

Java and the client work well and fast on a Debian OS. No Problems here :)
(Though that might be different with Windows, but using that one practically asks for trouble ;-) )
Pages on ogs take up to 10s to load, i find that nowadays very slow, and for me there is too much distracting stuff on the page when i’m playing.
But the mods are really nice people there and there are potentially more players available for my rank (20k on both).
On the other hand i get to play stronger players more on kgs and that’s helping me to improve much more than games with players around my strength, just because they play better Go and i can learn from that.

BTT: Do i understand that right, is it only the protocol used for connecting a browser client to the server that is “kind of open source” now?
Or is it possible to use it with every kind of client?
A good looking, well working native Linux client would be really great, but i think the intersection of Baduk players and Linux users is to small for that.

Author:  hyperpape [ Sun Mar 06, 2016 12:48 pm ]
Post subject:  Re: KGS protocol opened

Hrabanus wrote:
BTT: Do i understand that right, is it only the protocol used for connecting a browser client to the server that is “kind of open source” now?
Or is it possible to use it with every kind of client?
A good looking, well working native Linux client would be really great, but i think the intersection of Baduk players and Linux users is to small for that.
On the server, no one knows you're a browser ;)

The questions are 1) what WMS intends to allow/encourage 2) how full featured the API is.

Author:  macelee [ Sun Mar 06, 2016 1:54 pm ]
Post subject:  Re: KGS protocol opened

It looks like one needs to run a Java application server on his/her own server and deploy the web application supplied. Then create whatever client to communicate with your own server. So the KGS server won't be able to tell what client is being used.

Author:  lodestone [ Sun Mar 06, 2016 3:41 pm ]
Post subject:  Re: KGS protocol opened

KGS remains my favorite server. It is sociable and a good place to get help and advice for beginners and SDK players. It is also the best server if you are interested in a game with a time control faster than 10min+BYO. It's true that it doesn't have nearly as many very strong players, though, so I can see why it's much less appealing to mid-level or high-level dans.

IGS and Tygem are good places if all you care about is getting matched in a game quickly and aren't looking to chat or to review games. I don't care for the Tygem rating system, though. It seems like there is a much wider spread of actual abilities at a given rank than on KGS or IGS.

I play on OGS also, but I think it has the least to recommend it. It's not very sociable. Despite the fact that there are always many people logged on, it can be difficult to find a game, and the time controls are all over the place. The split rating system (separate blitz, standard, correspondence, and overall) is also awkward. In part because of that, the ability vs. rank discrepancies seem almost as bad as on Tygem. That said, it does seem like the fastest growing and most actively managed server, so maybe it will improve more quickly than the others.

Author:  Charlie [ Wed Mar 23, 2016 5:22 am ]
Post subject:  Re: KGS protocol opened

If I understand, correctly, one may not use this source-code to create a proper, third-party desktop client for KGS. Am I correct?

I am not employed at the moment and writing a professional-quality Windows client is something that I certainly could do - it was my first thought when I read the headline. I'd do it in C# so it would only need the .NET framework which most Windows PCs have, anyway. It would be open source and modifiable and configurable. The code would be 100% professional quality, drawing from my career experience as a developer. I would look to glGo, OGS, Tygem, the KGS official client and the notorious cgobanh for inspiration.

It is such a pity that this dream will never come to pass. (There's a flicker of hope, now.)

With reference to the other topic being discussed in this thread, I don't like OGS because there is still no Auto-match button. It's a great server for correspondence play because the site ladders are nice but the "Play" screen with its pretty but useless graph of games is complete unusable to me. Half the games are not available for me (why are they even shown?) and the others are normally gone by the time I've finished checking that they're ranked and with proper-handicap and with sensible time settings. (Honestly, 1 minute + 20 seconds three times is not something I normally want to play, online.) KGS has a fantastic Auto-match queue with simple options: Medium/Fast/Blitz and Ranked/Unranked. IGS, likewise, is very good in this regard. Tygem is alright, although I often sit for a long time watching red refusal messages in the text box.

Author:  quantumf [ Wed Mar 23, 2016 7:05 am ]
Post subject:  Re: KGS protocol opened

Charlie wrote:
If I understand, correctly, one may not use this source-code to create a proper, third-party desktop client for KGS. Am I correct?


That's not my impression. The protocol has been opened for anyone to write clients. All the calls are (sort of) documented, so you could choose which features to include in your client. I think wms is hoping that someone will write a fully featured html client, for possible inclusion on the KGS website, but that does not prevent anyone from writing clients in any technology. The only weirdness at the moment is that you have to run a local webserver to serve a JSON-binary translator. It works OK, although it is a bit buggy. wms is responding quickly to bug reports.

Presumably you've read his G+ post and subsequent comments - what makes you think you can't write a windows client?

Author:  Charlie [ Wed Mar 23, 2016 8:11 am ]
Post subject:  Re: KGS protocol opened

I did some more investigation, looking at the WAR that WMS posted and reading further down the comment thread - thanks quantumf - and my thinking has changed a lot.

Firstly, I stand corrected. It seems that WMS has no problem with us using his JSON API to create any type of client - even a desktop one. This is good.

Unfortunately, I also realised that he hasn't really open sourced anything. What he called "Open Source" simply isn't. He has created an entirely new JSON API and published an open-source example and documentation for it. He has not published the source code that converts from the JSON API to the Binary API and he has not published the Binary API.

All is not lost, however. There's no reason why I couldn't create my "dream client" using his JSON API. In fact, it might be even better, that way, because it could work through firewalls and proxies.

I'll keep watching and see if WMS responds to the questions on the comment thread asking whether he will be hosting the JSON server anywhere. This, I think, would be required for any serious use of the JSON API - particularly from Windows, where the installation of Apache Tomcat or Jetty is not trivial.

Meanwhile, I have been pondering exactly how cool a rich desktop client for KGS and IGS could be. I reverse engineered the IGS protocol a few years ago, sniffing glGo's traffic. There's no reason why a rich desktop client couldn't be written to connect to either server or even feature an entirely pluggable communication layer.

Author:  quantumf [ Wed Mar 23, 2016 9:03 am ]
Post subject:  Re: KGS protocol opened

Charlie wrote:
Unfortunately, I also realised that he hasn't really open sourced anything. What he called "Open Source" simply isn't.


Yes, as you probably saw, he corrected his terminology. He's opened the API and documented the protocol.

Charlie wrote:
All is not lost, however. There's no reason why I couldn't create my "dream client" using his JSON API. In fact, it might be even better, that way, because it could work through firewalls and proxies.


Indeed. I too briefly considered writing a .net client, as it will be way easier and look much nicer than an html client. However, I mostly use my mac these days, so I'm less inclined to write a platform-specific solution.

Charlie wrote:
I'll keep watching and see if WMS responds to the questions on the comment thread asking whether he will be hosting the JSON server anywhere. This, I think, would be required for any serious use of the JSON API - particularly from Windows, where the installation of Apache Tomcat or Jetty is not trivial.


My impression is that wms answers a subset of the questions on the comment thread. I'm not holding my breath about answers to the others at this point. However, you need not fear Tomcat. It's extremely easy to install. Assuming you have java 8 installed, it shouldn't take more than 1 minute. If you have any issues, you're welcome to PM me. Or if others are interested, I can explain here how to install tomcat and deploy the war file.

The JSON API is a little peculiar, I have to say. RESTful it is not. I guess it's a pretty thin layer over the existing binary protocol. It's incredibly busy, although I suppose that's not surprising given how active the server is - all users joining and leaving the system, all game offers and starts, all public messages etc. are sent down to the client. So every update you receive from the server is quite substantial.

Author:  quantumf [ Wed Mar 23, 2016 11:21 am ]
Post subject:  Re: KGS protocol opened

wms' latest comments suggest that perhaps building a Windows client is not that well-advised, except perhaps as a fun personal project. While he is not opposed to it, he has no interest in specifically supporting or enabling it by hosting the JSON wrapper on the KGS website. It seems you'd have to wait for a compelling HTML app to be written first before the wrapper is hosted, which may or may not ever happen.

Author:  Charlie [ Wed Mar 23, 2016 11:52 am ]
Post subject:  Re: KGS protocol opened

I have hosted things on Tomcat in the past - notably Apache Solr, a product of which I am a huge fan - and done so in production environments (yay! production Windows Servers for non-Microsoft platforms ... not my personal choice...) so I know it's easy. If I do run into trouble, I'll certainly PM you and be grateful for the assistance.

Realistically, any client that required people to first install Java and Tomcat would never be used by any but the adventurous and I'm not about to host the JSON API layer for public consumption - that would imply that I was prepared the maintain such a server and deal with any and all issues. Since it's closed-source, that just isn't going to happen.

I briefly considered some sort of co-deployment so that a .NET client could fire up the server as a surrogate process. That would be possible but complicated and the deployment footprint would be untenable.

Reading WMS' latest replies on the Google+ page makes me doubtful about the possibilities.

Also: ... JSONP ... mutter ... cross domain requests ... mutter ... mutter ...

Author:  quantumf [ Wed Mar 23, 2016 3:01 pm ]
Post subject:  Re: KGS protocol opened

Charlie wrote:
Also: ... JSONP ... mutter ... cross domain requests ... mutter ... mutter ...


Lol :) I get the impression that WMS is still quite dubious about open source.

Author:  quantumf [ Wed Mar 23, 2016 3:08 pm ]
Post subject:  Re: KGS protocol opened

Charlie wrote:
I briefly considered some sort of co-deployment so that a .NET client could fire up the server as a surrogate process. That would be possible but complicated and the deployment footprint would be untenable.


Interesting idea. It will probably be a bit complicated, but the footprint may not be so bad. If you assume Java as prerequisite (not unreasonable if you're going to consider .net as a prerequisite) then you can run jetty as your servlet container, which is "only" about 11 megs zipped.

Author:  SpongeBob [ Mon Mar 28, 2016 3:08 pm ]
Post subject:  Re: KGS protocol opened

I have just gone over the Google+ thread and found this post by WMS, in response to the question if he is planning to host the binary-to-JSON converter in the foreseeable future:

Quote:
Yes, other clients can use the JSON translator, but I don't have much interest in other clients. I'm not going to stop people from writing them, but I don't plan to actively help them either.

I'm fine with an open source HTML client. As long as a good HTML in-browser client is written, I'll be very happy.

This sounds as if WMS has no interest in an iOS client, despite the fact that so many people are desperately waiting for it. Strange, isn't it?

Author:  oren [ Mon Mar 28, 2016 3:40 pm ]
Post subject:  Re: KGS protocol opened

SpongeBob wrote:
This sounds as if WMS has no interest in an iOS client, despite the fact that so many people are desperately waiting for it. Strange, isn't it?


wms has no iOS devices or macs in which to write it. I imagine most iOS users will be at least happier with having an html version and anyone interested in programming an iOS KGS app now can.

Author:  SpongeBob [ Mon Mar 28, 2016 5:15 pm ]
Post subject:  Re: KGS protocol opened

oren wrote:
... and anyone interested in programming an iOS KGS app now can.

Is that true? Where would the binary-to-JSON conversion happen - is it possible (and if so, how) to include that within the app?

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