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

[OLD] InZernet - Internet in minecraft [HTTP]

Started by lifewcody, 06 October 2014 - 02:51 AM
lifewcody #1
Posted 06 October 2014 - 04:51 AM
IPv1 is out! check it out

===[InZernet]===


!!! THIS POST IS UP-TO-DATE AND I CHECK IT EVERY COUPLE HOURS, SO PLEASE CONTACT ME IF YOU HAVE TROUBLES / QUESTIONS !!!


Notes:

June 1, 2015 - Happy June everyone! I just got SMTP working and wanted to share it with you as soon as I can :)/>

Only two things to note, at the top of the file there is a variable named DNS, please change that to your DNS server or it will not work correctly. Second thing, please edit the os.loadAPI line (I commented it so it should not be that hard) to your InZernet API location(by default it looks for it at: /inzernet).

Again, any errors, suggestions please comment!

Download link:

SMTP Mod:
pastebin get bPwKJxCv /mods-enabled/


May 30, 2015 - Hello everyone! After long waiting, we are releasing an Alpha preview for IPv1, this should be for people who have experience in ComputerCraft as not everything is GUI based. If you have a bug in IPv1 (0.9.1), please contact me with it and I will fix it, thanks!

Download Links:


InZernet API:
pastebin get 2dmr1cis inzernet
InZernet Server:
pastebin get 0JasfiSr server
InZernet Switch:
pastebin get Q8p3YALr switch
InZernet Router:
[b]** THIS IS SPLIT INTO 3 PARTS FOR NOW ***[/b]
rStart: pastebin get eWy577JS rStart
router: pastebin get MzMpPKrR router
limTerm: pastebin get TeCivj6f limTerm
[b]** TO START ROUTER RUN rStart ***[/b]
InZernet Mods For Server:
IZTWeb: pastebin get P5kvjciz /mods-enabled/
IZTDNS: pastebin get pWqXYWMw /mods-enabled/

READ BEFORE INSTALLING:
1) Make sure everything is DIRECTLY connected, this means do not connect 1 cable up to a router and split that between two computers, you need a switch, have the cable from the router come into the switch and then have 2 sides that are available go to each computer.
2) If you encounter a bug, please send to my e-mail([email protected]<script cf-hash='f9e31' type="text/javascript"> /* */</script>), PM, or comment on the post
3) Enjoy and make some use for this! :)/>


February 21, 2015 - Hey guys, we are currently redesigning the InZernet to IPv1 (InZernet Protocol Version 1). This will eliminate almost 100% of the bugs on the current InZernet. This new version will allow ports (channels on the modems) and have an ILT (InZernet Location Table) on routers, switches, core routers, etc. This will allow for packets to actually be routed instead of every router on the server getting the packet. This should allow for more security also. We are also making install scripts so it automatically detects what side is which. For the ISP however, there will be manual setup, but I will make a video demonstrating how to setup your network and how to integrate into other ISP's. I'm not going to lie, but if you are already using InZernet on your server, there will be a hassle on the upgrade and I will show you how to get it working on an older setup. Thanks for using InZernet and if you are not already, you are missing out :)/>

