# caramail-server — notes for agents The chat server of the 2002 applet, without a database. `src/Chat/` is the protocol (transport-free: `ChatServer` + `Session`), `src/Net/` the non-blocking TCP loop (`stream_select`), `src/Command/` the commands. Tests: `tests/ChatServerTest.php` (frames in memory) and `tests/TcpServerTest.php` (a real port, skipped in a browser). Docker: `Dockerfile` + `compose.yaml` in this folder. The client is the JumPHP app caramail-chat (same frames). Frame formats come from the original proxyServer.php: keep them byte for byte (trailing tabs included).