Add UDP socket client/server multiplayer protocol

Implements the multiplayer transport layer from ROADMAP.md: UUID-based
client identity, a reliable-packet channel over UDP, handshake/ack/
ping/disconnect/player-joined/player-left/player-state packet types,
and split online (networked) vs offline (in-process singleplayer)
server modes wired into the engine's update/dispose loop.
This commit is contained in:
2026-08-02 21:06:23 -05:00
parent 56230dd340
commit f8607d114c
90 changed files with 4247 additions and 2 deletions
+3 -2
View File
@@ -33,8 +33,9 @@ for a memory/CPU optimization survey specifically targeting the PSP build
9. Build the socket server and client implementation, including
handlers for the different packet types.
10. Add a dedicated multiplayer entity type, `clientplayer`, alongside
the existing `npc` and `player` types. Limit to 8 (defined
constant) for now.
the existing `npc` and `player` types. Limit to 16 (defined
constant, see SERVER_CLIENT_COUNT_MAX/CLIENT_COUNT_MAX in
src/dusk/network/socket/) for now.
11. Send and receive `clientplayer` position over the network.
12. Create a UI menu for creating a server and joining a server. For
now, join IPs are hard-coded (testing against a fixed IP of