March 21, 2015 - Thanks to: mttasch1 for discovering that the DNS was broken, I edited the pastebin and it now works. It is the same link as before. For IPv1 here is
what we have done so far:
DHCP (to configure the client/server),
ILT (InZernet Location Table),
Router (Just need some code cleanup),
Core Router (For routing between ISP's)
DNS (Updated so no more crashing :D/> yay),
AUTH (More user-friendly).

Things we are working on:
Client (Making a GUI and OS with InZernet integration)
Firewall for client (Able to block clients / ports, etc)
Router (Servable GUI to client on LAN in webbrowser)
Cat5e+ (Reserving channels for higher packet rate) !! Looks like CC has a limit of ~20 packets/sec, I will see what I can do about that :)/>
Auth (GUI in webbrowser to add/deny clients)
ISPControl (Control whole network from one server) [May or may not be released]
VLAN (Virtual LAN's) [Will eventually be released, maybe in IPv1.1]

March 24, 2015 - Hello everyone! We have started our IPv1 mailing list. If you would like to be notified every friday on IPv1 please e-mail: [email protected]and somewhere say you want to be in the IPv1 mailing list and we will add you. The schedule is as follows and may be subject to change:

March 27, 2015(Friday) - Showing off IPv1 (Including a functional mail server / firewall / IML / ISP hookup / + more)
April 3, 2015(Friday) - Release IML (InZernet Markup Language) and InZernet API for people to be able to look at them and start making websites
April 8, 2015(Wednesday) - Showing off some creations people made with IML / InZernet API
April 10, 2015(Friday) - [Hopefully] release of IPv1 :D/> (yay)
** all above will be included in the IPv1 mailing list and you are able to get beta builds of IPv1 throughout the course of it's development and you get the final release of IPv1 before the forum post does **


Q: How to setup?
http://gyazo.com/c24...a57125bc4b8671c
The red line is the mainSide so the router / switch knows what side to communicate through. This will be fixed in IPv1

Q: What is InZernet
InZernet is just a name, but essentially it is like the internet that we know today.

Q: What can it do?
Today we have chatrooms, websites, etc. We now have the same functionality but in minecraft! based off of my experimental 'InZernet' protocol, it performs lightning fast!
[UPDATE] - We successfully created a chat room on our DEV server.

Q: Where is the download link?
Scroll Down

Q: I found a bug/error what do I do?
Please comment on this post or message me ALL the details you can. screenshots, error codes, what happened before the error. Some of you are over-achievers and make patches to certain things, that is all fine, but I would really like a copy of it so I can integrate it into the next version so it doesn't break stuff for you.

Q: Do you do testing before releases?
Yes I do! I have someone deliberately try to kill the InZernet before it is released. If any bugs are found then I fix them and the process starts all over again.

Download links:

DNS: (b.150)
pastebin get MBX1uGtT DNS
[NOTE: DOMAINS STORED IN /domains]
[NOTE: DOMAINS MUST BE lowercase]

Router: (b. 150)
pastebin get J9M33KxE router

Server: (b. 150)
pastebin get dETiaNiC server
[NOTE: TO INSTALL MODS DO:
[ server install ? << LISTS MODS]
[ server install GET << INSTALLS WEB SERVER]

Client: (b.150)
pastebin get Y4EEktdA client
[NOTE: THIS DOWNLOADS MULTIPLE FILES]
[NOTE: EDIT SETTINGS FILE: /loc/browser/settings]

Auth Server (b.150)
pastebin get Lhj4Wvay auth
[NOTE: THIS WOULD ALLOW ROUTER 12]
[ CREATE FILE: [b]authList[/b] LIKE THIS:]
{
  id12 = "yes",
}

Cell Tower (b.150)
pastebin get 1WR8An4Y cellTower
[NOTE: WIRELESS RUNS ON 101 WHILE WIRED IS 100]



>>> FOR ME TO REMOTELY LOOK AT YOUR PROBLEM YOUR SUBMISSION MUST BE IN THIS FORM: <<<
What system is wrong?: (client/router/DNS/server)
Version of the system: (build number or version)
Pastebin link to the code of the system (If using a modified system):
Description of problem:
How to reproduce:
Error message:
Screenshots of setup(not required, but I would appreciate them):





=== HOW IT WORKS ===

So basically how this works is we have a bunch of routers and they all communicate with each other via a protocol [InZernet], If client A needs to talk to client B on a separate router, we forward the packet to the router and it then send it to the router of client B and it then reads the packet. This also allows each computer to have an IP address! I originally got the idea from TorakTu because he redesigned BlueNet which had IP addresses, but these IP addresses honestly sucked, so I made a more logical approach. Take the router ID and add on the client/server ID to make an 'IP Address'. If router has the ID of 1 and the client has the ID of 2 the IP would then be 1.2. This make packet reading easy and takes only one hop.


To-Do List:

Rebuilding InZernet Protocol Version 1 >>> 70%

Cases:
Red = Security breaches, major flaw, or of something significant
Yellow = Flaw, or medium breach
Green = Small bug or something of not disasterous
Black = Solved/Done

[100] - Not able to send code with a '-' in it
[102] - When receiving update, client crashes
[105] - Packet system redo- TYPE-SEND-SENDER-DATA instead of TYPE-DATA-SEND-SENDER
[106] - Router crashes on any packet if bit(s) are blank
[107] - Able to get unwanted files off of server {any file as determined by bit 2}
[108] - Ability to use network cable [if not already done by accident]
[109] - AuthServer authList would not generate on default
[110] - DNS Server did not function due to lack of reading records.
Edited on 29 June 2015 - 12:33 AM
CoLDarkness #2
Posted 06 October 2014 - 02:21 PM
Looks good.
lifewcody #3
Posted 07 October 2014 - 06:03 PM
Looks good.
Thanks, and more to come soon :)/>
vyse #4
Posted 18 October 2014 - 05:16 PM
but right now your having a little bit of a problem with lighting fast XD it has a one second delay but besides that its good.
LDDestroier #5
Posted 23 October 2014 - 12:04 AM
So what, does this use http for communication instead of rednet? You could have a special webpage that takes in an http message, then sends that same message back to the id of a computer on the server the request came from, where it could be read. That, or it could broadcast it and do the same thing.

You know what, add that feature. It would make people want to use it. Heck, http could even be used for inter-server communication.
I want to be able to do that…please make InZernet use http.
lifewcody #6
Posted 28 October 2014 - 02:29 PM
So what, does this use http for communication instead of rednet? You could have a special webpage that takes in an http message, then sends that same message back to the id of a computer on the server the request came from, where it could be read. That, or it could broadcast it and do the same thing.

You know what, add that feature. It would make people want to use it. Heck, http could even be used for inter-server communication.
I want to be able to do that…please make InZernet use http.

InZernet sort of has HTTP, with normal HTTP it sends a GET to the servet to get the page, I have incorporated this as a packet 'type' and it is named GET so for example a packet to get the index page to 1.2 from 3.4 would be:

GET -- PacketType
index -- PacketData
1 --DestinationRouter
2 --DestinationClient
3 --SourceRouter -- set to "na" or something, router automatically overwrites this to lessen packet spoofing
4 --SourceClient

and please define what you mean more, I think you mean to communicate between servers on the same router? It does that already and basically InZernet is the TCP/IP of the actual internet and I just need developers to create a web browser. Thanks for the suggestion! :)/>
AlkamlBan #7
Posted 28 October 2014 - 07:44 PM
So…does it need internet connection? (excluding the connection to the minecraft server) or do you create the websites etc? I ask cause I had a similar idea and I really like it that someone actually makes such a thing. Good job and may the InZernet be with you :P/>
LDDestroier #8
Posted 28 October 2014 - 08:37 PM
So what, does this use http for communication instead of rednet? You could have a special webpage that takes in an http message, then sends that same message back to the id of a computer on the server the request came from, where it could be read. That, or it could broadcast it and do the same thing.

