This is a read-only snapshot of the ComputerCraft forums, taken in April 2020.
Pedonymous's profile picture

Large Scale Networks in a Tekkit Server

Started by Pedonymous, 03 April 2012 - 12:34 PM
Pedonymous #1
Posted 03 April 2012 - 02:34 PM
Hi, I was wondering if a large, map-wide network could be created to allow communication via computers from anywhere in the world, as long as said computer is connected to the central network. The main reason for this would be the server only having local chat, which would mean computers would be the only option for communication.

Thoughts? I'm just wondering if this is even feasable, let alone trying it out.
Advert #2
Posted 03 April 2012 - 02:53 PM
Certainly, this is possible.

I'm somewhat busy at the moment, though, but if you need any help, I'll try to guide you in the right way.
Pedonymous #3
Posted 03 April 2012 - 03:34 PM
Certainly, this is possible.

I'm somewhat busy at the moment, though, but if you need any help, I'll try to guide you in the right way.
Sure, I'd appreciate it when you get the chance.
Advert #4
Posted 03 April 2012 - 06:03 PM
I've done all my important stuff for today, so feel free to ask any questions.

To start, I'd imagine you'd need to set up a network that lets you send messages between computers, and broadcast them.
You'll need to make sure a message is only sent once to each computer, as they could potentially loop, causing lots of spam.
You could solve this in a few ways, one way would be to give each message an ID, something like:
0000 <– computerID padded with starting zeroes, + 0 messageID, that'll roll around when it hits 9 (you could use 99 instead, but it shouldn't make a difference, assuming messages are recieved). Each 'router' would keep track of the messageID, split it in two, so you have the padded computerID and the messageid, and only broadcast it if the current message you're on is one lower than the messageid.

Later on, you could add message filtering, but this'd require a response message, to 'backtrace' where the message went, so you can send it more efficiently.

Making the chat shouldn't be too hard after that, basically just listening for rednet messages, and stuff.

Let me know if you need more clarification, but I think this should cover the basic concept.
Pedonymous #5
Posted 03 April 2012 - 06:54 PM
Yeah, that sounds about right. I was looking around, and Cookiebal's Skynet system is similar to what I was thinking of. Just set up some chunkloaders along the network landline and everything would work perfectly.

It'll be interesting to see what types of programs can be set up and take advantage of large-scale systems like that, such as factory management from anywhere in the world, turtle item couriers with online shopping, multiplayer games…
strideynet #6
Posted 12 April 2012 - 07:27 AM
Yeah use skynet or something as thats a good way to do it
I'm running a project for people interested in cc Internet I plan on creating hundreds of servers on it.

In general discussion look at
Project netblock
Maybe post something
oreillynz #7
Posted 12 April 2012 - 11:33 AM
You will run into a problem when chunks unload and therefore the computers in them go offline. In effect, if you are in the middle of nowhere, any computers more then about 150 blocks from you will be offline.

If your server has any kind of 'chunk loading' block that will keep an area loaded 24/7, that would be a good solution to place with each computer you want constantly online. If your admin is using bukkit, there are bukkit plugins that could also keep some chunks (map area's) loaded to keep the network going.

Without something like that, you will find parts of your network will go 'offline' when players get to far away, which also means your messaging computers are not going to stay in sync… they can't all update to the message ID if some are offline, and those ones may come back online while the first group isn't, causing duplicate ID's etc. So a global message ID is unlikely to work over one large network (in a similar way, a dependence on a single 'master' computer will cause the entire network to stop functioning if that computer's chunk is unloaded because no players are nearby)