source: network-game/design/message_spec.txt@ 53d41ea

Last change on this file since 53d41ea was e437a19, checked in by dportnoy <dmp1488@…>, 11 years ago

New network headers in Common.cpp

  • Property mode set to 100644
File size: 3.9 KB
RevLine 
[e437a19]1This document contains all messages and descriptions of how they are used or should be used
2
3MSG_TYPE_ACK
4Sent in response to a message of any other type and contains the id of the received message. When the recipient gets the ack, the know the original message with that id was received. This type is used by the MessageProcessor class.
5
6MSG_TYPE_REGISTER
7Client sends this message to register a new account. Contains a username, password, and class.
8
9MSG_TYPE_LOGIN
10Client sends this message to login. Contains a username and password
11
12MSG_TYPE_LOGOUT
13Client sends this message to logout. Contains no extra data. The server uses the sender address to determine which player sent it.
14
15MSG_TYPE_CHAT
16Client uses this to send chat messages to the server. The server uses it to relay chat message to the correct recipients. Contains the userame of the sender and the message itself (I think).
17
18MSG_TYPE_PLAYER
19Double-check correctness of this info
20server sends this to update player positions
21
22MSG_TYPE_PLAYER_MOVE
23Double-check correctness of this info
24Client sends this when a player wants to move
25
26MSG_TYPE_OBJECT
27Server sends this to indicate that a new object appeared on the map. (Currently, the only objects are flags).
28
29MSG_TYPE_REMOVE_OBJECT
30Server sends this to indicate that an object has been removed from the map. (Currently happens when a flag is picked up)
31
32MSG_TYPE_PICKUP_FLAG
33Client sends this when it wants to pick up a flag. This is sent when the user presses the correct hotkey, even if there is no flag close enough to pick up.
34
35MSG_TYPE_DROP_FLAG
36Client sends this when it wants to drop a flag. As above, this is sent when the hotkey is pressed, even if the player isn't holding a flag.
37
38MSG_TYPE_SCORE
39The server sends this to indicate a change in the score of a team.
40
41MSG_TYPE_START_ATTACK
42Info needs confirmation
43The client sends this to indicate they are starting an attack animation.
44I think the point here is for the server to tell other clients, so the correct animation is played on their screen as well.
45
46MSG_TYPE_ATTACK
47Not sure who sends this, but I think it's the client and I think it indicates the actual attack. The server sends MSG_TYPE_PLAYER messages to indicate a decrease in the hp of the target and some other state changes.
48
49MSG_TYPE_PROJECTILE
50Verify this
51Server sends this to indicate that a projectile has been created (in the case of a ranged attack). Probably contains the position and direction of the projectile. Not sure if it contains the id or name of the target player.
52
53MSG_TYPE_REMOVE_PROJECTILE
54Server sends this when a projectile should be removed (when it has reached its target).
55
56MSG_TYPE_CREATE_GAME
57Client sends this when they want to create a game. Contains the game name (probably not id since the server determines the id upon creation).
58
59MSG_TYPE_JOIN_GAME
60Client sends this when they want to join a game. Contains the game name or id.
61
62MSG_TYPE_LEAVE_GAME
63Client sends this when they want to leave a game. Not sure what this contains. Maybe nothing.
64
65MSG_TYPE_GAME_INFO
66Server sends this to tell all clients about existing games. Contains the game name and the number of players currently in it.
67
68MSG_TYPE_JOIN_GAME_SUCCESS
69Server sends this to a client to indicate that a game was joined successfully. This is useful because two clients might simultaneously want to a join a game with only one open slot or maybe the game ended by the time the server got the client's message.
70
71MSG_TYPE_JOIN_GAME_FAILURE
72Server sends this to indicate that a game could not be join. See explanation about. Also could be sent if the name the client specified doesn't match an existing game.
73
74MSG_TYPE_JOIN_GAME_ACK
75Needs verification.
76The client sends this upon receipt of a MSG_TYPE_JOIN_GAME_SUCCESS to indicate that he got it. This message is useful to guarantee initialization of some variables (I think of the Game variable on the client). Pretty clunky, so try to find a way of avoiding this.
Note: See TracBrowser for help on using the repository browser.