You are browsing as a guest. Sign up (or log in) to start making projects!

Irongingot

  • 11 Devlogs
  • 43 Total hours

A Minecraft server that uses under 10mb of ram. Because who can afford that stuff nowadays? Written in C!

Open comments for this post

6h 34m 38s logged

heyyyy!!! lots since last time.
got the recipe book working, implemented item durability, underwater breathing, improved trading by making villagers have professions and levels and actually opening up the trading ui, but most importantly, a big change in the packet code that makes multiplayer incredibly smooth now. i am honestly so tired i cant be bothered to type every single thing i had to go through to get here, but oh my is this project getting more and more complex ish. oh also added critical hits forgot to mention that

heyyyy!!! lots since last time.
got the recipe book working, implemented item durability, underwater breathing, improved trading by making villagers have professions and levels and actually opening up the trading ui, but most importantly, a big change in the packet code that makes multiplayer incredibly smooth now. i am honestly so tired i cant be bothered to type every single thing i had to go through to get here, but oh my is this project getting more and more complex ish. oh also added critical hits forgot to mention that

Replying to @TheShovel

0
2
Open comments for this post

6h 45m 3s logged

well, it sure has been a bit.
This took WAY longer than i thought, but… the server can now read and load vanilla buildings from the nbt data!!! Wohoo!!! This opens so many possibilities and its very exciting :D
Also, i have implemented a ton of missing blocks, including blocks that connect. Fences, glass panes, hanging lanterns etc now work properly! (hopefully, im still finding bugs with this. its way more complex than it seems).

Along with that, to go with the new villages, i have implemented proper trading! You can now trade with villagers, level them up and get more options! They also all have their specific clothing associated with their profession and all that!

Besides that, i fixed some bug reports i got on github, improved world generation blending with structures, and other small misc stuff here and there that is not that interesting. This is really taking shape and its getting closer and closer to vanilla every day. Happy about that :)

well, it sure has been a bit.
This took WAY longer than i thought, but… the server can now read and load vanilla buildings from the nbt data!!! Wohoo!!! This opens so many possibilities and its very exciting :D
Also, i have implemented a ton of missing blocks, including blocks that connect. Fences, glass panes, hanging lanterns etc now work properly! (hopefully, im still finding bugs with this. its way more complex than it seems).

Along with that, to go with the new villages, i have implemented proper trading! You can now trade with villagers, level them up and get more options! They also all have their specific clothing associated with their profession and all that!

Besides that, i fixed some bug reports i got on github, improved world generation blending with structures, and other small misc stuff here and there that is not that interesting. This is really taking shape and its getting closer and closer to vanilla every day. Happy about that :)

Replying to @TheShovel

0
3
Open comments for this post

6h 43m 55s logged

back to the grind i went today.
Implemented the “combat update” with amazing features like:

  • Spiders
  • Creepers (They actually create explosions!!)
  • Skeletons (They pew pew)
  • Revamped the player combat to reflect newer minecraft versions
  • Shields (as well as other offhand fixes)

Along side that, big groundwork changes. We now have SOUND!!! The server can now send sound packets so you are not left with the noise of your own breathing.

AAAAAAND i finally dumped the binary format that the original bareiron used for saving. It SUCKED. It was unreliable and hard to work with. So i just went to a json solution. Im concerned how slow saving could get in a big world, but if i get complaints about that, i will launch the saving on a separate thread or something. Anything but using bin files again… This change also fixes a bug with chest data getting corrupted! So ypeeee!

Ok see you next time when i add… other things that i feel like adding… mmmm yes

back to the grind i went today.
Implemented the “combat update” with amazing features like:

  • Spiders
  • Creepers (They actually create explosions!!)
  • Skeletons (They pew pew)
  • Revamped the player combat to reflect newer minecraft versions
  • Shields (as well as other offhand fixes)

Along side that, big groundwork changes. We now have SOUND!!! The server can now send sound packets so you are not left with the noise of your own breathing.

