-
-
Notifications
You must be signed in to change notification settings - Fork 71
Open
Labels
proposalA feature or change that is up for discussionA feature or change that is up for discussion
Milestone
Description
I'd like to start keeping track of things we want to change in a new protocol.
Stuff to remove
- Remove
QDataStreamProtocolv2 - Remove Deprecations #816
It is pointless, everyone hates it. - Remove all modvault functionality v2 - Remove Deprecations #816
Only the legacy client still uses it. All clients should use the API instead. - Remove
create_accountcommand completely v2 - Remove Deprecations #816 - Remove
idandloginfrom the welcome message. v2 - Remove Deprecations #816
Use corresponding attributes on themeobject instead - Remove
modfromgame_matchmakingcommand. v2 - Remove Deprecations #816
Usequeue_nameinstead. - Remove
factionfromgame_matchmakingcommand. v2 - Remove Deprecations #816
Useset_party_factionsinstead. - Remove password based authentication
Use token instead - Remove
init_modefromgame_launchcommand. v2 - Remove Deprecations #816
Usegame_typeinstead. - Remove
kickandkillstyles from notice messages
Use a dedicated administrative command instead - Remove search boundaries from
matchmaker_infomessage v2 - Remove Deprecations #816 - Remove
irc_passwordcommand
IRC authentication will use tokens from the API - Remove
global_rating,ladder_rating, andnumber_of_gamesfromplayer_infomessage.
Useratingsinstead
Stuff to change
- Rework
command_avatar- Rename action
list_avatartolist - Return avatar id's in avatar list
- Select avatar via id instead of url
- Rename action
- Move from UTF-16 to UTF-8 Support multiple servercontexts #629
We are just wasting bytes - Move the protocol to websocket, choose a websocket subprotocol (e.g. STOMP?)
This would allow more web interactions - Guarantee that every message is a json dictionary (not a list)
Simplifies parsing - Change all unix timestamps to ISO timestamps. For example
launched_atingame_info - Remove or rework
pingandpongcommands? Maybe only send them if no other messages have been sent - Rework
game_infoso that messages are not sent sometimes as a list and sometimes as individual games - Use player id instead of username in
game_infoteams section Lobby list json additional info. #812 - Don't send
game_launchmessage when match is cancelled v2 - Remove Deprecations #816
Handlematch_cancelledinstead - Rework
command_ask_session
What is the point? What does the policy server use this for? Can it be removed?
Stuff to add
- Add message Id to every message (or a message envelope)
- Add request Id to messages that are a direct response to other messages.
-
A way to tell when a player has left an ongoing game (player dies but game is not over).Issue/#703 update game info when player disconnects #831 - Matchmaker match confirmation Replace party
readycheck with match confirmation #607 - Add a way to check supported protocol version of clients
Fancy features
- Auto-generate documentation or describe protocol in a formal language that allows creation of code in multiple languages
Use dataclasses to describe message fields
Metadata
Metadata
Assignees
Labels
proposalA feature or change that is up for discussionA feature or change that is up for discussion