Unrecoverable error too long without yielding

So, I wrote the program for the spawn computer of a server I play on. Shows rules, announcements etc. Here is is in case you care to look. http://pastebin.com/QYpCrzEp The program runs great for long periods of time, but will randomly show the error Too long without yielding. It has plenty of os....

How many players are in your list «playerData.players»?

You are using insertion sort to sort this list. This is quite slow for big lists. (time: n² with n as the size of the list, table.sort() uses a better sorting algorithm, n * log(n) )

But unless you have a very big list of users it probably isn’t the reason

Another performance hint:

You can process the list returned by od.getPlayerList() before you continue using it:

local function updatePlayerData(curTime)
  local isOnlinePlayer = {} --This table is the key for speed improvements.
  for _, onlinePlayer in ipairs(od.getPlayerList()) do
    isOnlinePlayer[onlinePlayer] = true
  end
  --It allows you to take the 3 player loops out of the first loop.
  for _, v in pairs(playerData.owner) do
    --Instead of searching if a player is online you now get the answer instantly.
    if isOnlinePlayer[v.name] then
      v.lastseen = curTime
      --This replaces the usage of the variable 'found'.
      isOnlinePlayer[v.name] = nil
    end
  end
  for _, v in pairs(playerData.staff) do
    if isOnlinePlayer[v.name] then
      v.lastseen = curTime
      isOnlinePlayer[v.name] = nil
    end
  end
  for _, v in pairs(playerData.players) do
    if isOnlinePlayer[v.name] then
      v.lastseen = curTime
      isOnlinePlayer[v.name] = nil
    end
  end
  --All players that are still within isOnlinePlayer have to be added to the player list.
  for onlinePlayer in pairs(isOnlinePlayer) do
    local newPlayerData = {name = onlinePlayer, lastseen = curTime, firstseen = curTime}
    table.insert(playerData.players, newPlayerData)
  end
end

But again I’m not sure if your player list is really that big.

Here are some other hints:

  1. You can use «xpcall(main, debug.traceback)» for more detailed information than «pcall(main)».
  2. It would also help if you add some kind of logging to your program. (open a file with append mode and write something to the file before and after critical/suspicious parts of your code. (don’t forget to do file:flush() after file:write() to ensure that there is no delayed writing)

#1

  • Members
  • 13 posts

Posted 27 October 2012 — 06:51 PM

Hi,

I’ve written a program for my mining turtle which digs out a 7x7x9 chunk. It also keeps the surrounding chunks loaded using world anchors, places a torch in the middle of the chunk and auto refuels and drops off items using ender chests.

The code to run through one chunk works just fine.

However, if I try running the code in a loop (either a for loop or a while true loop), I’m getting

chunkminer:7: Too long without yielding

I’ve no idea how to resolve this issue. I tried looking for possible solutions but the few posts I could find didn’t offer any solution. Some people on mIRC tried to help me as well but they couldn’t find a solution either.
Could you guys take a quick look at the code please?

Here it is:

http://pastebin.com/dZHY74HM

Any help would be greatly appreciated! =)

Edit: piece of topic title went missing.

  • Back to top

#2
Orwell

    Self-Destructive

  • Members
  • 1,091 posts

Posted 27 October 2012 — 07:06 PM

When layer equals 4, then the bottom loop equals:

while true do
	fuel()
	while layer ~= 4 do
	  -- unreached code
	end
end

And the function fuel doesn’t yield. You’re code needs yield now and then, this means that it pauses until other code (coroutines) has executed some code. To make the loop yield, put ‘sleep(0)’ or ‘coroutine.yield()’ in the bottom loop.

  • Back to top

#3
Hirsu

  • Members
  • 13 posts

Posted 27 October 2012 — 07:31 PM

View PostOrwell, on 27 October 2012 — 07:06 PM, said:

When layer equals 4, then the bottom loop equals:

while true do
	fuel()
	while layer ~= 4 do
	  -- unreached code
	end
end

