From e1c7686cae0b7bcf6182ad52f22f5faa7fcb36b1 Mon Sep 17 00:00:00 2001 From: PreacherDHM Date: Mon, 16 Mar 2026 13:17:07 -0700 Subject: [PATCH] added to ssh server --- Constraints.md | 8 ++++++++ SSH Server.md | 32 ++++++++++++++++++++++++++++++-- 2 files changed, 38 insertions(+), 2 deletions(-) create mode 100644 Constraints.md diff --git a/Constraints.md b/Constraints.md new file mode 100644 index 0000000..07d36fa --- /dev/null +++ b/Constraints.md @@ -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 | diff --git a/SSH Server.md b/SSH Server.md index 9b46839..decfdd1 100644 --- a/SSH Server.md +++ b/SSH Server.md @@ -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 -> client + Server -> client + Client -> 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.