This project involves implementing an IRC (Internet Relay Chat) server in C++98, enabling real-time communication between multiple clients. The server supports authentication, channel creation, private messaging, and operator commands.
- β User authentication (nickname, username)
- β Channel creation and management
- β Private messaging between users
- β
Operator commands:
- π’ KICK - Eject a client from the channel
- π¨ INVITE - Invite a client to a channel
- π TOPIC - Change or view the channel topic
- π§ MODE - Change the channel's mode:
- i: Invite-only channel
- t: Restrict TOPIC to operators
- k: Channel password
- o: Operator privilege
- l: User limit to channel
- C++98
- TCP/IP Sockets
- Poll (for non-blocking I/O operations)
- Makefile
# Compile the project
make
# Run the server
./ircserv <port> <password>
- Multiple simultaneous clients
- All non-blocking I/O operations
- Communication via TCP/IP (v4 or v6)
- Compatibility with standard IRC clients
![]() SirAlabar |
![]() MrSloth-dev |
![]() isilva-t |
- Initial project setup
- Basic server implementation
- Client connection management
- User authentication
- Channel implementation
- Basic IRC commands
- Operator commands
- Testing and debugging
This project was developed as part of the 42 curriculum.
π» Happy coding! π»