Translate This Page

Sunday, October 14, 2012

Internals of a RypNet Server

The Internals of a RypNet Server
An idea for the development of ComputerCraft.
By: Sledger721

        When I speak about the internals of a RypNet Server (RN Server), I don't mean the one that I wrote. I mean the basic systems of which would make up a good piece of server software, and in this article I'm going to go over each piece that I can think of during the time period of writing this.

        The first piece is the data stack. The data stack (DS) is a table that the server holds, and can be effected by any incoming signal. It does seem quite insecure, I know, but so does everything. The DS' purpose is to hold any foreign data, and you could have a server application that constantly checks the DS to see if there is a certain key, or simply to keep check on all foreign signals incoming to the server. A fairly useful tool.

        The second piece, one that I have yet to implement is a sandboxed database. The $PUT and $RIP commands are quite insecure on my server, and I was thinking about running a pcall() and having everything in the server/database folder as a root.

        Another one would be extensible instructions. Before I had created the server, I was thinking about having a folder with each instruction, and having a file for each one, like, a $GET file with the code inside for the $GET command, etc. But I decided to go hard-coded until I get the markup language for this system out.

        The last piece that I want to mention is the sponge. A sponge gets any signal that is broadcasted or sent, and logues it with os.clock() and os.time(). It is useful to monitor the entire area of rednet, instead of just locally your server.

        Thanks for sitting through all of this guys :).
 - Sledger721

No comments:

Post a Comment