added to ssh server

2026-03-16 13:17:07 -07:00
parent 3d8f14a33b
commit e1c7686cae
2 changed files with 38 additions and 2 deletions

8
Constraints.md Normal file

@@ -0,0 +1,8 @@
# Constraints
This is a table of constrains / user requirments to make this game function.
## Terminal
| Name | Constraint |
|:----:|:-----------|
| Terminal Size | 160x70 |
| Font speck | UTF8 |

@@ -12,6 +12,18 @@ So, doing some research on how this. The best concolusion for this is a
transactional server. This means that it is more about "playing cards" then transactional server. This means that it is more about "playing cards" then
then like updating a game for a fps or something. then like updating a game for a fps or something.
These transactions can range between:
- Entity List Transactions
- Entity Transactions
- Map Transactions
- Player Transactions
All transactions are just packets that get sent to the client to the server or
vice versa. A tranaction is anything that needs to be synced between the client
and the server. A good example on how this looks is like a command structure.
If an enemy wants to attack a player it will make a **attack transaction**.
This transaction will be sent to the client to perform this action.
## Transactions on a packet level ## Transactions on a packet level
I was doing some thingking about the transactional system and it's like playing I was doing some thingking about the transactional system and it's like playing
cards. As you place a card and it gets checked if the card is possable to play. cards. As you place a card and it gets checked if the card is possable to play.
@@ -19,17 +31,33 @@ Then if so, then, relay that command to the other clients. And now what dose tha
look like on a packet level. look like on a packet level.
```packet ```packet
# entity transaction
int id, int action, int argSize, args.... int id, int action, int argSize, args....
``` ```
So for every entity this is what the packet looks like. So for every entity this is what the packet looks like.
The packet consists of a id, action, argSize, and args. The id is refferanceing The packet consists of a id, action, argSize, and args. The **id** is refferanceing
the **entity** id on the server. *This id is reflected on the clients*. The the entity id on the server. *This id is reflected on the clients*. The
**action** is is the action id of that entity. This could be a attack command. **action** is is the action id of that entity. This could be a attack command.
or just a simple move command. But all the server dose is just prosses these or just a simple move command. But all the server dose is just prosses these
transactions see if they are valid, then, relay the transactions to the other transactions see if they are valid, then, relay the transactions to the other
clients. clients.
--- ---
## Transaction Path
This is the path of transactions that need to accure for everything to run
properly.
```
Server <map data> -> client
Server <entity data> -> client
Client <entity data> -> Server
```
The Server needs to accept and send entity data.
The Client needs to accept and send entity data.
The Client needs to accept map data from the server.