This project is an IRC server implementation in C++98 that is compatible with official IRC clients. It provides support for handling various IRC commands and allows users to interact with the server using popular IRC clients.
- Compatibility: The IRC server is designed to be compatible with official IRC clients, ensuring a seamless experience for users.
- Command Handling: The server supports a wide range of IRC commands, including:
pass
nick
user
join
kick
part
notice
privmsg
quit
topic
names
list
invite
mode
bot
pong
oper
wallops
whois
- IRC Client Support: Users can connect to the server using any standard IRC client, enabling easy integration with existing IRC ecosystems.
- Scalability: The server is built with scalability in mind, allowing for a large number of simultaneous connections and efficient message handling.
To get started with the IRC server, follow these steps:
-
Clone the repository:
git clone https://github.com/your-username/irc-server.git
-
Build the server:
cd irc-server make
-
Start the server:
./ircserv PORT PASSWORD
-
Connect to the server using your preferred IRC client.
We would like to acknowledge the following resources that were instrumental in the development of this IRC server:
- IRC Protocol - The official IRC protocol specification.
- Beej's Guide to Network Programming - A great resource to understand basic networking concepts
- How sockets work - A short explanation by IBM on how client-server communication work under the hood using stream sockets
This project is licensed under the MIT License. See the LICENSE file for more information.