AAAAAAND i finally dumped the binary format that the original bareiron used for saving. It SUCKED. It was unreliable and hard to work with. So i just went to a json solution. Im concerned how slow saving could get in a big world, but if i get complaints about that, i will launch the saving on a separate thread or something. Anything but using bin files again… This change also fixes a bug with chest data getting corrupted! So ypeeee!

Ok see you next time when i add… other things that i feel like adding… mmmm yes

Replying to @TheShovel

0
2
Open comments for this post

4h 13m 55s logged

hiii cuties :3

since last time, i added a couple more systems and things!! while still keeping that ridiculously low memory usage and cpu usage.

We now have:

  • Bows, with arrows that get shot with proper physics, and also get stuck to the ground if you miss!
  • Ender pearls! They are… ender pearls! They teleport you.
  • The end is now more… not ehttps://music.youtube.com/watch?v=XRTn6sjRHMo&list=OLAK5uy_lZCA6cMyH3cdQEeAs2WNc8q2lud18JX7gmpty! We have endermen in there too!!
  • We also now have dungeons that spawn zombies and stuff and have juicy loot.

anywayyyy i also did a lot of other general code stuff and bug fixing and parity and blah blah too tired to type all of it honestly. See you next time in “jodie tries to do basic stuff but struggles because i want to do it as efficient as possible”

hiii cuties :3

since last time, i added a couple more systems and things!! while still keeping that ridiculously low memory usage and cpu usage.

We now have:

  • Bows, with arrows that get shot with proper physics, and also get stuck to the ground if you miss!
  • Ender pearls! They are… ender pearls! They teleport you.
  • The end is now more… not ehttps://music.youtube.com/watch?v=XRTn6sjRHMo&list=OLAK5uy_lZCA6cMyH3cdQEeAs2WNc8q2lud18JX7gmpty! We have endermen in there too!!
  • We also now have dungeons that spawn zombies and stuff and have juicy loot.

anywayyyy i also did a lot of other general code stuff and bug fixing and parity and blah blah too tired to type all of it honestly. See you next time in “jodie tries to do basic stuff but struggles because i want to do it as efficient as possible”

Replying to @TheShovel

0
1
Open comments for this post

5h 26m 58s logged

hey! been some time since the last dev log!
Added quite a lot of stuff since then! First of all… FISH!
Fish mobs now spawn in water, and drop fish that you can cook. They also have fish specific pathfinding that lets them float and stuff.
I also worked on nether structures! 2 different type of structures can now spawn in the nether: towers based on fortresses, and those places where the piglings live.
Oh, also, piglings! They now spawn in the nether and you can trade with them!
Related to structures, i have also worked on strongholds! They can now spawn underground, and they have an end portal, that right now, just sends you to a very buggy and unfinished version of the end.
Regarding mechanics, i also added farming! You can now plant seeds and grow wheat and make bread! I also worked on correctly mapping block break speeds to tools, since i wasnt sending the correct tags to the client before.

:And… last but not least, i reduced cpu usage by 70%!!!!! CRAZY!!! Yes the ram usage is still under 10mb, and now the cpu usage floats around 0.1 to 5% in intense situations. That is a HUGE deal taking into account that there are so many new features! (also fixed a bunch of bugs and stuff regarding numbers looping on eachother and stuff) AAAAANyway, see you next dev log :D

hey! been some time since the last dev log!
Added quite a lot of stuff since then! First of all… FISH!
Fish mobs now spawn in water, and drop fish that you can cook. They also have fish specific pathfinding that lets them float and stuff.
I also worked on nether structures! 2 different type of structures can now spawn in the nether: towers based on fortresses, and those places where the piglings live.
Oh, also, piglings! They now spawn in the nether and you can trade with them!
Related to structures, i have also worked on strongholds! They can now spawn underground, and they have an end portal, that right now, just sends you to a very buggy and unfinished version of the end.
Regarding mechanics, i also added farming! You can now plant seeds and grow wheat and make bread! I also worked on correctly mapping block break speeds to tools, since i wasnt sending the correct tags to the client before.

