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

Wired Network Peripheral Range?

Started by Timendainum, 16 November 2013 - 11:57 PM
Timendainum #1
Posted 17 November 2013 - 12:57 AM
I'm playing around with setting up a large network. But, alas, the peripherals only seem to have a rage across a wired network of about 256 blocks.

How can I adjust this range to be farther?

Thanks!
Lyqyd #2
Posted 17 November 2013 - 01:39 PM
The options are adjustable in the computercraft configuration file. There is an option for max-height range (default 384) and low-altitude range (default 64), as well as their storm degradation range settings, for the rednet range during a thunderstorm.
Timendainum #3
Posted 17 November 2013 - 04:59 PM
Those option specifically specify wireless. I'm looking to adjust the range on wired communications.

# The range of Wireless Modems at maximum altitude in clear weather, in meters
I:modem_highAltitudeRange=384

# The range of Wireless Modems at maximum altitude in stormy weather, in meters
I:modem_highAltitudeRangeDuringStorm=64

# The range of Wireless Modems at low altitude in clear weather, in meters
I:modem_range=64

# The range of Wireless Modems at low altitude in stormy weather, in meters
I:modem_rangeDuringStorm=16
theoriginalbit #4
Posted 17 November 2013 - 07:13 PM
How can I adjust this range to be farther?
Unfortunately you cannot, the limit is 256 and is not adjustable, the nice thing is that they do work through unloaded chunks ;)/>

The options are adjustable in the computercraft configuration file. There is an option for max-height range (default 384) and low-altitude range (default 64), as well as their storm degradation range settings, for the rednet range during a thunderstorm.
Only the wireless modems have settings in the config file, there is nothing for wired modems.
Lyqyd #5
Posted 17 November 2013 - 08:58 PM
Yep, misread it.
Timendainum #6
Posted 17 November 2013 - 09:32 PM
So, I guess the workaround is to boost the wireless range and just do it wireless then?
amtra5 #7
Posted 18 November 2013 - 05:46 AM
So, I guess the workaround is to boost the wireless range and just do it wireless then?
Or you could have a "repeater" computer in the middle of two separate wired lines.
theoriginalbit #8
Posted 18 November 2013 - 06:47 AM
Or you could have a "repeater" computer in the middle of two separate wired lines.
Would require a lot of change in existing code and/or a rewrite of the entire peripheral API… If it were something as simple as rednet this would be an easy task to perform, to have it as a repeater, however for the function of peripheral cable it's very difficult to have a "repeater" without spamming rednet messages and not being able to use the peripheral API for any of the desired tasks at the computer that is attempting to control the peripheral.
Timendainum #9
Posted 19 November 2013 - 02:13 PM
It is pretty surprising how short 256 blocks is when you're counting a wire running around your mazelike base.

I've added a suggestion in the suggestion forum to add a config option to modify the 256 block limit.
Edited on 19 November 2013 - 01:14 PM
jay5476 #10
Posted 19 November 2013 - 03:36 PM
Or you could have a "repeater" computer in the middle of two separate wired lines.
Would require a lot of change in existing code and/or a rewrite of the entire peripheral API… If it were something as simple as rednet this would be an easy task to perform, to have it as a repeater, however for the function of peripheral cable it's very difficult to have a "repeater" without spamming rednet messages and not being able to use the peripheral API for any of the desired tasks at the computer that is attempting to control the peripheral.
No I think he means have a computer transmit a message (like the function it wants) then that computer passes it onto the peripheral then that computer send back the returned information
Bomb Bloke #11
Posted 19 November 2013 - 04:39 PM
Er, yes, that's what theoriginalbit said.

To rephrase, it's simple enough to set up a computer in the middle of a cabled network that repeats rednet messages. You simply have the computer in the middle wrap two (or more) modems, and pass any messages received from one on to the other(s). (And really it sounds like this is entirely suitable for the op's purposes.)

Cabled networks aren't only used for rednet, however. They're also used to access devices such as monitors. While it would be possible to use a computer in the middle of a cable to extend another computer's reach to eg a monitor, the two computers would have to communicate using rednet - meaning the program that wants to use the monitor would not be able to use the peripheral API to do it, you'd have to fall back to rednet spam instead.
Lyqyd #12
Posted 19 November 2013 - 05:04 PM
Of course, one could override the peripheral API to add abstracted network peripheral access. The computer calling the peripheral method wouldn't "know" that the peripheral was actually connected to a different network via an intermediate computer, it would simply use it (and receive events) as usual.
Timendainum #13
Posted 19 November 2013 - 05:11 PM
Can I call MC-AT&T and add some additional circuits to my MPLS WAN? ;)/>

Actually, the suggestions you guys are talking about above is how I was thinking of doing this prior to the networking cable being added to CC.

I was hoping/assuming that the wired cables would end distance woes. So, I'm still going to campaign that we add this as an option. I don't believe the CC mod is open source, otherwise I could just change the limitation myself.

It does seem a bit arbitrary.


EDIT: Question. I've looked around for the license for CC. All I see is that if you intend on distributing a mod pack, you cannot modify CC. I run a private server, that does happen to use a major modpack. But, for my private server, would it be legit for me to decompile and adjust this limitation for myself?
Edited on 19 November 2013 - 04:58 PM
Lyqyd #14
Posted 19 November 2013 - 06:09 PM
It's frowned upon. You can't distribute it to anyone (including other players on your private server).
Timendainum #15
Posted 19 November 2013 - 06:52 PM
Alright, I understand. Hopefully I'll have some luck convincing them that adding a config option for this makes sense.
Edited on 19 November 2013 - 05:52 PM
theoriginalbit #16
Posted 19 November 2013 - 08:49 PM
Of course, one could override the peripheral API to add abstracted network peripheral access. The computer calling the peripheral method wouldn't "know" that the peripheral was actually connected to a different network via an intermediate computer, it would simply use it (and receive events) as usual.
I did actually work on that was going to post it here, the major downside however is it would be event eating because you'd have to send a message and then wait for the response, which could cause some problems with programs that are event and timing sensitive and want to use the super remote peripheral..
Timendainum #17
Posted 20 November 2013 - 11:14 AM
Lyqyd was being humble and didn't point me in the direction of his Rednet API.

I've been looking at it, and I think that the solution that the CC creators are hoping I'd use is creating a client/server architecture, where each facility has it's own server. I can then build clients that use a wireless modem to communicate with the remote facilities.

Honestly, when we were designing the base, (this was right after the wired networking stuff came out and it wasn't quite 100% yet) we planned to use the peripherals to wire up the whole base. I was thinking at the time that without having to worry about the wireless stuff that I should just be able to wire it all up without having to write a whole client/server architecture.

Now, 5 months later (yeah it took a long time to build the base, it is large) I ran into the range limitation and I was pretty discouraged that my idea wasn't going to work out. But now, having some of these conversations I'm starting to warm back up to the idea of a client/server setup. It does mean that we're in a bit of a power crunch, as I won't be able to complete the reactor control system this weekend as planned. But it should be fun to work the systems out.

Thank you all for your responses and ideas!