IRCRehberi.Net- Türkiyenin En iyi IRC ve Genel Forum Sitesi  
 sohbet
Sohbet chat


Unreal IRCd Unreal sunucunuzda rastladığınız sorunların çözümüne bu başlık altından ulaşabilirsiniz.

💬 Bu Alana Reklam Ver ! 🎉 Hemen Katıl!
34Beğeni(ler)


 
Seçenekler Stil
Alt 26 Ocak 2022, 19:50   #1
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
👍 15
 
 


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı





Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 08:29.