:And… last but not least, i reduced cpu usage by 70%!!!!! CRAZY!!! Yes the ram usage is still under 10mb, and now the cpu usage floats around 0.1 to 5% in intense situations. That is a HUGE deal taking into account that there are so many new features! (also fixed a bunch of bugs and stuff regarding numbers looping on eachother and stuff) AAAAANyway, see you next dev log :D

Replying to @TheShovel

0
1
Open comments for this post

1h 25m 33s logged

THE BOATS. THE BOATS ARE GONNA GET ME. HEEEELP HEEEEEELP

THE BOATS. THE BOATS ARE GONNA GET ME. HEEEELP HEEEEEELP

Replying to @TheShovel

0
1
Open comments for this post

3h 37m 28s logged

As i promised, i started working on the nether!

Added some basic biomes and stuff. not that crazy

the crazy thing i did here though is LIGHT. Now the server properly does lighting! Blocks that do light, now actually do light! Now, its not perfect. for the sake of performance and keeping that 7mb memory usage low i had to make some sacrifices. the light is per chunk, so if you place a light source between 2 chunks, you will see seams.
But it wasnt all smooth sailing sadly :(
most of the time i spent was fixing a segmentation fault caused by musl. It took me so long. It wasnt happening when just compiling with the system compiler, musl specifically was causing it. Every time a user joined the server id get a seg fault. Turns out, it was just a memory allocation bug. Since i have to be so tight about memory, it does cause issues as i said in my previous dev logs. Well anywayyyyyy! Next thing is gonna be nether mobs and structures! Maybe even trading?!?! no idea we will see if i feel like it lmao

As i promised, i started working on the nether!

Added some basic biomes and stuff. not that crazy

the crazy thing i did here though is LIGHT. Now the server properly does lighting! Blocks that do light, now actually do light! Now, its not perfect. for the sake of performance and keeping that 7mb memory usage low i had to make some sacrifices. the light is per chunk, so if you place a light source between 2 chunks, you will see seams.
But it wasnt all smooth sailing sadly :(
most of the time i spent was fixing a segmentation fault caused by musl. It took me so long. It wasnt happening when just compiling with the system compiler, musl specifically was causing it. Every time a user joined the server id get a seg fault. Turns out, it was just a memory allocation bug. Since i have to be so tight about memory, it does cause issues as i said in my previous dev logs. Well anywayyyyyy! Next thing is gonna be nether mobs and structures! Maybe even trading?!?! no idea we will see if i feel like it lmao

Replying to @TheShovel

0
1
Open comments for this post

3h 9m 21s logged

I know i said id be working on the nether, but i realized that to make the nether cool, i need some more systems in place!

so i started working on structures! Villages and little wooden tunnels can spawn around the world. Villages have multiple types based on their biome of origin, and also can spawn chests with items in them!

Along with that, as you can see, the tunnels in the caves can be shaped dynamically! You can make structures shape themselves to the surface they spawn on to make them look more “dynamic”. Its gonna help a lot with the nether!

This took so damn long because i spent like half of the time fixing bugs with chests and doors. The minecraft client is SO picky about entity data. Anything goes slightly wrong and BOOM you get disconnected!!!

with that said im proud of what i have here so far :)

next devlog will most likely be with nether world generation, unless i find another game breaking bug and have to rewrite a bunch of stuff.

love you gonna go eat lunch now -3-

I know i said id be working on the nether, but i realized that to make the nether cool, i need some more systems in place!

so i started working on structures! Villages and little wooden tunnels can spawn around the world. Villages have multiple types based on their biome of origin, and also can spawn chests with items in them!

Along with that, as you can see, the tunnels in the caves can be shaped dynamically! You can make structures shape themselves to the surface they spawn on to make them look more “dynamic”. Its gonna help a lot with the nether!

This took so damn long because i spent like half of the time fixing bugs with chests and doors. The minecraft client is SO picky about entity data. Anything goes slightly wrong and BOOM you get disconnected!!!

with that said im proud of what i have here so far :)

