This project has been created as part of the 42 curriculum by lcalero, ekeisler, jaubry--.
A lightweight IRC server implemented in C++98, built as part of the 42 curriculum.
ft_irc is a simplified Internet Relay Chat (IRC) server written in C++98.
The goal of this project is to implement a basic IRC server that:
- Accepts TCP connections from standard IRC clients
- Handles user authentication (
PASS,NICK,USER) - Manages channels and channel modes (
i,t,k,o,l) - Routes private and channel messages between clients
- Supports channel operator commands:
KICK,INVITE,TOPIC,MODE - Respects the core behavior of the IRC protocol as described in the subject
- The C++98-compatible compiler
clang(llvm-12) - irssi (IRC Client)
- Linux
Refer to the runbook
| Feature | Status |
|---|---|
| TCP/IP client handling | ✅ |
| Authentication (PASS, NICK, USER) | ✅ |
| Channel join / messaging | ✅ |
| Private messages | ✅ |
| Channel operators | ✅ |
| KICK / INVITE / TOPIC | ✅ |
| MODE (i, t, k, o, l) | ✅ |
| File transfer | ⭐ Bonus |
| Bot | ⭐ Bonus |
- Assistance on our workflow (review of our Issues/PR syntax).
- Documentation about IRC server behavior.