picking up project again. Fixing rspec errors first
This commit is contained in:
+104
@@ -0,0 +1,104 @@
|
||||
This is a list of all the commands that are available from the client to the
|
||||
server along with the expected response.
|
||||
|
||||
|
||||
# Message types
|
||||
|
||||
## Client
|
||||
|
||||
### Hello
|
||||
|
||||
Sent during initiali connection phase.
|
||||
|
||||
### Query
|
||||
|
||||
Query information from the server about a specific topic
|
||||
|
||||
### Command
|
||||
|
||||
Request an action to be performed on the server
|
||||
|
||||
|
||||
## Server
|
||||
|
||||
### Hello
|
||||
|
||||
Responses and further queries during the connection phase. Example is asking
|
||||
what faction they want to be.
|
||||
|
||||
### Update
|
||||
|
||||
Response to a query or a command. Examples would be responding to a query of
|
||||
how much money the player has. A response updating the target positon of a ship
|
||||
and it's location.
|
||||
|
||||
This is also used to provide updates about the game state. There are periodic
|
||||
updates that define where everything should be. This is the type used there.
|
||||
|
||||
### Event
|
||||
|
||||
This is an event that the client did not create or ask for. For example, a
|
||||
battle starting, a building finishing, a planet found.
|
||||
|
||||
### Error
|
||||
|
||||
A response sent when the requested action can not be completed. This is likely
|
||||
to be a frequent response to things like not having enough resources.
|
||||
|
||||
|
||||
# Full message definitions
|
||||
|
||||
For all communication with the server the player you need the player id
|
||||
|
||||
## Hello
|
||||
|
||||
For the hello message neither key is optional for connecting. They are both
|
||||
required. If a new player is created then it does not matter what the faction
|
||||
key is (as long as it is a valid faction) however when connecting an existing
|
||||
player the faction key *must* match the key stored on the server or a
|
||||
connection error will happen.
|
||||
|
||||
| Domain | Payload keys | Expected response |
|
||||
|:-------|:-------------------|:----------------------------------------------------------------------|
|
||||
| Player | connect: player_id | An update with payload success OR an update with a payload of faction |
|
||||
| | faction: faction | An update to the player (when creating a player) that has the faction |
|
||||
| | | |
|
||||
| | | |
|
||||
|
||||
|
||||
## Queries
|
||||
|
||||
For queries the keys just need to exist. There are not any values for the
|
||||
payload keys. You can also apply as many keys in a single request as you would
|
||||
like. All parts of the message should be in snake_case. All of the values for
|
||||
the keys may be whatever you wish, they are discarded by the server though.
|
||||
|
||||
| Domain | Payload keys | Expected response |
|
||||
|:-------|:-------------|--------------------------------------------------------------------|
|
||||
| Game | time | The current game time. |
|
||||
| | size | The current size of the game universe. |
|
||||
| Player | resources | The resources the player has |
|
||||
| | planets | The planets the player can see (All planets owned, and discovered) |
|
||||
| | buildings | The buildings the player has |
|
||||
| | ships | The ships the player has |
|
||||
| | construction | The builds in progress the player has |
|
||||
| | | |
|
||||
| | | |
|
||||
|
||||
|
||||
## Commands
|
||||
|
||||
This lists the domain and the payload keys required as well as the expected
|
||||
value.
|
||||
|
||||
| Domain | Payload keys | Expected response |
|
||||
|:-------|:----------------------------------------------------|:-----------------------------------------------|
|
||||
| Game | resign | An update with payload success. |
|
||||
| Player | build: type [tech, building, ship], name: item name | An update with payload success. |
|
||||
| | move: type [ship], name: item\_id | An update with the new target of the item. |
|
||||
| | equip: item\_id, target: item\_id | An update with the stats of the targeted item. |
|
||||
| | | |
|
||||
| | | |
|
||||
| | | |
|
||||
| | | |
|
||||
| | | |
|
||||
Reference in New Issue
Block a user