Tekil Mesaj gösterimi
Alt 26 Ocak 2022, 19:50   #1
OmerAti
OmerAti - ait Kullanıcı Resmi (Avatar)

Standart UnrealIRCD 3x Modül Yapısı - Ders - 1 -

Merhaba Arkadaşlar,

Her Hafta UnrealIRCD Modül Api Yapısını Kullanarak Elimden Geldigince Sıfırdan Modul Yapmasini ve Derlemesini Göstermek İstiyorum...

Konu: Modul Oluşturma
Ders: 1. Seviye

Gerekli Programlar: Dev-C++ veya Notepad++

Ben Şahsen Dev-C++ Kullaniyorum


Gerekli Kütüphaneler

Kod

#include "config.h"
#include "struct.h"
#include "common.h"
#include "sys.h"
#include "numeric.h"
#include "msg.h"
#include "channel.h"
#include <time.h>
#include <sys/stat.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#ifdef _WIN32
#include <io.h>
#endif
#include <fcntl.h>
#include "h.h"
#include "proto.h"
#ifdef STRIPBADWORDS
#include "badwords.h"
#endif
#ifdef _WIN32
#include "version.h"
#endif
Modülümüzü yazmadan önce yukarda belirtilen kütüphaneleri en üst satira eklememiz gerekmektedir ve daha sonra modülün olmazsa olmazlari

Modül Başlıgı (Module Header)

Örnek Bir Başlık Yapalım..

Kod

ModuleHeader MOD_HEADER(m_ilkmodulum)
  = {
	"m_ilkmodulum",	/* Modülün adı */
	"v1", /* Versiyon */
	"Bu Benim İlk Modül Denemem", /* Modülün kısa açıklaması */
	"3.2-b8-1",
	NULL 
    };
Yukarda görüldügü gibi modülümüzün ismini verip ve gerekli açıklayamı yaptık daha sonra ikinci kısma geçiyoruz

Modül Başlangıcı (MOD_INIT)

Kod

DLLFUNC int MOD_INIT(m_ilkmodulum)(ModuleInfo *modinfo)
{
	
	MARK_AS_OFFICIAL_MODULE(modinfo); // Modülü UnrealIRCD işle
	return MOD_SUCCESS; // Modül Yüklenmesi Başarılı Oldumu Çalıştır
}
Ve Diger Gerekli Kısım Olan Sunucu %100 hazır olduğunda ilk çalıştırılacak Apimiz

Modül Yükü (MOD_LOAD)

Kod

DLLFUNC int MOD_LOAD(m_ilkmodulum)(int module_load)
{
	return MOD_SUCCESS;
}
Modül boşken çağrılacak Apimiz

Modül Boşaltma (MOD_UNLOAD)

Kod

DLLFUNC int MOD_UNLOAD(m_ilkmodulum)(int module_unload)
{

	return MOD_SUCCESS;
}
Ve İlk Modülümüzü Oluşturduk

Unreal3x src/modules/ klasoru içine atip
Unreal3x ana dizininde make custommodule MODULEFILE=m_ilkmodulum

ve unrealircd.conf içine loadmodule "src/modules/m_ilkmodulum.so";

ekliyip ./unreal rehash veya sunucuda /rehash komutunu kullandiginizda modulun hatasiz bir sekilde entregre oldugunu göreceksiniz /module komutunu kullanarak calistigini göreceksiniz

İlk Dersimizde TASLAK Modul Oluşturduk İkinci Dersimizde İşlemlere Geçecez Takip Etmeye Devam Edin

Anlatım: OmerAti
Site:IRCRehberi.Net