Clone
2
SSH Server
PreacherDHM edited this page 2026-03-16 13:17:07 -07:00

SSH Server

This is what sends all of the information to the client.

This is just a back bone of Skevity and SkevityCreate.

There are three functions that you need to be aware of. There is ssh_init, ssh_run and ssh_stop. Now for the user to add variables to these functions. there is init_var, run_var and stop_var.

Server Transactions

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. Then if so, then, relay that command to the other clients. And now what dose that look like on a packet level.


# 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 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.