And the function fuel doesn’t yield. You’re code needs yield now and then, this means that it pauses until other code (coroutines) has executed some code. To make the loop yield, put ‘sleep(0)’ or ‘coroutine.yield()’ in the bottom loop.

And where exactly in the while true do loop should I put the sleep(0)? Is there any particular place I need to put that in, and why there exactly? Also, why do some loops need the sleep() added to it whilest some others dont?

Sorry about all the questions, I’m just trying to wrap my head around this so I know 1. what I’m doing 2. how to implement it in the future =)

And thanks for the quick reply!

  • Back to top

#4
Orwell

    Self-Destructive

  • Members
  • 1,091 posts

Posted 27 October 2012 — 07:43 PM

I suggest you to read about coroutines in lua. :D/>
Basically, you’re code needs to pause now and then to let other code run for a while. This is called yielding. Your code will yield when using coroutine.yield() or any functions using that (like os.pullEvent() and sleep()). When your code doesn’t yield for too long, it will be stopped with the error «too long without yielding».

Now to look at your code… Try to imagine the flow of your program when the variable ‘layer’ equals 4. It won’t go into the «while layer ~= 4 do» loop, but it will still call fuel() all the time. In the fuel function, when the fuel level is higher than 250, it will skip that code block and basically do nothing. So it will just go in and out fuel all the time, without letting the code yield ever.

So to fix this you could 1. add sleep(0) or coroutine.yield() in the bottom while true loop (above the call to fuel() for example, doesn’t really matter, as long as your program passes there)
or 2. a better solution would be to make the loop stop when it’s done. Because now, as soon as layer equals 4, it will keep on running for ever while doing absolutely nothing.

  • Back to top

#5
Lyqyd

    Lua Liquidator

  • Moderators
  • 8,465 posts

Posted 27 October 2012 — 07:44 PM

If the loop doesn’t yield (turtle movements, os.pullEvent(), read(), sleep(), etc.) for ten seconds, it’ll throw that error. So, something needs to yield eventually. That’s why some loops that run for a long time need to have a sleep(0).

  • Back to top

#6
Hirsu

  • Members
  • 13 posts

Posted 27 October 2012 — 09:20 PM

Thanks guys, I finally got it to work! I had to use coroutine.yield() and change the way I structured my while true do loop a bit. As usual, seems logical in hindsight but I just couldn’t wrap my head around it (I got no experience programming whatsoever).

Now it’s time for some sleep()!

  • Back to top

This guide is going to go through common errors, what causes them and how to fix errors not mentioned here. If you do find another error please post it here and me or another community member will try fix it and I will add it to this guide

Analysing what the error means
Let’s start off by analysing an error and what the different sections of it mean:

I saved this program as ‘test’ and ran it, the error I got was:

Code:

test:1: attempt to call nil

An error is always put in parts separated by colons. The first part is the name of the program, the second part is the line that the code is erroring in and the third part is the type of error. in other errors there are more parts before the name of the program and may start with «bios:» or something similar, in most cases you are only interested in the last 2 parts of the error

This particular error is saying that in the program called ‘test’ on Line 1 there was an attempt to call nil.

Attempt to call nil
This error is pointing out that the program is trying to call a function that doesnt exist.
In the above example this could be fixed by changing the code to

Code:

function definedFunction()
end
 
definedFunction()

Sometimes this problem is caused by spelling mistakes or incorrect capitalisation. most functions will have the first world uncapitalised and the second word capitalised but that is not always the case as shown below

Code:

toNumber("1") -- this will error
tonumber("1") -- this will work
redstone.getinput("back") -- this will error
redstone.getInput("back") -- this will work

Another cause is when you call a function before it has been stated. Example:

Code:

definedFunction()
 
function definedFunction()
end

To combat this, most programmers will put all the functions in the code first and then use them after all functions have been stated.

Too Long Without Yielding
This error is quite difficult to fix, this occurs when a computer is checking for something faster than it can get a response. I occasionally get this error when a computer is waiting for a redstone signal such as the following:

