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

Search the Community

Showing results for tags 'networking'.

More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • OpenComputers
    • Announcements
    • Feedback
    • IRC
  • Code Central
    • Support
    • Showcase
    • Tutorials
  • Addons & More
    • Addons Mods
    • Architectures
    • OpenEngineering Task Force
  • General
    • Lounge
    • Forum Games
    • Showcase
    • Servers
  • Archives
    • Public Archives

Find results in...

Find results that contain...

Date Created

  • Start


Last Updated

  • Start


Filter by number of...


  • Start





Website URL








Fediverse ID



Found 18 results

  1. 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
  2. I am currently working on a project using microcontrollers and need to be able to turn them on remotely using the setWakeMessage function though i seem to be doing something wrong. Microcontroller1: local modem = component.proxy(component.list("modem")()) modem.broadcast(1,"start") Microcontroller2: local modem = component.proxy(component.list("modem")()) modem.open(1) modem.setWakeMessage("start") Both of the microcontrollers have a tier 2 wireless network card and the one that is supposed to turn on (Microcontroller2) has of course been turned on previously so the port and the wake message should be set but it still doesn't turn on. Edit: If one of the devices is a computer and instead of a microcontroller it works perfectly fine. It just seems to not work when a microcontroller is sending the message AND a microcontroller is receiving the message.
  3. TL;DR - Add configuration open to make the networks behave more realistically, allowing for network traffic to be sniffed. There's not much more to be said here. Add the ability, in configuration at least, to make all packets sniffable. So they behave more like real packets, instead of magically reaching only their intended target and nobody else. In your code listening for network events, you'd just need to check if the target address matched your modem's address. Or maybe add this feature by default to the network library, that you can enable or disable. Preferably, this would include all ports, or at least an open to sniff all ports. It would add some additional challenge for servers, and give the data card more of a use (encryption and decryption). It would also allow for routers to easily sniff traffic, to route it, without it necessarily needing to be the target.
  4. About I recently made a simple DNS system and library for use with standard networking tools. It allows you to contact a server (that you know the address of) and look up other addresses by arbitrary names. For example. I want to make a server for something (eg a chat room) but I don't want people to have to tell their friends the really long address of my server for them to be able to connect. I can create a DNS at the DNS server and people can connect to something easier to remember than a UUID: eg. "mycoolchatroom" or "Codian's Chatroom". Requirements A Network Card is required for both the server and the library. It does not have to be wireless, though it is strongly recommended. An Internet Card is required for installation via pastebin. Installation - I want to host a server: Run the following command to download the DNS Server into your current working directory. pastebin get U9ZSdG77 dnsserver.lua To configure it, edit the file and change the variables as needed. Append any DNS addresses you want to the table "dnsdb". (The file is commented to make it easier to find.) Installation - I want to install the library to use with my programs: Run the following command to download the DNS Server into /lib/ and allow importing via require() pastebin get WqXQFchC /lib/dns.lua After you do this, you can import the DNS libary in your code. Here is an example program: local dns = require('dns') -- import the libary dns.setAddress('4d2e4c6c-b70b-42b0-85db-d3ea1b27b3c0') -- sets the DNS server address dns.setPort(42069) -- sets the DNS server port, the default is 42069 reply = dns.lookup('tutorial') -- look up a dns, in this case "tutorial" points to some address -- will return nil if there is no address corresponding to that dns -- will return false if the DNS server could not be reached -- will return string that contains the address for that DNS if everything went right if reply == nil then print("Couldn't find that address.") elseif reply == false then print("Couldn't connect to DNS server.") else print("DNS Found! " .. reply) end Hope you like it!
  5. This is a centralized repository to allow users to communicate on what port numbers their programs use, and to reserve them in an effort to minimize overlap. This is a copy of: https://github.com/GlobalEmpire/OC-Programs/blob/master/Reserved OC network card ports.txt If you would like to reserve a number, please do any of the following: 1. Post in this thread 2. Message MajGenRelativity#4971 on Discord 3. Message MajGenRelativity on irc.esper.net Currently Reserved Ports: Port 14: Ethernet over OC: Reserved by SolraBizna Port 148: GUI service: Reserved by Dustpuppy Ports 324-325: Stargate Dialing Service: Reserved by Demokela Port 4096: Minitel: Reserved by Izaya Ports 4378-4379: GERTi: Reserved by Global Empire Port 4662: Short messages: Reserved by Dustpuppy Port 9100: Network Print Service: Reserved by Dustpuppy Port 9900: Zorya BIOS LAN boot: Reserved by awoo
  6. (leave a comment if you want to register an MMTI type) Multipurpose Media Type Identifier, Version 1.0 Purpose The MMTI provides a way to identify data types without an extension, and to differentiate files with the same extension. One can only make so many recognisable extensions with 4 latin characters. Some data is not to be used as a file, but still needs a way to be identified. Format An MMTI string takes the format of category/type. For example, a Lua script would be application/lua. A CPIO archive would be archive/cpio, etc. MMTI strings should only use US-ASCII characters. Unregistered MMTI strings MMTI strings that aren't registered should prefix the type with x-, such as application/x-zoryapkg. Categories As of Version 1.0, the following categories are available for use. application - Any type of format which is to be executed archive - Any type of format which is used to archive other files media - Any type of format which contains video or audio model - Any type of format which contains data used to construct a 3D model text - Any type of format which is used to transmit textual data message - Any type of format which is used to transmit data over a network other - Any type of format which is not covered in the other categories Registed MMTI types. MMTI type Extensions Registration date application/lua .lua 2019-7-30 application/lua-binary .luac 2019-7-30 application/lua-assembly .luas 2019-7-30 archive/binary-cpio .bcpio, .cpio 2019-7-30 archive/urf .urf 2019-7-30 media/dfpwm .dfpwm 2019-7-30 text/txt .txt 2019-7-30 application/json .json 2019-7-30 application/lua-table N/A 2019-7-30 text/ohml .ohml 2019-7-30
  7. lukeh990

    Wired networks

    I am trying to connect multiple computers over a network but the monitors keep displaying on the other computers monitor. In the ONLY english official tutorials which are outdated the computers are directly connected. I don’t want to have to put a power distributor and a relay on every computer. wireless is to much a hassle and on servers it can be picked up by other players. Is there any other way to use wired networks?
  8. Back in the day, I had started to look into and even attempted to develop An advanced networking system for OC. I failed before, but I feel I now have the experience and knowledge to truly pull it off (thanks to working in the field). So, I would like to re-introduce the Unet Project! The Unet framework is a full stack IP routing solution, featuring 64 bit IP address and subnet masks, VLANs, MAC (modem address) aware interfaces and the ability to be filtered by routers. The key behind Unet is its abstraction layer, aggregating all communications media (Loopback, Wired Modems, Wireless Modems, Tunnel Cards, etc) into an interface, completely independent of the media. This vastly simplifies the transmission process. These interfaces are then farther hidden behind the basic send command. When presented with an IP address, will automatically resolve which media to use and how in the following process. If an interface with this address exists on the local system, the message is immediately looped back on behalf of the interface. If an interface resides on the same subnet as this address, it will be used to transmit the message If a route entry is found in the local route table that points to the subnet in which this interface resides, the routing information will be used in transmission If a default route is found, it will be used If no route is found, a route not found message will be looped back. In addition, an advanced series of router operating systems, both for microcontrollers (using side based transmission control) and full-fledged servers (using modem-side bindings and tunnel cards) Will allow massively scaled networks. In addition to the Unet IP addresses, the headers will have space for auxiliary transport layer info. An int will be used for Source IP addresses, a second int will be used for Destination IP Addresses, and a third int will contain an 8-bit hop counter, and a 16-bit protocol flag showing what the packet is carrying. At this time there is no other data, and comments are more than welcome regarding what to do with the extra space The project is still very early stage, as I work on it in my spare time at home, but should there be enough interest in this (Admittedly competing) system, I have however committed the code to Github and loaded the WiKi with information about the current designs. Anyone is welcome to discuss this with me! https://github.com/LetDevDev/unet
  9. for some reason when i request the server on my network for a modem_message value it gives the previous one. e.g i request the distance it gives me the port. i don't think it's a problem with the code but here it is anyway hope someone can help.
  10. I'm trying to setup a system so that when the network server receives a modem_message it does something based on the message and just based on the message not the distance or the address of the sender, however when i run the program, ( All of the code for which is on the left) and i send a message to the server it spits out this: if someone could please tell me what i have done wrong i would be very grateful as troubleshooting on my own was pretty much impossible.
  11. This is a basic wired networking protocol that allows you to set up a rudimentary chat application over a WIRED network. This is the foundation for a far FAR more robust protocol I am developing local term = require("term") local component = require("component") local event = require("event") local m = component.modem local str="0" -- determine what channel people want to listen on term.write("What channel do you want to chat on? \n") local channel=io.read() m.open(tonumber(channel)) -- begin event event.listen("modem_message", function(_,_,from,port,_,message) -- decipher, and print local cipher = "1234567890qwertyuiopasdfghjklzxcvbnm" local function decrypt(str) str = str:gsub("%d",function(a) return string.char(cipher:find(a,nil,true)+47) end) str = str:gsub("%l",function(a) return string.char(cipher:find(a,nil,true)+86) end) return str end if string.sub(tostring(message), 1, 9)=="encrypted" then str=tostring(message) message=decrypt(str) local strlngth=string.len(tostring(message)) message=string.sub(tostring(message), 10, strlngth) print("Got a message from " .. from .. " on port " .. port .. ": " .. tostring(message)) else print("Got a message from " .. from .. " on port " .. port .. ": " .. tostring(message)) end end) -- send a message term.write("is this going to be encrypted? \n") -- register cipher local cipher = "1234567890qwertyuiopasdfghjklzxcvbnm" local function encrypt(str) str = str:gsub("%d",function(a) a=a:byte()-47 return cipher:sub(a,a) end) str = str:gsub("%l",function(a) a=a:byte()-86 return cipher:sub(a,a) end) return str end -- determine whether encryption should be used local useEC=io.read() if useEC=="yes" then term.write("Encryption activated \n") end while true do str=io.read() if tostring(str)=="endme" then os.exit() end if useEC=="yes" then str=encrypt(str) str="encrypted" .. " " .. str end -- send message m.broadcast(tonumber(channel), str) end
  12. So, basically what I want to do is make it so that a computer waits for a message to be sent to it, but doesn't get stuck forever waiting for a response. For example, I'd have a computer send a request for data to another computer that's constantly receiving, but the computer that requested the data only listens for responses for 2 seconds, and if it doesn't get anything sent to it, it would result to a default value.
  13. With the newest versions of Feed the Beast featuring opencomputers prominently on 1.10.2 I decided it was time to start publicly releasing my opencomputer OS project. I have started working on an operating system that implements proper kernel protection rings, secure system calls, and process management. It will be modular with integrated hardware drivers, so it will support most major mods in a secure way. It will feature a package manager to download both drivers and applications, hosted globally or allowing private hosts for servers that want to pick which software packages are available. It will also have built in support for a UDP-like protocol, which will be supported by a range of services like DNS and routing services which allow proper addressing. They won't be 1-to-1 implementations because that would be far too large to implement or maintain, but they will follow the same basic principles. The networking stack will allow drop-in protocols, so future implementations of true TCP (proper connection throttling, segmented transfers and error detection) are possible. [For clarification this is a layer 3 to layer 7 partially implemented stack] The OS will not feature a GUI to begin with unless I find someone very competent who would work on that, as the amount of security and networking code this will require is monolithic and I doubt I will have the time to work on that. I will also be creating full featured documentation for the OS,how to interface with it and write apps, as well as how to setup and install a working network with it. Hopefully I will have something to show everyone soon. For now I have not included any source code until I can get a working version of the full kernel with sandboxing. I'll be posting updates here and on the repository once I share it and would appreciate feedback once I get to that point. I will be hosting a server as well to test large scale network design and allow people to see what the system is capable of once I get fully-working prototypes.
  14. Yes, I know that many people have made networking systems, and I know that some of them do routing too. But I want to present a new contender to the table Unet! Unet will be an advanced networking system that will be heavily documented, routed using many different methods, and even support many transport mediums such as modems (of course), redstone eventually, linked cards, abstract busses, you think of it, it could probably be added to Unet! The way I'll achive this us by using routing devices set up in an extended star, as well as emulating the actual API, meaning that Unet will be universal, any number of any type of transmission medium will act the same on the program side. I'm still working on the system as a whole, but anyone interested in either the idea, or even helping me program this is more them welcome to message me or reply. Currently looking for input on headers, if you wish to have a special header for something you need, Now's your chance! Take a look here to review the current state or headers, then Pull Request your adjustment/new header to see the change made/added https://github.com/DevonTheNovice/unet/wiki/Headers I've finally created a github repo for this! find the code here and make fun of me for it at: https://github.com/DevonTheNovice/unet
  15. So, I've successfully sent a message to my friends computer. The problem is, it's just not very practical. We don't feel like going into the lua interpreter and typing things like =event.pull("modem") just to receive a message. I also don't like having to open the modem every time I get on the computer to send a message. Is there any way I could make this whole process more user friendly? Any help would be great.
  16. Okay, so first let me explain. I would like to be able to send a message from a computer with a linked card, to the other computer with a linked card, and have the receiving computer then forward that message as a broadcast to other computers on the other network its connected to, these two networks are in different dimensions. My ability to code LUA is pretty much "hello world", and someone in IRC coded this for me... http://pastebin.com/qmTAUpsB The recieving computer gets the message, but it does not go through its own network to other computers, can someone help? thanks
  17. So I can figure out how to send normal network messages, but I am at my wits end with linked cards What lua command do I need to type to send a message to a computer receiving the message? I have tried component.tunnel.send= , but I dont know what function to type, or anything xD I tried component.tunnel.send("my message here") but it never shows up on the receiving computer. The command I use on the receiving computer is event.pull("tunnel") but a message never comes through. Help me please, and try to be simple, my ability to code lua is almost zero xD
  18. Magik6k

    DNS System

    DOMAIN NAME SYSTEM Yep. This one works much like real one - but it's a little simpler. Basic system setup/configuration/howto/whatever The most important part of every global DNS system are root-server. In real life there are 13 of these, but for Minecraft one server should be enough(ofc. you can have more root-servers). To be able to use DNS system the client must know at least one root server. Now let's say we want few domains in our system: example.org. sub.example.org. populardomain.org. Now we create example network of 3 servers, with addresses addr1, addr2, addr3 The first server will be root server, the second will operate .org. zone and last one .example.org. Now you may wonder what are these dots after addresses - They are 'zones'. So for example address 'sub.example.org.' requires asking 3 zones to get address. Going from back, the first zone is the 'root zone' and is stored on root server. Root zone knows .org. zone and asks it about sub.example, then .org. asks .example.org. about sub.example.org. In my implementation there are 2 types of fields: a - address ns - name server - address of other DNS server that may know more about zone it is contained in. If requested record could not be found on server, the user will be directed to 'nearest' name server that may know something more. This way we can configure our servers to contain following fields: server 1(addr1) - root server ZONE org. NS -> addr2 ZONE net. NS -> otheraddr server 2(addr2) ZONE org. ZONE populardomain.com. A -> addresstohost1 ZONE example.org NS -> addr3 server 3(addr3) ZONE org. ZONE example.org. A -> exampleaddr1 ZONE sub.example.org. A -> exampleaddr2 Do the thing in real minecraft life All steps require servers with OSes on HDD!! Server 3: Put some floppy to server(or small hdd) [Install dnsserver] # fddid chose drive and set label 'example' Do same thing with Server 2 and 1(root server), but set labels like 'org' and 'root', then Root server(Server 1): Put floppy/hdd labeled with 'org' or whatever # nsctl setfdd ns orgDriveLabel org Then on the .org server(Server 2) put example.org fdd/hdd # nsctl setfdd ns exampleOrgDriveLabel example.org # nsctl set a addresstohost1 populardomain.com And finally on the third server do: # nsctl set a exampleaddr1 example.org # nsctl set a exampleaddr2 sub.example.org After doing all that stuff on the client set the root dns using the fdd/hdd created earlier: # resvctl setroot fdd rootFddOrHddLabel Finally on the client you should be able to do: # resolv sub.example.org and see 'exampleaddr2' as a result (Of course you can design the network in any way you want, you may create any TLD's you want, you may use TLS's as any other domain, and you can store the whole system on one server) INSTALLATION(through MPT) Both: # pastebin run KaATrNkb # mpt ppa add m6koc Then, for servers: # mpt install dnsserver # reboot reboot is required to get server running Or clients: # mpt install dns API The 'dns' package provides super-simple API for resolving, in fact only one function, returning requested computer card address dns.resolv(hostname: string):string TODO's Check this post for mistakes Create cache'ing servers to speed-up things find better way of carrying addresses than fdd/hdds(Ideas?) Code? http://cc.nativehttp.org/web.html?ppa=m6koc
  • Create New...

Important Information

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