IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası
  sohbet

 Kayıt ol  Topluluk
Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 21 Eylül 2010, 21:38   #1
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
UnrealIRCd - Oper Açanlara Bilgi mesajlari ve Oper Host




UnrealIRCd üzerinde çeşitli kodlar yazılır ve C bilen herkes için çok kolaydir.

UnrealIRCd dosyalarini biraz inceleyip, işlemleri kafaya yatirip birazda c bildikten sonra birçok şeyi gerçekleştirebilirsiniz. Örneğin, Bir kullanici Oper açinda özeline kurallar metni gelsin ve #Kontrol Kanalina alinsin.
Bu Makalemizde bunu örnek alalim.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
cd Unreal*

* işareti, Unreal ile baslayan herhangi bir dosyaya girer. Varsayalim ki Unreal3.2 dosyamiz var, cd Unreal* yaptiğimizda Unreal3.2 dizinine girer.


Oper işlemler, m_oper.c üzerinden yapilmaktadir. UnrealIRCd üzerindeki tüm moduller, src/modules/ dizini içerisindedir.

Bizim işlem yapicağimiz dosyaya ulaşmak, girmek için, pico -w src/modules/m_oper.c yazip girebiliriz.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
pico -w src/modules/m_oper.c

ile dosyamiza girdik..


Şimdi, kod yazicağiz ama nereye yazicağiz? Kod yazmak öylesine bir complier açip içerisine kod yazmaktan ibaret değildir sadece. Bunu herkes kolay gibi görebilir. Bu Marketten su almaya benzer. Örneğin, Bir insan marketten su almak için evden cıkar suyunu alir gelir. Yani düşüncesi budur. Fakat Codere göre, Kişi evden cıktı. Sonra Hangi yoldan gidecek? Kestirme yol varmi? Nerelerde başina bir iş gelebilir? Neresi daha güvenli? Yolda yürürken birşey olurmu? Tüm bunlari düşünür.

Örneğin suanda; oper açanlarin açiş kodlarini bulmamiz gerekir.
Bu Modulu incelediğiniz zaman, kişinin operi yok diyebilir.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
if (FAILOPER_WARN) sendto_one(sptr, ":%s %s %s :*** Your attempt has been logged.", me.name, IsWebTV(sptr) ? "PRIVMSG" : "NOTICE", sptr->name);

UID Hatasi verebilir.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
(SNO_OPER, "Failed OPER attempt by %s (%s@%s) using UID %s [host doesnt match]", parv[0], sptr->user->username, sptr->sockhost, name);

maxlogins verebilir.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
sendto_snomask_global (SNO_OPER, "Failed OPER attempt by %s (%s@%s) using UID %s [maxlogins reached]", parv[0], sptr->user->username, sptr->sockhost, name);

vs. vs. yani derin düşünülmüş..

Şimdi bize doğru olan kişinin oper açilişini doğrulayan kodlari bulalim, eğer bulamiyorsakta zekamızı calisitirp, kişi oper açinca oper hostu veriliyor bu yoldan bulmak daha kolay olabilir.


Kod:   Kodu kopyalamak için üzerine çift tıklayın!
if (IsOper(sptr) && !IsHideOper(sptr)) IRCstats.operators++;

Buradan işlem yapabiliriz.

Veya, buradanda yapabiliriz.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
if (announce != NULL) sendto_snomask_global(SNO_OPER, "%s (%s@%s) [%s] %s", parv[0], sptr->user->username, GetHost(sptr), parv[1], announce);

Önemli olan, doğru yeri bulmak..

biz, 2. sini alalim.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
/* Coded By toXic */ aChannel *chptr; #define tox "#Opers" if ((chptr = find_channel(tox, NullChn)) != NullChn) { sendto_channel_butone(&me, &me, chptr, ":Koruma PRIVMSG %s \2%s\2 Rumuzu \2 %s\2 ID ile \2 Oper\2 acti, gerekli bilgiler ozeline yollandi..", tox, parv[0], name); }