Code:

while true do
  if redstone.getInput("back") == true then
    print("redstone on")
  end
end

to fix this problem when it is redstone related I add the line os.pullEvent(«redstone») below before i wait for a redstone signal. this basically procedes through the loop when there is a redstone update near the computer on any side (this includes a redstone signal being turned off)

Code:

while true do
os.pullEvent("redstone")
  if redstone.getInput("back") == true then
    print("redstone on")
  end
end

if it is not redstone related you can add the line sleep(0) in the first line of the while loop, this gives the computer some time to do its other things

Syntax Errors (error ends in «expected»)
This type of error is generally where you make a typo, or you forget to add a piece of code

Common examples:
‘then’ expected, when doing if statements you are comparing statements if you write a = b you are stating what a is equal to instead of comparing it to b, that is why you use «==» instead of «=». Another cause of this problem is where you forget to add the word «then» after writing «if» or «elseif». the below code will result in this error

Code:

a = 2
b = 2
if a = b then
  print(a)
end

‘end’ expected, this is basically when you forget to close either a function, an if statement, a while loop or anything else similar.

[Variable Type] Expected, Got [Variable Type]
The variable type in this error can be either a Boolean, a Function, nil, a number, a string or an index (array)
I was able to reproduce this by trying to modify the data of an array before it was declared an Array:

Code:

array[1] = "1"
print(array[1])

this can be fixed by declaring it as an array/index

Code:

array = {}
array[1] = "1"
print(array[1])

Common Bugs with No Error
Maybe your program is presenting no errors but it still doesn’t do what you want it to.

  • Variable Scope: if you declare a variable as local inside a function the variable is an argument of a function then that variable won’t be accessible outside that piece of code. Visit this website for more info on variable scope in lua
  • Typos: It is still possible to not get an error with a typo, you may have tried to use a shell.run() command on a program that doesn’t exist or something similar
  • You may have an if statement that is checking something that should be true but might be something else, a good way to figure out if this is happening is to print() the variable you are comparing before an if statement to see if the variable was modified to something else.

Troubleshooting
So maybe your error is not here or the solutions with no error dont seem to be working. When it comes to this I decide to take a different path and try and follow what happens to a variable as a program progresses, how it is modified through each of its functions and maybe see if somewhere along the way it is being changed to something I don’t want.

Another approach is to print variables to see if they are what you want in different parts of the code.

If nothing here helped you with your problem please post a pastebin link to the code, if applicable a picture of your setup in a spoiler, spoilers are made with the tags [SPOILER][/SPOILER], the error the program is having and also a description of what the program is supposed to be doing

Please reply here if you find anything incorrect or you have anything to add to this thread

