the SDL3_net implementation was causing blocking behaviour and was difficult to debug and has bad docs due to not being released. Caused crashes all over. so moved to Asio. This thing took so damn long as this also had it's issues! - All networking now uses Asio's async callback model. - TcpConnection class encapsulates logic for a single client-server connection, managing socket and message framing. - Implmented thread-safe queues for handling incoming and outgoing messages between the network thread and the main application. - Refactored ClientNetwork and NetworkManager, the primary client and server networking classes have been rewritten to use the new asio-based architecture. - Player objects on the server are not managed by std::unique_ptr to ensure proper lifetime management and prevent memleaks. - VFSManager is now a single instance on the server, passed by reference to new players, avoding redundant script loading for every connection. - Resolved server crash that occured immediately upon client connection. This was traced to an object lifetime issue within Asio's async handlers which was fixed by simplifying the send operation. |
||
|---|---|---|
| .. | ||
| src | ||
| CMakeLists.txt | ||