Jump to content
  • Sky
  • Blueberry
  • Slate
  • Blackcurrant
  • Watermelon
  • Strawberry
  • Orange
  • Banana
  • Apple
  • Emerald
  • Chocolate
  • Charcoal


  • Content Count

  • Joined

  • Last visited

  • Days Won


Everything posted by Izaya

  1. Just posting some random stuff I've been working on. MTFS, a more efficient way of sharing filesystems over MT-RPC than exporting components wholesale. It's on oppm but I'm not quite happy with it yet. libdownload ft. PsychOS, allows generic "here's a URI, get this file for me" with pluggable protocols, eventually™ mtar is just like, tar, but with less stuff. Supports compression. No new propaganda today, but I thought this was cute:
  2. There's software for importing/exporting components included with the Minitel RPC library (on oppm as mtrpc) tl;dr oppm install mtrpc exportcomponent <component address> [component address...] importcomponent <host> <component type> <component address> Doesn't work properly with components that return functions, like the internet card, but it works nicely with stuff like redstone cards and storage devices.
  3. Izaya

    Compare times

    Okay, so, for a start, I ... think you're trying to concatenate times to compare? To concatenate in Lua, you use the .. operator, like so: (Hour .. ":" .. Minute .. ":" .. Second) Though using string.format may be saner string.format("%s:%s:%s", Hour, Minute, Second) Next, you're trying to add a number to a string, which just isn't going to fly; Lua 5.3.5 Copyright (C) 1994-2018 Lua.org, PUC-Rio > "a"+2 stdin:1: attempt to perform arithmetic on a string value stack traceback: stdin:1: in main chunk [C]: in ? You'd need to use tonumber on the value somewhere, like local Min = tonumber(os.date("%M")) And then turn it back into a string to concatenate it (Hour .. ":", tostring(Min+15) .. ":" .. Sec) Or use the %i - integer - pattern for string.format string.format("%s:%i:%s", Hour, Minute, Second) Though this could all be done much more simply: os.sleep(15) Which will sleep the computer for 15 seconds, saving power, rather than busy-waiting - and a time that long would probably result in a too long without yielding error if you don't yield in the middle.
  4. Basically, you concatenate the Microtel files from the Github repository to the front of your embedded application, something along the lines of cat microtel-3.lua microtel-4.lua microtel-5-base.lua microtel-5-open.lua yoursoftware.lua > eeprom.lua This will let you use the functions described in the documentation for Microtel, and get the relevant signals.
  5. Well, it's only 10 months later than intended, but I finally got around to improving the FRequest daemon. It now uses OpenOS threads, reducing system load, and supports being used as a HTTP(S) proxy. To enable acting as a proxy: Update frequestd via oppm: oppm update all Reboot your server Change iproxy=false to iproxy=true in /etc/fserv.cfg Restart FRequestd: rc fserv restart
  6. It's probably showing the built-in 64KB temporary filesystem. See what mount and df say, and whether that address matches computer.tmpAddress().
  7. Bumping because it's basically been re-written; we're on 2.0 now, and it has some big improvements: Better re-connect logic Multiple connections pcap capture support for the vTunnel bridge with a wireshark plugin for dissecting Minitel packets Additionally, this post will contain a list of known public relays: lain.church, port 4096 luna.nosafe.space, port 4096 (thanks @Adorable-Catgirl )
  8. OC-ports OC-ports provides a database and library for using said database to cross-reference between protocol names and network port numbers. The database also contains the entity that registered the port(s) and, if applicable, a link to more information. API The portinfo API provides one function: portinfo.search(*query*, [*database*]) table: result The search() function takes your query - either a string or a port number - and searches the database, defaulting to the OC ports database, for your query, returning the first result as a table in the format: name port registered by more information This is more than enough to use for simple port lookups and generating tables. Reserving ports To reserve a port in the database, please submit an issue on the GitHub repository. Download portinfo can be installed via oppm from the Minitel repository, using the command oppm install portinfo Additionally, to install manually, place portinfo.lua into /usr/lib/, and both oc.db and minitel.db into /usr/lib/ports/.
  9. Ever needed real-world time in OpenComputers? I did today, so I did something about it. realtime realtime is a set of libraries and protocols designed to let you synchronise your computers with the real world, and includes: The realtime library, for taking and keeping time. The realtime-sync daemon, for synchronising your realtime library with the real world The realtime-relay daemon, for synchronising your realtime across the local network. All of these can be downloaded via oppm, or from the Minitel GitHub repository. Additionally, all of these come with manual pages describing their functionality and usage, all of which can be found here.
  10. and nothing of value was lost
  11. No display there. >Discord disgusting
  12. While true at the time, behold:
  13. Shout out to ba7888b72413a16a for their PR that significantly improves network performance on larger networks with routers, check out the before and after videos. Other stuff is coming soon(TM), so watch this space I guess.
  14. IP is a fairly complicated protocol - for good reasons, but OC handles a lot of stuff for you. If you want IP, I'd consider the network loot disk, though I'm not sure how well it works nowadays. If you're still set on implementing IPv4, I'd you'll need to look at the RFCs for IPv4 and TCP. I'd instead consider Minitel, given it has both something like TCP and HTTP (more like Gopher but whatever), as well as a reasonable routing system, but I suppose I am biased.
  15. The actual Lua interpreter in OC is probably faster than ComputerCraft - OpenComputers Lua is running natively most of the time, whereas ComputerCraft is running an interpreter written in Java. That said, the performance hit you're describing is due to the limit on component calls. This is due to the fact that you can only do one component call per tick, for server performance reasons (Don't get me started on CC and server performance...). You can make them faster with the help of another mod, I believe it's Magic Bees, which adds a number of species of bees that manipulate how many ticks occur for blocks around a hive, making computers able to access components faster.
  16. The executable search path is defined in the PATH environment variable, try running 'echo $PATH' in the shell. You can add to that with 'export PATH=$PATH:/whereever' I think.
  17. Minitel is a simple, efficient networking protocol implementing layers 3, 4 and 5 of the OSI model. It supports automatic configuration and routing over large and small networks. This topic contains links to all known Minitel protocols. Core protocols (OSI layers 3 through 5): protocol-3.md - describes the format of Minitel packets and basic behavior of each node. protocol-4.md - describes how ordered sequences of packets should be handled. protocol-5.md - describes how Minitel's bidirectional streams work Application layer protocols: FRequest - a simple file retrieval protocol MMail - simple mail delivery protocol If you wish to have a protocol added to this list, post it here.
  18. vTunnel can be used to add bridging over the internet to any existing OpenOS software that uses linked cards. Despite originally being written for Minitel, vTunnel implements a fully-functional linked card emulator and a server that will run under most unix-likes (OpenBSD is currently somewhat flaky, Linux is recommended). You can peruse the page on Github, for documentation and protocol information. Install it with oppm: oppm install vtunnel Additionally, you can read the documentation in-game with man vtunnel
  19. Using redstone should work for that - have a timer/clock hooked up to the computer, and use redstone.setWakeThreshold so that if the computer isn't turned on, it will be every x amount of time.
  20. I haven't actually implemented routing from computer-to-computer via linked cards - I kinda forgot they existed - but routing via linked switches should work fine. I'll implement computer-computer linked card routing when I get the chance. Thanks for reminding me. You can now send Minitel messages via linked cards. This'll make implementing internet bridges easier, too, so I'll get onto that at some point. This includes vTunnel:
  21. Fixed the demo link and added another, hopefully this one can be more stable. There's example code as some of the other applications such as FRequest and MMail in the Minitel repository.
  22. Izaya

    Remote Robot

    I think this video from around the release of OC 1.4 has what you want. It's designed for drones but should work just fine for robots, and doesn't even need storage beyond the EEPROM in the robot. This gist has the code.
  23. Minitel Minitel is a simple, efficient networking protocol implementing layers 3, 4 and 5 of the OSI model. It supports automatic configuration and routing over large and small networks. Currently supported platforms include OpenOS, KittenOS NEO (via this package), and embedded devices. Features include: Flood routing with route caching Reliable packet delivery Packet segmentation Ordered delivery Bidirectional, ordered, reliable streams Installation instructions and API documentation can be found in the Github repo, though they can be summarised as "oppm install minitel". Demos: Minitel and the net API Mail over Minitel FRequest in action
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and Privacy Policy.