Showing Posts For zyph.9426:

API CDI 2015

in API Development

Posted by: zyph.9426

zyph.9426

With the possibility of authentication there ought to be some guild-roster-api, but i don’t know how this should be implemented. Obviously there should be a setting in the ingame privileges tab like “API-Access” which grants those rights to a specivic guild group.

Probably not going to be an in-game opt-in for this. Anyone in the guild can already see the roster in-game, so it doesn’t make sense to hide the roster from them out-of-game.

i would be really excited about a possibility to have guild chat outside of the game too, maybe somewhat like twitch allows to connect to their irc: http://help.twitch.tv/customer/en/portal/articles/1302780-twitch-irc

Out-of-game guild chat is definitely something I want to have, but we haven’t really settled on a protocol for it yet. XMPP, IRC and “something custom with HTTP+SSE” have all been tossed around as potentials but it’s not immediately clear which is most advantageous to implement. As far as interoperability with existing clients, IRC’s probably the winner (though it’s a horrible mess of a protocol).

Go with your own protocol. People are doing chatrooms with Node.js and socket.io ever since it released. WebSockets is a nice TCP/IP wrapper and is supported on all major browsers. Its easy to write against it so I can see client apps being developed around it too. If you limit the messages to 128 bytes, you won’t have to ever implement the protocol chunking, which saves you loads of work.

IRC is older than me (I’m 24 years old), it is time to let it go xD

WebSockets usability info: http://caniuse.com/#feat=websockets

Agreed. IIRC/XMPP are dead. And agree on websockets as well. Clients will pop up everywhere if this api is realized. But the complexity in making it real will be in the logic around guild/party/map/team channel area, and not in the passing of messages once the user is in a channel. I could see the channels materialize as separate rest endpoints and leverage the API key for authentication. But the authorization part is the sticky bit.

For example, if I’m not logged into the game and not repping a guild, what chat channel do it get access to? I’m not on a map so /m channel is out, etc… Is it only available if you’re in a guild? Just lots of things to be worked out I think.