You know what, add that feature. It would make people want to use it. Heck, http could even be used for inter-server communication.
I want to be able to do that…please make InZernet use http.

InZernet sort of has HTTP, with normal HTTP it sends a GET to the servet to get the page, I have incorporated this as a packet 'type' and it is named GET so for example a packet to get the index page to 1.2 from 3.4 would be:

GET -- PacketType
index -- PacketData
1 --DestinationRouter
2 --DestinationClient
3 --SourceRouter -- set to "na" or something, router automatically overwrites this to lessen packet spoofing
4 --SourceClient

and please define what you mean more, I think you mean to communicate between servers on the same router? It does that already and basically InZernet is the TCP/IP of the actual internet and I just need developers to create a web browser. Thanks for the suggestion! :)/>

What I mean is this:

The CC computer wants to chat with someone too far away for rednet.
The CC computer sends an HTTP message to a webpage, telling it what MC server it is on, which Computercraft ID it wants to send the message to, and the message itself.
The webpage would take that request, then send it back to the MC server, where the recipient would get the message the sender had sent.

If InZernet doesn't already do that, then do that. I really want to use rednet chat from my pocket computer to a guy 4000 blocks away.
Dragon53535 #9
Posted 28 October 2014 - 08:49 PM
The CC computer sends an HTTP message to a webpage, telling it what MC server it is on, which Computercraft ID it wants to send the message to, and the message itself.
The webpage would take that request, then send it back to the MC server, where the recipient would get the message the sender had sent.

CC doesn't let a website contact a computer, the computer must do all the work.
LDDestroier #10
Posted 28 October 2014 - 09:21 PM
Well the computer would get the message from website then.
lifewcody #11
Posted 28 October 2014 - 10:07 PM
So…does it need internet connection? (excluding the connection to the minecraft server) or do you create the websites etc? I ask cause I had a similar idea and I really like it that someone actually makes such a thing. Good job and may the InZernet be with you :P/>
You need an initial internet connection to download the scripts, but after that no, and if anyone needs help, PM me and I can set it up for you

