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
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
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.
@@ -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.
```packet
# entity transaction
int id, int action, int argSize, args....
```
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 **entity** id on the server. *This id is reflected on the clients*. The
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
**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
transactions see if they are valid, then, relay the transactions to the other
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.