The objective of this project is to write a custom IRC server working with a real IRC client.
IRC is one of the earliest network protocols for text messaging and multi-participant chatting. It remains a popular standard and still sees heavy use in certain communities, specially the open source software community.
Internet is ruled by solid and standards protocols that allow a strong interaction between every connected computer. Hence our IRC server will have to respect these protocols.
- Network & system administration
- Object-oriented programming
- Rigor
- Unix
Internet Relay Chat or IRC is a textual communication protocol on the Internet. It is instantaneous communication mainly in the form of discussions in groups via discussion channels, but can also be used for one-to-one communication.
IRC client programs connect to an IRC server to access a specific channel. IRC servers are connected between them to provide a global network with unique channels.
-
Connection
- PASS
- NICK
- USER
- [SERVER]
- OPER
- QUIT
- [SQUIT]
-
Channel operations
- JOIN
- PART
- MODE
- TOPIC
- NAMES
- LIST
- INVITE
- KICK
-
Server
- VERSION
- STATS
- [LINKS]
- TIME
- [CONNECT]
- [TRACE]
- ADMIN
- INFO
-
Sending messages
- PRIVMSG
- NOTICE
-
User
- WHO
- WHOIS
- WHOWAS
-
Miscellaneous
- KILL
- PING
- PONG
- ERROR
-
Optional
- AWAY
- REHASH
- RESTART
- SUMMON
- USERS
- WALLOPS
- USERHOST
- ISON