55```
66fishnet/
77├── src/ Core FishNet (always compiled)
8- │ ├── include/
9- │ │ ├── fishnet.h Umbrella header
10- │ │ └── fishnet/
11- │ │ ├── platform.h Cross-platform sockets
12- │ │ ├── FishPeer.h Core engine (250 lines)
13- │ │ ├── FishServer.h Server wrapper
14- │ │ ├── FishClient.h Client wrapper
15- │ │ ├── Connection.h Per-peer state
16- │ │ ├── PacketHandler.h Callback types
17- │ │ ├── protocol/
18- │ │ │ ├── Constants.h Magic, reliability, packet IDs
19- │ │ │ └── EncapsulatedPacket.h Frame structure
20- │ │ ├── packets/ One file per packet type
21- │ │ │ ├── UnconnectedPing.h
22- │ │ │ ├── UnconnectedPong.h
23- │ │ │ ├── OpenConnectionRequest1.h
24- │ │ │ ├── OpenConnectionReply1.h
25- │ │ │ ├── OpenConnectionRequest2.h
26- │ │ │ ├── OpenConnectionReply2.h
27- │ │ │ ├── ConnectionRequest.h
28- │ │ │ ├── ConnectionRequestAccepted.h
29- │ │ │ ├── NewIncomingConnection.h
30- │ │ │ ├── ConnectedPing.h
31- │ │ │ ├── DisconnectionNotification.h
32- │ │ │ └── AckNak.h
33- │ │ └── utils/
34- │ │ ├── BinaryBuffer.h Binary read/write
35- │ │ ├── Address.h sockaddr_in wrapper
36- │ │ └── AddressSerialization.h RakNet wire format
378│ ├── core/
389│ │ ├── FishPeer.cpp Lifecycle, dispatch
3910│ │ ├── FishPeerSend.cpp Sending, split
@@ -43,23 +14,38 @@ fishnet/
4314│ ├── server/FishServer.cpp
4415│ └── client/FishClient.cpp
4516│
46- ├── src-bedrock/ Bedrock extension (--bedrock=y)
47- │ ├── include/
48- │ │ ├── fishnet-bedrock.h Umbrella header
49- │ │ └── fishnet-bedrock/
50- │ │ ├── BedrockMotd.h MOTD string builder
51- │ │ ├── BedrockServer.h Server + GamePacket handling
52- │ │ ├── BedrockClient.h Client + GamePacket handling
53- │ │ └── GamePacket.h 0xFE wrap/unwrap, batch, compression
17+ ├── include/ Standard headers (always compiled)
18+ │ └── fishnet/
19+ │ ├── platform.h Cross-platform sockets
20+ │ ├── FishPeer.h Core engine (250 lines)
21+ │ ├── FishServer.h Server wrapper
22+ │ ├── FishClient.h Client wrapper
23+ │ ├── Connection.h Per-peer state
24+ │ ├── PacketHandler.h Callback types
25+ │ ├── protocol/
26+ │ │ ├── Constants.h Magic, reliability, packet IDs
27+ │ │ └── EncapsulatedPacket.h Frame structure
28+ │ ├── packets/ One file per packet type
29+ │ │ ├── UnconnectedPing.h
30+ │ │ ├── UnconnectedPong.h
31+ │ │ └── ...
32+ │ └── utils/
33+ │ ├── BinaryBuffer.h Binary read/write
34+ │ ├── Address.h sockaddr_in wrapper
35+ │ └── AddressSerialization.h RakNet wire format
36+ │
37+ ├── src-bedrock/ Bedrock extension source (--bedrock=y)
5438│ └── core/
5539│ ├── BedrockServer.cpp
5640│ └── BedrockClient.cpp
5741│
58- ├── examples/
59- │ ├── server.cpp Generic FishNet server
60- │ ├── client.cpp Generic FishNet client
61- │ ├── bedrock_server.cpp Bedrock server with GamePacket
62- │ └── bedrock_client.cpp Bedrock bot with GamePacket
42+ ├── include-bedrock/ Bedrock extension headers (--bedrock=y)
43+ │ └── fishnet/
44+ │ └── bedrock/
45+ │ ├── BedrockMotd.h MOTD string builder
46+ │ ├── BedrockServer.h Server + GamePacket handling
47+ │ ├── BedrockClient.h Client + GamePacket handling
48+ │ └── GamePacket.h 0xFE wrap/unwrap, batch, compression
6349│
6450├── docs/ Documentation
6551├── .github/workflows/ CI/CD
@@ -100,7 +86,6 @@ fishnet/
10086| ` -m debug ` | — | Debug build with packet logging |
10187| ` -m release ` | — | Optimized build, no logging |
10288| ` --bedrock=y ` | ` n ` | Include Bedrock extension |
103- | ` --examples=y ` | ` n ` | Build example programs |
10489
10590## Platforms
10691
0 commit comments