Voxelmanip Forums
olive olive
Posted on 2024-04-20 21:53 Link | ID: 765
Found my password after a long while \(^ ° ^)/ hello again

Been fiddling with writing a Minecraft server, but rather than the well-documented Classic Protocol (& extensions) I've done before, the more "Who's Documentation?" Beta 1.7.

I separated out an old copy of wiki.vg docs which are very useful but don't describe how to actually use half the packets. (Praise be to whoever the "Great Old Ones" are.)

Just got it to send a stone & air world and have the client spawn-in, after… too much getting simple things wrong.
Used LuaJIT to FFI in libdeflate for chunk encoding to then be very happy you can skip that altogether and just send mass block changes!

(Winsnore for the client as I just could not get it to run on my Linux)

Everything pure Lua so far, featuring inefficient number→binary en/decoding, and assert(false)ing on trying to decode a 64-bit number too large to be safe in a Lua float for now. and I am very grateful to Lars for his float encoder which I've bodged in for now

Next step is to handle multiple clients, let them see each other, and then to let people interact with the world…