1.8.8
1.8
1.7.10
Forge


  • Search


    • Search all Forums


    • Search this Forum


    • Search this Thread


  • Tools


    • Jump to Forum

  • |<<
  • <
  • >
  • >>|
  • Prev
  • 1
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 60
  • Next
  • 10
  • 20
  • 30
  • 40
  • 50
  • 60

  • #717

    Jul 20, 2014


    TorakWolf


    • View User Profile


    • View Posts


    • Send Message



    View TorakWolf's Profile

    • 404: Member Not Found
    • Location:

      Salvador BA
    • Join Date:

      7/6/2012
    • Posts:

      410
    • Minecraft:

      TorakWolf
    • Member Details

    I thought that was abandoned or on hold, the link says its for 1.6.4 (shouldnt matter for the code ofcourse) but it 404’s so assumed whoever maintains that didnt want or have the time to update it and it had been removed. if thats not the case then i wissh to report a bug :) the link to open components in the main post leads to a 404 page :)

    pssst you got the link?

    It’s under the development builds, in http://ci.cil.li/

    I am a prehistoric histories and manga / anime fan.


  • #719

    Jul 21, 2014

    Oh, that’s better. You had me worried!

    So is there a spot in the world/opencomputers folder where you can put program’s you’ve written so all robots get access to them? I’ve been really confused by all the changes. I finally got the robot working — but once you turn him on, nothing happens.

    And if you create a robot without a keyboard and monitor — how do you install them later? I tried to put the robot back into the assembler; and it wouldn’t work…

    I really hope those tutorials come out quickly — I’m impatient! :P

    There’s no way to make something automatically globally available, no. You could add a loot disk and give that out for free or something.

    The vids will probably get done this week. Probably.

    Oops, thanks, fixed.

    ah thats the pre-compiled version, found what i needed https://github.com/MightyPirates/OpenComponents will look through it when i get some time, though cool link it has oc for 1.7 ..doesnt say if its 1.7.2 or 1.7.10 but ill give it a go later :) thank you

    Don’t forget the magic that is branches in Git ;) There’s a MC1.7 branch of OpenComponents. The 1.7 one should work fine for both 1.7.2 and 1.7.10.

    For more examples, either read the readme in the API folder and the jdoc, or have a look at the example addon projects (OC-Example-…). As for the 404, oops, fixed.


  • #720

    Jul 22, 2014


    Klocko


    • View User Profile


    • View Posts


    • Send Message



    View Klocko's Profile

    • Iron Miner
    • Join Date:

      1/26/2011
    • Posts:

      299
    • Minecraft:

      Klocko
    • Member Details

    Can you add a config file inside OpenOS to change the font size? The large screen resolution I use on my OpenComputer makes the text tiny, and I don’t want to decrease my screen’s resolution.


  • #721

    Jul 22, 2014


    Klocko


    • View User Profile


    • View Posts


    • Send Message



    View Klocko's Profile

    • Iron Miner
    • Join Date:

      1/26/2011
    • Posts:

      299
    • Minecraft:

      Klocko
    • Member Details

    Oh, that’s better. You had me worried!

    So is there a spot in the world/opencomputers folder where you can put program’s you’ve written so all robots get access to them? I’ve been really confused by all the changes. I finally got the robot working — but once you turn him on, nothing happens.

    And if you create a robot without a keyboard and monitor — how do you install them later? I tried to put the robot back into the assembler; and it wouldn’t work…

    I really hope those tutorials come out quickly — I’m impatient! :P

    You can use the cp command to copy files from one to another. Also, when you boot from a OpenOS floppy disk, if you have a hard drive, you can use the install command (simply «install») to install OpenOS onto your hard drive instead of the floppy disk. This means that you can modify the system files of OpenOS. After installation, you no longer need to use the OpenOS floppy disc.


  • #723

    Jul 22, 2014

    Can you add a config file inside OpenOS to change the font size? The large screen resolution I use on my OpenComputer makes the text tiny, and I don’t want to decrease my screen’s resolution.

    Change the resolution of the screen — `resolution w h` from the shell or `component.gpu.setResolution(w, h)` from Lua.

    Good day to all. I have question: does this mod support DIRECT touchscreen control? Without opening GUI. Thanks!

    Shift right-click the screen or remove the keyboard.


  • #724

    Jul 22, 2014


    Michael12O


    • View User Profile


    • View Posts


    • Send Message



    View Michael12O's Profile

    • Carpenter
    • Join Date:

      4/20/2012
    • Posts:

      162
    • Location:

      Avant Gardens
    • Minecraft:

      MikeSage
    • Member Details

    Having some problems getting this to work on linux, just decided to disable it for now instead of debug it. It says the .dll (the native thingy) is messing up the call stack or something. Any ideas?


  • #725

    Jul 23, 2014

    I’ve been trying to test this mod in creative, but I’m having some trouble. I constructed a basic tier one computer case with two T1 memory chips, a T1 hard drive, a T1 graphics card, a screen/keyboard, and a disk drive with the openos floppy, all connected to a TE creative energy cell via a redstone energy conduit. So far, every time I try to boot up it gives me «Unrecoverable Error: Too long without yielding». Sometimes I manage to reach the console screen before it happens, sometimes not.

    OpenComputers Version: 1.3.1.516

    Minecraft Version: 1.6.4

    Forge Version: 9.11.1.965

    Java Version: Java 7, Update 60

    Any help would be greatly appreciated, I really want to see what this mod is capable of :D


  • #727

    Jul 23, 2014


    TorakWolf


    • View User Profile


    • View Posts


    • Send Message



    View TorakWolf's Profile

    • 404: Member Not Found
    • Location:

      Salvador BA
    • Join Date:

      7/6/2012
    • Posts:

      410
    • Minecraft:

      TorakWolf
    • Member Details

    I’ve been trying to test this mod in creative, but I’m having some trouble. I constructed a basic tier one computer case with two T1 memory chips, a T1 hard drive, a T1 graphics card, a screen/keyboard, and a disk drive with the openos floppy, all connected to a TE creative energy cell via a redstone energy conduit. So far, every time I try to boot up it gives me «Unrecoverable Error: Too long without yielding». Sometimes I manage to reach the console screen before it happens, sometimes not.

    OpenComputers Version: 1.3.1.516

    Minecraft Version: 1.6.4

    Forge Version: 9.11.1.965

    Java Version: Java 7, Update 60

    Any help would be greatly appreciated, I really want to see what this mod is capable of :D

    Ok… so I will assume you’re experienced with modded environment, since you installed OC, and probably you don’t use it in one modpack, but instead put each mod yourself, just like me.

    So you probably used Notepad++ to change id’s and other things. The problem about Notepad++ is that it can change some things you don’t want to if you use «replace all». Anyways, being that or not, the problem is that you probably have set the last value in the last line of that part of the config to 0:

    # The time in seconds a program may run without yielding before it is
    # forcibly aborted. This is used to avoid stupidly written or malicious
    # programs blocking other computers by locking down the executor threads.
    # Note that changing this won’t have any effect on computers that are
    # already running — they’ll have to be rebooted for this to take effect.
    timeout=5

    The default is 5, anyways, you can change to higher values if this continues to happen, or you already have this value set to 5.

    Can you add a config file inside OpenOS to change the font size? The large screen resolution I use on my OpenComputer makes the text tiny, and I don’t want to decrease my screen’s resolution.

    The main reason why you can’t do that is that the screen resolution IS actually how much characters it can hold on, to make things easier to understand to the players. If you look at ComputerCraft monitors, you will see that despite CC calling it setting text size, this still changes the resolution, as anything you can show in the screen is characters ( even if you call 2 spaces one pixel… ).

    Ok so was in a position to look at the code again, i couldnt find icbm or any of the others mentioned in the code so looked at youtube sadly i could find loads of guides helping make peripherals for computer craft but none for open blocks, i did how ever see a basic guide on how to use a peripheral, which is good as its different to cc, in fact it kind of looks better

    so to try and understand this i looked at the noteblock setPitch function

    @Callback
    public Object[] setPitch(final Context context, final Arguments args) {
    setPitch(args.checkInteger(0));
    return new Object[]{true};
    }

    if i understand it right i can do the following

    @Callback
    public Object[] speak(final Context context, final Arguments args) {
    int voice = (args.checkInteger(0));
    int pitch = (args.checkInteger(1));
    int pitchRange = (args.checkInteger(2));
    int pitchShift = (args.checkInteger(3));
    String sentence = (args.checkString(4));
    SpeechThreaded.speechSynth(voice, pitch, pitchRange, pitchShift, sentence); //there would be more to here,checking client side etc but have simplified it
    return new Object[]{true};
    }

    then a player on opencomputers would just need to place one of my blocks down connect it to thier computer and run this code
    speaky = component.proxy(component.get(«start of address»)
    speaky.speak(1, 0, 60, 10, «hello world»)

    have i got that right? (im at work at the moment and unable to test)

    Good, I don’t understand java as well as lua, but seems your code is clear.

    The addons’ threads can be found in: http://oc.cil.li/index.php?/forum/36-addons-mods/

    I am a prehistoric histories and manga / anime fan.


  • #728


    Jul 23, 2014

    Shift right-click the screen or remove the keyboard [to allow direct touch]

    Any way to do this programatically? A typical use case would be to turn off keyboard when touch-only program starts, then turn it back on before exiting.


  • #729

    Jul 24, 2014

    Having some problems getting this to work on linux, just decided to disable it for now instead of debug it. It says the .dll (the native thingy) is messing up the call stack or something. Any ideas?

    What is it that actually doesn’t work? That warning should be safe to ignore (since from all other reports I had on this it won’t use that lib anyway). That’s just because it tries all libs one-by-one, and stumbles upon incompatible ones in the process (because manual «is this the OS i think it is»-tests based on Java’s system properties just got way too error prone/special case intensive).

    I’ve been trying to test this mod in creative, but I’m having some trouble. I constructed a basic tier one computer case with two T1 memory chips, a T1 hard drive, a T1 graphics card, a screen/keyboard, and a disk drive with the openos floppy, all connected to a TE creative energy cell via a redstone energy conduit. So far, every time I try to boot up it gives me «Unrecoverable Error: Too long without yielding». Sometimes I manage to reach the console screen before it happens, sometimes not.

    As mentioned above, try increasing the timeout in the config. Also try increasing the `startupDelay` setting if computers tend to timeout after their chunk is being loaded.

    have i got that right? (im at work at the moment and unable to test)

    Looks good as far as I can tell.

    Any way to do this programatically? A typical use case would be to turn off keyboard when touch-only program starts, then turn it back on before exiting.

    Hmm, interesting idea, actually. Mind making an issue on Github for that?


  • #730

    Jul 24, 2014


    Michael12O


    • View User Profile


    • View Posts


    • Send Message



    View Michael12O's Profile

    • Carpenter
    • Join Date:

      4/20/2012
    • Posts:

      162
    • Location:

      Avant Gardens
    • Minecraft:

      MikeSage
    • Member Details

    Huh, it boots fine now. May I ask why all of the log-out & warn messages in the log though? Part of it is for the libraries, but I’m curious about all the «stripping» and «illegal extra prefix». I’ve never seen it before.

    Thanks for your hard work!


  • #731

    Jul 25, 2014

    Version 1.3.2 is out.

    As always, remember to

    make a backup of your world before updating.

    WARNING: when updating from MC 1.7.2 to MC 1.7.10, you may have to load your world in OC 1.3.1 + MC 1.7.10 at least once before updating to OC 1.3.2, to avoid losing blocks / items!

    • Added: motion sensor block.
    • Added: tractor beam upgrade.
    • Added: made floppies dyable by popular demand (craft them with a dye).
    • Added: unicode font renderer (thanks asie for providing the Unifont parser).
    • Added: switches / access points can now be upgraded (check their new GUI, thanks Kilobyte).
    • Added: direct support for Mekanism’s power system.
    • Added: creative tier servers.
    • Fixed: behavior of a lot of blocks in ‘timeless’ worlds (e.g. doDaylightCycle=false). Also made computers now work in these, which means they behave differently on `/time set`s now (their uptime won’t change anymore).
    • Fixed: tons of stuff in the LuaJ fallback (thanks gamax92).
    • Fixed: a bug where server racks consumed excessive amounts of IC2 energy.
    • Fixed: robots duplicating network messages.
    • Fixed: some visual glitches in GUIs.
    • Fixed: floppy sounds not playing for loot disks.
    • Fixed: a couple more potential crashes and minor stuff.


    Huh, it boots fine now. May I ask why all of the log-out & warn messages in the log though? Part of it is for the libraries, but I’m curious about all the «stripping» and «illegal extra prefix». I’ve never seen it before.

    Thanks for your hard work!

    OK, great. As for the prefix warnings, those are fixed in 1.3.2 (which required renaming the blocks / items, hence the warning about upgrading from 1.7.2).


  • #732

    Jul 25, 2014

    A tractor beam ?! Briliant :D.


  • #734

    Jul 25, 2014


    TorakWolf


    • View User Profile


    • View Posts


    • Send Message



    View TorakWolf's Profile

    • 404: Member Not Found
    • Location:

      Salvador BA
    • Join Date:

      7/6/2012
    • Posts:

      410
    • Minecraft:

      TorakWolf
    • Member Details

    I think this was largely requested, but can you add Ender IO Redstone compatibility?

    I am a prehistoric histories and manga / anime fan.


  • #736

    Jul 25, 2014

    I just found this mod and must say I approve 100%.. I’ve been frustrated myself with other computer mods, their progress, their openness (or lack thereof), and design concepts.

    This is going onto my system asap; Thank you muchly! :)


  • #738

    Jul 26, 2014


    Michael12O


    • View User Profile


    • View Posts


    • Send Message



    View Michael12O's Profile

    • Carpenter
    • Join Date:

      4/20/2012
    • Posts:

      162
    • Location:

      Avant Gardens
    • Minecraft:

      MikeSage
    • Member Details

    Hello :)

    Umh … i have a problem to launch this mod (v1.3.2/1.3.1) in minecraft (1.6.4). I’m building a modpack and there are a lot of mods but i dont see any mod that use li.cil

    ANd, as i see in the crashreport, the problem is in li/cli/os/common/Proxy so … can you .. fix it ? plz

    (I’m french, so … sorry for my english)

    Could you post the whole crash report in a

    Показать скрытое содержание

    for us/him, just in case? And are you sure your using the 1.6.4 version of OC 1.3.2.525 (the one on front page) *and* using forge >= 9.11.1.940 ?

    Also, just pointing out one compiled file does not help! A whole crash report(as I said above) would help very much. Thanks!


  • #739

    Jul 27, 2014

    For those that don’t enjoy skimming through change logs or getting lost in the wiki, have some videos! The following two videos try to cover most of the changes in the recent OpenComputers updates. Much thanks to LordJoda for trying to organize my ramblings, and DaKaTotal for editing the videos!

    Part 1:

    Part 2:

    FYI, more in-depth videos on individual topics are planned, to update the original tutorial ones, which are partially out-dated due to all the changes that have happened since then — such as getting rid of the ROM and reworking the robot assembly. No ETA on those, yet, though.


    @Dorixcraft, as Michael12O said, please report bugs over on Github, together with a full crash log (you can also upload that to pastebin, for example). Thanks!


  • #741

    Jul 29, 2014

    I have a question, is the wires for transmitting data unlimited range? Or what is the range?

    It’s essentially unlimited (for now at least), but keep in mind that all chunks containing the cables must be loaded for them to be connected.

  • To post a comment, please login.
  • Prev
  • 1
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 60
  • Next
  • 10
  • 20
  • 30
  • 40
  • 50
  • 60
  • |<<
  • <
  • >
  • >>|

Posts Quoted:

Reply

Clear All Quotes


Recommend Projects

  • React photo

    React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo

    Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo

    Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo

    TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo

    Django

    The Web framework for perfectionists with deadlines.

  • Laravel photo

    Laravel

    A PHP framework for web artisans

  • D3 photo

    D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Visualization

    Some thing interesting about visualization, use data art

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo

    Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo

    Microsoft

    Open source projects and samples from Microsoft.

  • Google photo

    Google

    Google ❤️ Open Source for everyone.

  • Alibaba photo

    Alibaba

    Alibaba Open Source for everyone

  • D3 photo

    D3

    Data-Driven Documents codes.

  • Tencent photo

    Tencent

    China tencent open source team.

Понравилась статья? Поделить с друзьями:
  • Unrecoverable error no bootable medium found init lua opencomputers
  • Unrecoverable error new world
  • Unrecognized win32 error code 1392
  • Unrecognized vm option useconcmarksweepgc error could not create the java virtual machine
  • Unrecognized game mode skyrim special edition как исправить