Decisions
Which edition decides an entity stat
Bedrock's entity definitions and Java Edition's attribute suppliers publish 438 of the same stats for the same entity, and they disagree on 151 of them.
Generate a chunk through a status ladder, not a 3 by 3 region
DataDrivenGenerator.generateChunkbuilds a 3 by 3 region, generates terrain for nine chunks, decorates the center, extracts one chunk and serializes the whole body behind one promise, at 1572 ms per chunk.Describe a packet's wire layout as data, once, in the protocol package
A packet whose layout changed at a protocol version is today a sibling class:
AnimatePacket2225 extends AnimatePacket, overridingencodePayload/decodePayload, substituted per session byprepareOutboundwith anObject.assigncopy.Describe a dimension as a Java level stem, and keep one
Worldper dimensionEvery world this server loads is the Overworld.
Run chunk generation in a host process, and keep the in-process pool as the fallback
Generation workers are threads of the server process.
Run NetherNet on our own build of libdatachannel, and remove werift
The server's NetherNet peers, and our client's, ran on werift, a WebRTC stack written in TypeScript that the
nethernetpackage picks by default.Implement the NetherNet protocol in
@jsprismarine/nethernetThe server and our client ran NetherNet through
nethernet(PrismarineJS's node-nethernet), with@jsprismarine/nethernetbeside it for HTTP signaling, the identity, the LAN advertisement and join by address.Share one UDP port between RakNet and NetherNet in native code
Bedrock Dedicated Server 1.26.70 uses
server-portfor NetherNet's UDP whenserver-udp-portsis unset.