Author Topic: tell me if its true  (Read 5412 times)

0 Members and 1 Guest are viewing this topic.

Offline justin66Topic starter

  • Regular Contributor
  • *
  • Posts: 115
tell me if its true
« on: February 24, 2015, 06:55:40 am »
i came to this video and i was chatting with video creator and he desperatelly say its not fake i think its super fake that he runs minecraft server on mycrocontroller



and that mycro controller has under 1kB of ram tell me if its possible including saving world in it and so on
 

Offline Psi

  • Super Contributor
  • ***
  • Posts: 9951
  • Country: nz
Re: tell me if its true
« Reply #1 on: February 24, 2015, 07:01:19 am »
i dunno how the minecraft server protocol works, but if most of the calculations are done client side and the server only 'hosts' the map for all clients then it's probably possible.
« Last Edit: February 24, 2015, 07:11:44 am by Psi »
Greek letter 'Psi' (not Pounds per Square Inch)
 

Offline miguelvp

  • Super Contributor
  • ***
  • Posts: 5550
  • Country: us
Re: tell me if its true
« Reply #2 on: February 24, 2015, 07:06:57 am »
Looks legit for a small map with just some switches, he never mentions you can build things, as I can see it's limited to flipping the switches.
 

Online hans

  • Super Contributor
  • ***
  • Posts: 1641
  • Country: nl
Re: tell me if its true
« Reply #3 on: February 24, 2015, 03:38:29 pm »
The ATMEGA is running a USB stack + virtual ethernet stack + minecraft server.
Probably the major consumers are the USB buffers, ethernet buffers and server connections.

The protocols are all implemented in FLASH, and 32kB sounds plenty to do simple USB + TCP/IP + own TCP/IP protocol.
The server may be limited to only 1 client, so he doesn't have to share other players coordinates. So that could simplify implementation.
He isn't building anything, so that world is probably loaded from FLASH and, except from switch levels, doesn't have to change ever.

My estimations of RAM usage:

USB is probably 2x8 for USB endpoint 0 (enumeration & setup), and 2x64 for endpoint 1 (assuming you only need 1 for a virtual USB ethernet device). That's 144 bytes of RAM.
TCP/IP could require 1560 bytes for a full frame according to spec. But if the minecraft protocol is very simple, there is little necessity for that big of a buffer. He may very well be getting away with 512 bytes of buffer. Sure the packets will be dropped/controller will crap itself if you send more than 512 bytes per packet.. but that's not the point of his video.

On a 1kB chip that leaves 368bytes for other stuff. You may need a few bytes for a TCP/IP client, but I'm sure it doesn't have to be more than 64 bytes for a very simple implementation.

So it sounds very reasonably that it can be done.
In fact:
https://github.com/cnlohr/avrcraft
 

Offline justin66Topic starter

  • Regular Contributor
  • *
  • Posts: 115
Re: tell me if its true
« Reply #4 on: February 24, 2015, 06:40:37 pm »
thanks. i thought i know something about electronics but now i feel dumb lol anyways can you explain me how on the world its possible i mean what does that controller even do it cant has all the data for minecraft server is it? is it doing processing for it only or what?
 

Offline miguelvp

  • Super Contributor
  • ***
  • Posts: 5550
  • Country: us
Re: tell me if its true
« Reply #5 on: February 24, 2015, 06:46:50 pm »
It's not a full minecraft server. It only has a small map that you probably can't change with switches that turn the light colors on the led strip.

I will doubt you can even dig a hole or add anything in that map.
 

Offline katzohki

  • Frequent Contributor
  • **
  • Posts: 378
  • Country: us
    • My Blog
Re: tell me if its true
« Reply #6 on: February 25, 2015, 09:08:46 pm »
I understand your skepticism, since the minecraft server usually requires ~2GB to run on a PC. As others have mentioned, it might be possible, but the server will be EXTREMELY limited in its capabilities. Since the minecraft chunk data is formatted to save only blocks that exist, I think you are limited to a very small area, which is what he has. I kind of wonder about how he is able to send / update world data fast enough.
 

Offline JSTFLK

  • Newbie
  • Posts: 3
Re: tell me if its true
« Reply #7 on: February 27, 2015, 07:34:22 pm »
He explains that the MCU isn't running a full server, but is running a simple stack that can "send the correct bits" so that the client sees a server.   
   
You should watch his other videos. He is a very clever guy and has built some very neat stuff.     
   
Also,
https://github.com/cnlohr/avrcraft   
   
The code he wrote definitely works as described. Whether that counts as a "real" server is up for interpretation.
 

Offline justin66Topic starter

  • Regular Contributor
  • *
  • Posts: 115
Re: tell me if its true
« Reply #8 on: March 03, 2015, 11:08:15 am »
He explains that the MCU isn't running a full server, but is running a simple stack that can "send the correct bits" so that the client sees a server.   
   
You should watch his other videos. He is a very clever guy and has built some very neat stuff.     
   
Also,
https://github.com/cnlohr/avrcraft   
   
The code he wrote definitely works as described. Whether that counts as a "real" server is up for interpretation.
thanks :)
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf