Posted 15 July 2014 - 04:20 PM
Hello, everyone!
Here's a little project I did yesterday. It's called RDNP - which stands for ReDNet Protocol.
It's a framework for long-distance communication over wireless RedNet.
RDNP organizes the network into a tree structure. At the heart of the tree is the MRC, the Master Routing Controller.
Extending outwards from the MRC are the Routing Nodes. Each of these nodes is connected to one other node in the network - either another Routing Node, or directly to the MRC.
Finally, connected to these nodes are your actual computers.
So, when a message is sent, it travels up the chain of routing nodes to the MRC, and then back down the chain of routing nodes to the target recipient.
Included in the world save are a number of installation disks for each MRC, Routing Node, and Client, to make creating new nodes easy (just pop in the disk, and run disk/install, reboot), and additionally a full manual describing how the system works in detail and how to configure your network (plus, documentation on the included RDNP API for use in your own programs)
Here's a link to the world save which contains this system: https://dl.dropboxusercontent.com/u/99106620/ComputerCraft%20RDNP.zip
Note: That save relies on the ChickenChunks mod. Indeed you should have the mod installed to use this system, as otherwise you would get "gaps" in the network when chunks containing important routing nodes are unloaded.
I advise you place one Spot Loader directly next to each important computer (within the same chunk, of course), as is done in the linked world save.
There's some things which could be done to improve this. One way, for more usability, is to have a "ping" function where a computer can ping for nearby routers and display their labels and computer IDs in a list. So you might use:
>> rdnp/ping
Router 1, 33
Router 2, 12
Router 3, 56
>> rdnp/connect
Please enter the ID of a parent node
>> 33
Connecting to the network…
Connection successful!
Or something like that. As it stands, you have to make note of the router's ID manually, and you could put that on a signpost somewhere (for instance, you might have a town with a single dedicated router - after setting up the router you would make note of it's CID and put that on a signpost, so that people in the town can refer to the signpost when hooking up their computers for the first time)
Thoughts? Comments? Suggestions? Hate mail?
Here's a little project I did yesterday. It's called RDNP - which stands for ReDNet Protocol.
It's a framework for long-distance communication over wireless RedNet.
RDNP organizes the network into a tree structure. At the heart of the tree is the MRC, the Master Routing Controller.
Extending outwards from the MRC are the Routing Nodes. Each of these nodes is connected to one other node in the network - either another Routing Node, or directly to the MRC.
Finally, connected to these nodes are your actual computers.
So, when a message is sent, it travels up the chain of routing nodes to the MRC, and then back down the chain of routing nodes to the target recipient.
Included in the world save are a number of installation disks for each MRC, Routing Node, and Client, to make creating new nodes easy (just pop in the disk, and run disk/install, reboot), and additionally a full manual describing how the system works in detail and how to configure your network (plus, documentation on the included RDNP API for use in your own programs)
Here's a link to the world save which contains this system: https://dl.dropboxusercontent.com/u/99106620/ComputerCraft%20RDNP.zip
Note: That save relies on the ChickenChunks mod. Indeed you should have the mod installed to use this system, as otherwise you would get "gaps" in the network when chunks containing important routing nodes are unloaded.
I advise you place one Spot Loader directly next to each important computer (within the same chunk, of course), as is done in the linked world save.
There's some things which could be done to improve this. One way, for more usability, is to have a "ping" function where a computer can ping for nearby routers and display their labels and computer IDs in a list. So you might use:
>> rdnp/ping
Router 1, 33
Router 2, 12
Router 3, 56
>> rdnp/connect
Please enter the ID of a parent node
>> 33
Connecting to the network…
Connection successful!
Or something like that. As it stands, you have to make note of the router's ID manually, and you could put that on a signpost somewhere (for instance, you might have a town with a single dedicated router - after setting up the router you would make note of it's CID and put that on a signpost, so that people in the town can refer to the signpost when hooking up their computers for the first time)
Thoughts? Comments? Suggestions? Hate mail?