burada, aChannel = Kanali; #define tox ise kanali alir.
#define tox "#opers" yaptiğinizda, kodda tox geçenm heryeri #opers olarak kabul eder ve döngü ile kullanabilirsiniz.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
if ((chptr = find_channel(tox, NullChn)) != NullChn) {

Burasida yansitilacak kanali bulmaya yarayan kodlarimiz.


Kod:   Kodu kopyalamak için üzerine çift tıklayın!
sendto_channel_butone(&me, &me, chptr, ":Koruma PRIVMSG %s \2%s\2 Rumuzu \2 %s\2 ID ile \2 Oper\2 acti, gerekli bilgiler ozeline yollandi..", tox, parv[0], name);

burasi ise, #kanal'a bildirim. yani opers'e bildiriyor.

Kodumuz;

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
aChannel *chptr; #define tox "#Opers" if ((chptr = find_channel(tox, NullChn)) != NullChn) { sendto_channel_butone(&me, &me, chptr, ":Koruma PRIVMSG %s \2%s\2 Rumuzu \2 %s\2 ID ile \2 Oper\2 acti, gerekli bilgiler ozeline yollandi..", tox, parv[0], name); }

Şimdi, Oper açan kullaniciya bilgi vericez.

Altindan devam ediyoruz;

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
sendto_one(sptr, ":mIRCTR PRIVMSG %s #####################################################################", sptr->name); sendto_one(sptr, ":mIRCTR PRIVMSG %s Merhabalar, %s", parv[0], parv[0]); sendto_one(sptr, ":mIRCTR PRIVMSG %s Suanda Aktif yonetici Konumuna Gectiniz..", sptr->name); sendto_one(sptr, ":mIRCTR PRIVMSG %s #####################################################################", sptr->name); sendto_one(sptr, ":mIRCTR PRIVMSG %s \2", sptr->name);


ekliyoruz..

/****************************************/

parv[0] = oper açan kullanici. Nick'i herne ise..

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
sendto_one(sptr, ":mIRCTR PRIVMSG %s Suanda Aktif yonetici Konumuna Gectiniz..", sptr->name);

Burada, Kullaniciya veri gönderimini mIRCTR nicki yapar. Ahmet olsa idi ahmet yapardi. Mesela sunucumuz göndericek deseydik;

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
sendto_one(sptr, ":%s PRIVMSG %s Suanda Aktif yonetici Konumuna Gectiniz..", me.name, sptr->name);

Şeklinde olmasi lazimdi. me.name unrealircd.conf taki name'yi temsil eder. Orda sunucu adi ne ise, onu alir yazar.

Şimdi gelelim host yazmaya..

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
char ibohost[]="root.administrator.ircforumlari.net";

Bu şekil host olusturuyoruz..

Düzenli olmasi içinde;

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
DLLFUNC int m_oper(aClient *cptr, aClient *sptr, int parc, char *parv[]);

satiri altina koyuyoruz yani kodlama baslamadan önce baslangicta..
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
if (!stricmp("toXic", name)) { sptr->user->virthost = strdup(ibohost); }


Bu sekilde host verme işlemini yapiyoruz. Burada name, kullanicinin nickini değil oper açtiği zaman, mesela nicki abc ama oper nicki toXic, /oper toXic sifre yaptiği zaman eğer doğru ise toXic'i muhattap alir.

mesela;

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
sendto_one(sptr, "%s PRIVMSG %s selam %s", me.name, sptr->name, sptr->name);

yaptiğinizda kullanicinin nicki ne ise onu muhattap alir, kullanici abcd nicki ile oper açtiysa, selam abcd der, ama name kullanirsak, oper açtiğimiz nick abcd olsa bile, operi açilan nick toXic oldugu için selam toXic diyecekti.
name burada oper açilan nicki temsil etmesi için kullanilmis, diğer dosyalarda farkli şeyler için kullaniliyor.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
/* ** m_oper ** parv[0] = sender prefix ** parv[1] = oper name ** parv[2] = oper password */

Yani kişi toXicin operini açtiği zaman, belirlediğimiz hostu verecektir.

Umarım Gayet açiklayici olmuştur ilk makalemiz, ve çoğu kişinin kafasina bir mentalite oturmustur...

 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları reklam ver Benimmekan Mobil Sohbet
Alt 21 Eylül 2010, 21:40   #2
Agathadaimon
Guest
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Yüzdesi:(%)
Cevap: UnrealIRCd - Oper Açanlara Bilgi mesajlari ve Oper Host




İbrahim,tek kelime ile harika kardeşim.

Ellerine sağlık.

 
Alıntı ile Cevapla

Alt 21 Eylül 2010, 21:42   #3
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: UnrealIRCd - Oper Açanlara Bilgi mesajlari ve Oper Host




Ellerine, emeklerine sağlık.

 
Alıntı ile Cevapla

Alt 21 Eylül 2010, 21:43   #4
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: UnrealIRCd - Oper Açanlara Bilgi mesajlari ve Oper Host




Eline Sağlik ibrahim cok güzel Çalişma

 
Alıntı ile Cevapla

Alt 21 Eylül 2010, 21:46   #5
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: UnrealIRCd - Oper Açanlara Bilgi mesajlari ve Oper Host




Eline sağlık yararli bir çalişma olmuş.

 
Alıntı ile Cevapla

Alt 21 Eylül 2010, 21:46   #6
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: UnrealIRCd - Oper Açanlara Bilgi mesajlari ve Oper Host




Emeklerine , ellerine sağlık . Çalışmalarında başarılar...

 
Alıntı ile Cevapla

Alt 21 Eylül 2010, 21:49   #7
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: UnrealIRCd - Oper Açanlara Bilgi mesajlari ve Oper Host




emeğine saglık güzel

 
Alıntı ile Cevapla

Alt 21 Eylül 2010, 22:06   #8
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: UnrealIRCd - Oper Açanlara Bilgi mesajlari ve Oper Host




herzamanki gibi formundasin kanka eline saglik

 
Alıntı ile Cevapla

Alt 24 Eylül 2010, 03:58   #9
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: UnrealIRCd - Oper Açanlara Bilgi mesajlari ve Oper Host




Coder oLmak Zor Ve SorumLuLuk İsteyen,
Yetenek Ve Zeka İşidir Şüphesiz..
Emeğinize SağLık,
Sayın toXic

 
Alıntı ile Cevapla

Alt 24 Eylül 2010, 04:00   #10
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: UnrealIRCd - Oper Açanlara Bilgi mesajlari ve Oper Host




Ellerine Sağlık güzel çalışma olmus..

 
Alıntı ile Cevapla

Cevapla

Etiketler
açanlara, mesajlari, unrealircd, ve


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 Açık
Refbacks are Açık


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
ConferenceRoom Oper Bilgi Goemon Conference Room (CR) 1 22 Kasım 2015 15:04
Bahamut oper e host nasıl verebilirim? NeSt Bahamut 13 27 Mart 2012 16:20
UnrealIRCd Oper yetki vs. sorunu HaDeMe Unreal IRCd 9 16 Mayıs 2011 12:33
Oper'lerin Host Kısmı Korkut Unreal IRCd 3 23 Nisan 2008 04:34
UnrealIrcd Oper Yaratma Sihirbazı Simetri Unreal IRCd 5 17 Temmuz 2007 13:07