diff --git a/ERRORCODES.md b/ERRORCODES.md index 386bec07e2d8fc418570bfa1135f94bc49561fc2..49142d3366247a6cf217bb8c91919d9a6a6298d7 100644 --- a/ERRORCODES.md +++ b/ERRORCODES.md @@ -3,62 +3,59 @@ Sometimes you will get error codes from the server. Here is a small documentation of those error codes. -## ERROR_SPAM -You are spamming the server. +## ERROR_RATELIMIT +You sent to many packets per second. ## ERROR_PACKET_OVERFLOW -You are sending more than 1024 bytes to the server. +Your packet was larger than 1024 bytes. ## ERROR_NO_MOVE -You didnt send a move packet. +You didn't send a move packet. ## ERROR_MAX_CONNECTIONS -Your ip is already connected. IPv6 may workarounds this but please dont flood the server with connections :( +Your ip is already connected. ## ERROR_JOIN_TIMEOUT -You didnt send the join packet. +You didn't send the join packet. -## ERROR_EXPECTED_JOIN -Instead of join you sent some other packet. +## ERROR_JOIN_EXPECTED +Your first packet was not a join. -## ERROR_INVALID_USERNAME -You used an invalid username. (e.g. not a string) +## ERROR_USERNAME_INVALID +You used an invalid username. + +## ERROR_USERNAME_FORBIDDEN +You used a forbidden username. ## ERROR_USERNAME_TOO_SHORT -Username is too short. +Your Username is too short. ## ERROR_USERNAME_TOO_LONG -Username is too long. - -## ERROR_USERNAME_INVALID_SYMBOLS -You used invalid symbols for the username. +Your Username is too long. -## ERROR_INVALID_PASSWORD -You used an invalid password. (e.g. not a string) +## ERROR_PASSWORD_INVALID +You used an invalid password. ## ERROR_PASSWORD_TOO_SHORT -Password is too short. +Your Password is too short. ## ERROR_PASSWORD_TOO_LONG -Password is too long. +Your Password is too long. ## ERROR_NO_PERMISSION -You should not do this :^) (e.g. hijack bots) +You don't have permission to do this. ## ERROR_WRONG_PASSWORD -Your password was wrong. +Your password is wrong. ## ERROR_ALREADY_CONNECTED You are already connected with this player. +## ERROR_ILLEGAL_MOVE +You tried to do something illegal :O + ## WARNING_UNKNOWN_MOVE You did not send a valid move packet. -## ERROR_DEAD_CANNOT_CHAT -You are dead so shush :^) - -## ERROR_INVALID_CHAT_MESSAGE -Something is wrong with your chat message. - ## ERROR_UNKNOWN_PACKET -Server does not know what you want :D +You sent an unknown command. diff --git a/PROTOCOL.md b/PROTOCOL.md index 0567a0960a65a21fad787187dd5ed764689d4243..d5f8c59252a4571d3fc5362427cc341954fc0076 100644 --- a/PROTOCOL.md +++ b/PROTOCOL.md @@ -1,8 +1,9 @@ # Protocol The protocol is string based. -Every packet will end with a newline (\n), but the Hackathon wrapper handles them for you. -E.g: `pos|10|50|5` +Every packet must and will end with a newline (\n). +E.g: `pos|10|50|5\n` +**Note:** _All next examples in this documentation are given without \n. But dont forget it in your parsing!_ ## Packet structure @@ -21,7 +22,6 @@ motd means "Message of the day". **Name:** motd **Sender:** Server **Arguments:** - | # | Type | Description | |---|--------|------------------------| | 1 | String | The message of the day | @@ -36,8 +36,7 @@ Remember the password otherwise you cant use the username again! **Name:** join **Sender:** Client **Arguments:** - -| # | Type | Description | +| # | Type | Description | |---|--------|--------------| | 1 | String | The username | | 2 | String | The password | @@ -51,9 +50,8 @@ The error packet is sent by the server if something went wrong. **Name:** error **Sender:** Server **Arguments:** - -| # | Type | Description | -|---|--------|-------------------------------------------------------| +| # | Type | Description | +|---|--------|--------------| | 1 | String | The error according to [ERRORCODES.md](ERRORCODES.md) | **Example:** `error|INVALID_USERNAME` @@ -66,12 +64,11 @@ It contains information about the map size and the current player id. **Name:** game **Sender:** Server **Arguments:** - -| # | Type | Description | +| # | Type | Description | |---|--------|-------------------------------| -| 1 | Number | The width of the current map | +| 1 | Number | The width of the current map | | 2 | Number | The height of the current map | -| 3 | Number | The current player id | +| 3 | Number | The current player id | **Example:** `game|100|100|5` @@ -82,10 +79,9 @@ The pos packet is sent by the server to inform the client about a players curren **Name:** pos **Sender:** Server **Arguments:** - -| # | Type | Description | -|---|--------|--------------------------| -| 1 | Number | The player id | +| # | Type | Description | +|---|--------|--------------------------------------------------------------------| +| 1 | Number | The player id | | 2 | Number | x position of the player | | 3 | Number | y position of the player | @@ -98,10 +94,9 @@ The player packet is sent by the server to share informations of an player. **Name:** player **Sender:** Server **Arguments:** - -| # | Type | Description | -|---|--------|------------------------| -| 1 | Number | The player id | +| # | Type | Description | +|---|--------|--------------------------------------------------------------------| +| 1 | Number | The player id | | 2 | String | The name of the player | **Example:** `player|3|Coolguy` @@ -123,9 +118,8 @@ The die packet is sent by the server to inform the client about a players who di **Name:** die **Sender:** Server **Arguments:** - -| # | Type | Description | -|------|--------|---------------| +| # | Type | Description | +|---|--------|--------------------------------------------------------------------| | 1... | Number | The player id | **Example (1 dead player):** `die|5` @@ -138,8 +132,7 @@ The move packet is sent by the client to decide where to move. **Name:** move **Sender:** Client **Arguments:** - -| # | Type | Description | +| # | Type | Description | |---|--------|-------------------------| | 1 | String | up, right, down or left | @@ -152,10 +145,9 @@ The win packet is sent by the server to inform the client they won. **Name:** win **Sender:** Server **Arguments:** - -| # | Type | Description | -|---|--------|------------------| -| 1 | Number | amount of wins | +| # | Type | Description | +|---|--------|-----------------| +| 1 | Number | amount of wins | | 2 | Number | amount of losses | **Example:** `win|1|20` @@ -167,10 +159,9 @@ The lose packet is sent by the server to inform the client they lost. **Name:** lose **Sender:** Server **Arguments:** - -| # | Type | Description | -|---|--------|------------------| -| 1 | Number | amount of wins | +| # | Type | Description | +|---|--------|-----------------| +| 1 | Number | amount of wins | | 2 | Number | amount of losses | **Example:** `lose|1|20`