Merhaba IRCdForum ailesi,
Bu makalede InspIRCd’in en güçlü özelliklerinden biri olan modül (module) sistemini detaylı şekilde ele alacağız.
InspIRCd’i diğer IRCd yazılımlarından ayıran en önemli özellik, çekirdek yapısının minimal tutulup özelliklerin modüller aracılığıyla eklenmesidir.
Modül Sistemi Nedir?
InspIRCd’de temel çekirdek (core) sistem çalışır durumda gelir.
Ek özellikler ise .so uzantılı modül dosyalarıyla yüklenir.
Örnek modül dosyası:
Kod:
m_ssl.so
m_cloaking.so
m_services_account.so
Bu yapı sayesinde:
Gereksiz özellikler yüklenmez.
Performans artar.
Sistem daha esnek hale gelir.
Özelleştirme kolaylaşır.
2️⃣ Modüller Nasıl Çalışır?
Modüller, çekirdeğe hook (kanca) sistemiyle bağlanır.
Yani bir olay gerçekleştiğinde modül devreye girer.
Örneğin:
Kullanıcı bağlandı → m_conn_join çalışabilir.
Mesaj gönderildi → filtre modülü devreye girer.
Nick değiştirildi → services account modülü kontrol eder.
Her modül belirli event’lere (olaylara) tepki verir.
Modül Yükleme ve Aktif Etme
Modüller genellikle şu dizindedir:
Kod:
/usr/local/inspircd/modules/
Aktif etmek için inspircd.conf dosyasına eklenir
Kod:
<module name="m_ssl">
<module name="m_cloaking">
Ardından rehash veya restart yapılır:
veya
En Çok Kullanılan Modüller
🔹 m_ssl
SSL bağlantı sağlar.
🔹 m_cloaking
Kullanıcının gerçek IP’sini gizler.
🔹 m_services_account
Services hesap sistemi ile entegrasyon sağlar.
🔹 m_conn_umodes
Bağlantı anında otomatik usermode verir.
🔹 m_filter
Kelime filtreleme sistemi sağlar.
Statik ve Dinamik Modüller
InspIRCd’de iki tip modül vardır:
Dinamik modüller (sonradan yüklenebilir)
Statik modüller (derleme sırasında dahil edilir)
Çoğu sistem dinamik modül kullanır çünkü daha esnektir.
Kendi Modülünü Yazmak
InspIRCd modülleri C++ ile yazılır.
Bir modül genellikle şunları içerir:
Module sınıfı
Event listener
Komut tanımı
Config parser
Örnek basit modül yapısı:
Kod:
class ModuleOrnek : public Module
{
public:
ModuleOrnek() {}
void OnUserConnect(LocalUser* user) override
{
user->WriteNotice("Sunucuya hoş geldiniz!");
}
};
MODULE_INIT(ModuleOrnek)
Bu modül, bağlanan kullanıcıya otomatik mesaj gönderir.
7️⃣ Modül Sisteminin Avantajları
✔ Performans odaklı yapı
✔ Esnek mimari
✔ Güvenli özelleştirme
✔ İhtiyaca göre minimal kurulum
✔ Geliştirilebilir yapı
Umarım faydalı bilgi olur
IRCDForum.NeT Ailesi