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!
25Beğeni(ler)


 
Seçenekler Stil
Alt 31 Ocak 2022, 13:28   #1
Standart UnrealIRCD 3x İlk Modululumu Yapiyorum - Ders - 2 Makrolar -

Merhaba Arkadaşlar,

UnrealIRCD Modül Api Dersimiz Kaldigi Yerden Devam Ediyor...


Konu: UnrealIRCD Makrolar
Ders: 2. Seviye


"HOOKTYPE_PRE_LOCAL_CONNECT" Makrosu Nedir Ne'ye Yarar

Yerel bir kullanıcı bağlandığında çağrılır, kullanıcının duraklatılmasına veya reddedilmesine izin verir

HOOKTYPE_PRE_LOCAL_CONNECT için işlev prototipi

Parametreler
aClient (Giren Kişi veya İstemci)
aClient *sptr
aClient *cptr
aClient *acptr


Dönüş değerleri
HOOK_DENY Bağlantıyı durdurun (basılı tutun/duraklatın).
HOOK_ALLOW Bağlantıya izin ver (diğer modülleri işlemeyi durdur)
HOOK_CONTINUE Başka bir modül engellemediği sürece bağlantıya izin verin.

- Ne'ye Yarar -

HOOKTYPE_PRE_LOCAL_CONNECT Makrosunu kullanarak sunucuya giriş yapanların henüz sunucuya ulaşmadan:

Ident Korumasi Yapabilirsiniz
Yasaklı IP Adresi Yapabilirsiniz
RealName Korumasi Yapabilirsiniz
Istenilen Portu Şifre Koymadan WEBIRC(CGIIRC) Kontrolu Yapabilirsiniz
Kullanıcısı Sayısı Belirleyip Kullanıcı Sayısı Aşımı Oldumu Başka Sunucuya Yönlendirebilirsiniz..
Version Çekip Gelen Cevabi Ban Version Bloguyla Eşleştire Bilir Baglantıyı Kesebilirsiniz..
Kod Sorgulaması Yapıp Istenilen Cevap Gelmese Baglantıyı Kesebilirsiniz..
Edit Yapmadan Girişte Karşılama Mesajı vs Gibi Olaylar Gönderebilirsiniz..
Ve Hayal Gücünüzü Kullanıp Daha Fazlasını Yapabilirsiniz..

Örnek Kodlama Yapalım Ve Hatırlanacagı Uzere İlk Dersimizde Kullandıgımız "Modul Oluşturma" Kullanacaz

me.name = Kullanim Sebebi Sunucu Ismini Almamiz
acptr->name = Kullanim Sebebi Girenin Nick'i Almamiz
acptr->listener->port = Istemcinin veya Kisinin Portunu Tespit Etmemiz
IsCGIIRC = CGIIRC Web/Mobil/ZChat/ZSohbet/QWeb/Kiwiirc ve Apletmi veya Clientmi Kontrolu Yapip İşlem Yapmak İçin Kullanıldı

[Üye Olmadan Linkleri Göremezsiniz. Lütfen Üye Olmak için TIKLAYIN...]

Girişte Bağımsız Bir Şekilde Mesaj Attirip ve Ek Olarak Altınızı Çiziyorum Ek Olarak 7033 Portunu Koruyacaz Şifresiz Bir Şekilde !

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

#define MOBILPORT 7033 // Buraya Korunacak Portu Yaziyoruz Ben 7033 Olarak Belirledim

DLLFUNC int m_baglan(aClient *acptr); // m_baglan adinda fonksiyon kullaniyoruz ve parametremizi aClient'imizi acptr olarak belirliyoruz

ModuleHeader MOD_HEADER(m_ilkmodulum)
  = {
	"m_ilkmodulum",
	"v1", 
	"Bu Benim Ilk Modul Denemem", 
	"3.2-b8-1",
	NULL 
    };

DLLFUNC int MOD_INIT(m_ilkmodulum)(ModuleInfo *modinfo)
{

      HookAddEx(modinfo->handle, HOOKTYPE_PRE_LOCAL_CONNECT, m_baglan); // Çagrılacak Kancamızı HookAddEx olarak belirledik ve m_baglan fonksiyonumuzu çagirdik
	
	MARK_AS_OFFICIAL_MODULE(modinfo); 
	return MOD_SUCCESS; 
}

DLLFUNC int MOD_LOAD(m_ilkmodulum)(int module_load)
{
	return MOD_SUCCESS;
}

DLLFUNC int MOD_UNLOAD(m_ilkmodulum)(int module_unload)
{

	return MOD_SUCCESS;
}

// Fonksiyonumuzu ve paremetremizi açtık kodlarimizi ve yapılacak işlemleri yazabiliriz..

DLLFUNC int m_baglan(aClient *acptr)
{
// Bagimsiz Olarak Giris Yapana Hos Geldin Mesaji Gönderiyoruz

sendto_one(acptr, ":%s NOTICE %s :*** Sunucusuna Hos Geldiniz Keyifli Sohbetler", me.name, acptr->name);

// Eger port numarasi 7003 ise ve gelen istek CGIIRC Blogu Degilse kullaniciya Sunucuya Alma Ve Exit Client ver Dedik
if (MOBILPORT == acptr->listener->port && !IsCGIIRC(acptr))
 return exit_client(acptr, acptr, acptr, "Lutfen mobil sohbet sayfamizdan giris yapiniz.");
return 0;

}
Modülümüzü Oluşturduk

Ekran Görüntüsü

Sunucuya Baglanirken Verdigimiz Mesaj

UnrealIRCD 3x İlk Modululumu Yapiyorum  - Ders - 2 Makrolar -

7033 Portuyla Baglanirken exit client ve verilen mesaj

UnrealIRCD 3x İlk Modululumu Yapiyorum  - Ders - 2 Makrolar -

/module komutunda görünen bilgiler

UnrealIRCD 3x İlk Modululumu Yapiyorum  - Ders - 2 Makrolar -

IRCRehberi.Net
Anlatım: OmerAti
👍 7
 
 


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.