next devlog will most likely be with nether world generation, unless i find another game breaking bug and have to rewrite a bunch of stuff.

love you gonna go eat lunch now -3-

Replying to @TheShovel

0
3
Open comments for this post

1h 56m 48s logged

You can now craft a nether portal in survival! I implemented buckets, fluids and the interaction that allows for obsidian! Right now as you can see, the fluid interactions are kinda wacky… gonna work on that.

Also, unrelated to that, but I reimplemented chests! Which took me WAAAAAY too long. It pissed me off so bad that i just left an LLM to debug stuff till it figured out why my Minecraft client was getting disconnected for a “invalid item id” when opening an empty chest (i was hungry so i wanted to eat but i also got really frustrated and wanted to figure that out. dont judge me i am disappointed in myself as well)

Anyway turns out it was getting some garbage data and interpreting it as item data in a chest. Messed up some data types. Happens when you are trying to make something use as little memory as possible.

While i was at it, i also added the little opening and closing animation that chests do. Apparently that is server side. Never thought it was but i guess it makes sense

You can now craft a nether portal in survival! I implemented buckets, fluids and the interaction that allows for obsidian! Right now as you can see, the fluid interactions are kinda wacky… gonna work on that.

Also, unrelated to that, but I reimplemented chests! Which took me WAAAAAY too long. It pissed me off so bad that i just left an LLM to debug stuff till it figured out why my Minecraft client was getting disconnected for a “invalid item id” when opening an empty chest (i was hungry so i wanted to eat but i also got really frustrated and wanted to figure that out. dont judge me i am disappointed in myself as well)

Anyway turns out it was getting some garbage data and interpreting it as item data in a chest. Messed up some data types. Happens when you are trying to make something use as little memory as possible.

While i was at it, i also added the little opening and closing animation that chests do. Apparently that is server side. Never thought it was but i guess it makes sense

Replying to @TheShovel

0
1
Open comments for this post

2h 34m 29s logged

Added FLINT AND STEEL and THE NETHER, as well as a bunch more tools to make development easier. Started working on a creative mode, even though as you can see you need to rejoin to refresh states and stuff, and also you cant use the creative UI because the server doesnt use the same stuff as a vanilla server to handle items and inventories. Also noclip, so you can woosh around!!

Didnt show much of the nether yet because it is still very work in progress. Along with that, you cant make a portal in survival right now because you cant get obsidian and flint yet (flint should be pretty easy). So next up will be implementing all the stuff to make it viable to get there in survival. After that ill refine the nether world generation, add mobs and all that etc.

This server still running on 7mb of ram btw B)

AND IM DOING MY BEST TO KEEP IT THAT WAY!!!!

:3

Added FLINT AND STEEL and THE NETHER, as well as a bunch more tools to make development easier. Started working on a creative mode, even though as you can see you need to rejoin to refresh states and stuff, and also you cant use the creative UI because the server doesnt use the same stuff as a vanilla server to handle items and inventories. Also noclip, so you can woosh around!!

Didnt show much of the nether yet because it is still very work in progress. Along with that, you cant make a portal in survival right now because you cant get obsidian and flint yet (flint should be pretty easy). So next up will be implementing all the stuff to make it viable to get there in survival. After that ill refine the nether world generation, add mobs and all that etc.

This server still running on 7mb of ram btw B)

AND IM DOING MY BEST TO KEEP IT THAT WAY!!!!

:3

Replying to @TheShovel

0
2
Open comments for this post

1h 1m 1s logged

where it all starts… this is where the project is as of joining stardance! Been mainly working on making stuff easier to update and improving the build process so far.

Next up: THE NETHER

where it all starts… this is where the project is as of joining stardance! Been mainly working on making stuff easier to update and improving the build process so far.

Next up: THE NETHER

Replying to @TheShovel

0
2

Followers

Loading…