Skip to content
ketodinPublic

About

Minimal IRC server in CPP98

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

This project has been created as part of the 42 curriculum by lcalero, ekeisler, jaubry--.


ft_irc

A lightweight IRC server implemented in C++98, built as part of the 42 curriculum.


Description

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

Instructions

Prerequisites

  • The C++98-compatible compiler clang (llvm-12)
  • irssi (IRC Client)
  • Linux

Build & Run

Refer to the runbook


Features

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

Resources

C++ Architecture

IRC Protocol

Networking (C++)

AI Usage

  • Assistance on our workflow (review of our Issues/PR syntax).
  • Documentation about IRC server behavior.

About

Minimal IRC server in CPP98

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Contributors

Languages