Commit graph

8 commits

Author SHA1 Message Date
Master290
f0279cdb65 Fix add entity velocity encoding 2026-07-21 10:30:28 +03:00
Master290
6413216876 Fix default spawn packet layout 2026-07-21 10:22:31 +03:00
Master290
cbd5c7b546 Implement ticketed chunk lifecycle 2026-07-21 10:04:56 +03:00
Master290
cae06eb97e Implement multiplayer persistence and vanilla lighting 2026-07-21 09:21:44 +03:00
Master290
09a694daf5 Add gravity and player-seeking AI to zombies 2026-06-27 21:16:39 +03:00
Master290
7af0acd3a3 Add basic entity tracking, mob spawning and syncing 2026-06-27 21:13:20 +03:00
Master290
d7c80a8858 Background predictive chunk streaming
Chunk generation and sending no longer block the read loop. The read
loop pushes a non-blocking recenter request and stays free to handle
movement, chat, and keep-alive acks immediately; a per-connection
streamer goroutine generates chunks in a worker pool and sends them
serially under the write mutex.

- network/streamer.go: per-connection streamer. spiralOrder emits
  chunks centre-outward; parallelSend fans Cache.Frame across a worker
  pool (Cache.Frame is already goroutine-safe), parallelGenerate warms
  a one-ring predictive border so movement finds ready chunks; the
  loaded-set is owned solely by the streamer.
- network/play.go: beginPlay launches the streamer and pushes an
  initial recenter instead of the old blocking streamAround;
  onPlayerMove now just calls requestRecenter (non-blocking).
- network/handler.go: ctx (connection lifetime) + streamer field; the
  streamer stops when the read loop ends (cancel on serve exit).
- network/configuration.go: client view_distance is saved (clamped
  2..16) and drives the streamer radius.
- Tests: spiral order (centre-first, ring structure) and the
  non-blocking recenter guarantee the read loop relies on.
2026-06-25 00:54:57 +03:00
Master290
a7bb9496ae Initial commit: RegionIO Minecraft server core (26.1.2/protocol 775)
Vanilla-faithful overworld generator (final_density + multi-noise biomes),
full connection lifecycle (status/login/configuration/play), chunk streaming,
creative block editing, and the protocol/nbt/registry infrastructure.
2026-06-24 00:32:51 +03:00