So what, does this use http for communication instead of rednet? You could have a special webpage that takes in an http message, then sends that same message back to the id of a computer on the server the request came from, where it could be read. That, or it could broadcast it and do the same thing.

You know what, add that feature. It would make people want to use it. Heck, http could even be used for inter-server communication.
I want to be able to do that…please make InZernet use http.

InZernet sort of has HTTP, with normal HTTP it sends a GET to the servet to get the page, I have incorporated this as a packet 'type' and it is named GET so for example a packet to get the index page to 1.2 from 3.4 would be:

GET -- PacketType
index -- PacketData
1 --DestinationRouter
2 --DestinationClient
3 --SourceRouter -- set to "na" or something, router automatically overwrites this to lessen packet spoofing
4 --SourceClient

and please define what you mean more, I think you mean to communicate between servers on the same router? It does that already and basically InZernet is the TCP/IP of the actual internet and I just need developers to create a web browser. Thanks for the suggestion! :)/>

What I mean is this:

The CC computer wants to chat with someone too far away for rednet.
The CC computer sends an HTTP message to a webpage, telling it what MC server it is on, which Computercraft ID it wants to send the message to, and the message itself.
The webpage would take that request, then send it back to the MC server, where the recipient would get the message the sender had sent.

If InZernet doesn't already do that, then do that. I really want to use rednet chat from my pocket computer to a guy 4000 blocks away.

Ah! I see what you are saying now, and InZernet has the ability to do that :)/>

The problem with cables is that it has a 256 block range limit, I counter this with 'switches' (basically repeaters) and then you can create a cellphone tower to connect with your pocket computer. As the post says at the top, I am rewriting it so that it has all these things. I already have the cellTower and switch code done, I'm just currently testing it, if you PM me I can send you a link to it :)/>

Well the computer would get the message from website then.

Instead of using an external source (as this takes up more bandwith, CPU, etc) I made it all internal to the server. See the post I made above about the cell Tower's and switches
gametechish #12
Posted 16 March 2015 - 08:12 AM
I love this but I would like to know how to set it up? also the auth program spits an error out at me

auth:7: attempt to index ? (a nil value)
it says this right after it says Running on 10
SGunner2014 #13
Posted 20 March 2015 - 06:16 PM
I love this but I would like to know how to set it up? also the auth program spits an error out at me
 auth:7: attempt to index ? (a nil value) 
it says this right after it says Running on 10

We're currently re-making the InZernet from scratch, so when that comes out all of the problems in the previous version should be fixed. Sorry about that :P/>

Anyway, thanks for using the InZernet,
- Sam
lifewcody #14
Posted 20 March 2015 - 10:17 PM
I love this but I would like to know how to set it up? also the auth program spits an error out at me

auth:7: attempt to index ? (a nil value)
it says this right after it says Running on 10

Hi gametechish,

Sorry I could not get your post earlier, as Sam stated, we are re-doing it to make it 1,000 times better.

The error you are receiving is because the auth Server does not create the table file: authList by default. I just edited the pastebin script to make it create it by default with a couple examples. If you have questions on how to setup the InZernet or anything about it, please PM me.

Thanks,
jubba890
gametechish #15
Posted 21 March 2015 - 06:36 AM
cool thank you and I cant wait for IPv1!
lifewcody #16
Posted 10 April 2015 - 02:43 AM
IPv1 will be a bit delayed (appx. 1 week) but we are still developing it. Thank you for your patience.
Sxw #17
Posted 14 April 2015 - 03:27 AM
Cat5e+ (Reserving channels for higher packet rate) !! Looks like CC has a limit of ~20 packets/sec, I will see what I can do about that :)/>

By the way, the 20packet/sec limit is based on the server's tick time, in which CC has to yield in order to receive events, such as modem_message. Only one message can be received per tick, and this happens 20 times a second. Try bundling multiple packets into one?
lifewcody #18
Posted 16 April 2015 - 11:09 PM
Hi, sadly that would not work because the packets only contain certain information about what is being sent (ex, webserver, DNS, etc)
Thank you for the suggestion though :)/>
lifewcody #19
Posted 30 May 2015 - 06:13 PM
IPv1 Alpha 1 (0.9.1) has been released for testing, please look in the topic for download links. Thanks!
lifewcody #20
Posted 01 June 2015 - 05:42 AM
Added SMTP Mod! Check it out guys and let me know what you think
lifewcody #21
Posted 29 June 2015 - 02:32 AM
Check the OP guys, new link to IPv1