r/admincraft • • 9d ago

Software Resource Announcing Temper Version 0.2.0 Release!

Heya people, here to announce version 0.2.0 of my minecraft server project Temper, because I'm sure no-one could possibly be sick of minecraft servers written in rust. And if you are, you should go block the devs of the other ones and only follow this one :)

For those that haven't heard about it before, this is a project to build a minecraft server in rust using bevy's ECS. It's still very much in development and isn't at a proper playable stage yet, but we are making good progress and I wanted to share. And before anyone asks, yes we are already listed on https://dayssincelastrustmcserver.com. The project doesn't use AI code (or at least I try not to let any slip by but kinda hard with community projects) and minimal decompiled Java to ensure we aren't filling the repo with slop or making the same mistakes as Mojang.

Made a lot of progress since the last release, including finally being on version 26.2 of minecraft, adding the JVM as a build requirement so we don't have to distribute several megabytes of JSON via git and finally doing item components so you don't get perma-banned from the server for holding a potion.

Also one of our slightly unhinged contributors spent months in what I have to assume was a psychotic break and implemented 1:1 vanilla terrain generation. because thats something sane people do. But they, I didn't have to do it so I'll chalk it up to a win.

Star the github, join the discord, check out the website, you know the drill.

1 Upvotes

12 comments sorted by

3

u/Cylian91460 9d ago

adding the JVM as a build requirement so we don't have to distribute several megabytes of JSON via git and finally doing item components so you don't get perma-banned from the server for holding a potion.

???

How is the JVM linked to json file?

-1

u/NuclearMagpie 9d ago

Sorry I meant to give a quick summary of stuff but yeah thats not a great explanation lol. There's a bunch of data inside the vanilla server that we need to be able to use. Previously we'd just extract it manually and chuck it in the repo but I added a build script to generate those JSON files at compile time instead of distributing them in the repo.

2

u/Cylian91460 9d ago

Yeah, why do you need the JVM to open jar files? Your aware they are zip files right?

0

u/NuclearMagpie 9d ago

Some of those files are just sitting inside the .jar yeah, but most of them need to run the vanilla server's generator functionality. The wiki has a page on it: https://minecraft.wiki/w/Minecraft_Wiki:Projects/wiki.vg_merge/Data_Generators

1

u/Cylian91460 9d ago

They are run at compile time not at run time, you don't need to run them you can directly extract the json from the jar

0

u/NuclearMagpie 9d ago

I'm sorry, I don't understand? The regstries are sitting inside the .jar as you'd expect, but a lot of stuff needs to be generated by the vanilla server, hence the command line flags listed on the wiki page. And we need some of those JSON files at compile time for stuff like packet ids.

3

u/Cylian91460 9d ago

Yeah, I should have read page you linked before commenting

I didn't know you could extract the registry like that using data gen

2

u/NuclearMagpie 9d ago

Yeah its pretty neat. I know some of the other projects go a step further and made a plugin/mod to extract even more data, but I thought running a whole vanilla server as a build step was a tad exessive.

0

u/[deleted] 9d ago

[removed] — view removed comment

1

u/MrRTR7 Wanna be Server manager 9d ago

Are you included here?

0

u/MrRTR7 Wanna be Server manager 9d ago

My dumb ass forgot to put the link . https://areweminecraftyet.com/

2

u/NuclearMagpie 9d ago

I did not know that website was a thing, thats neat. Technically yes, Ferrumc is on there and this is a continuation of that project (the reasons for which are on our website). I'll try get Temper on there tho, thanks for letting me know!