Şimdi Ufak Serverlarda çok görülür ki, Adminler gereksiz yere access yazarlar ve kanal sahiplerinin fonksiyonlarını kısıtlarlar bende bu olay üzerine lazım oldu ufak bir editleme ile Adminlerin access eklemesini kısıtlamak istedim.

öncelikle,

Kod:

cd ircservices-x.x.xx/modules/chanservile servislerde kanal modüllerinin ana dizinine giriş yapıyoruz.

pico access-levels.c

ile

Kod:

static void do_access(User *u)
{
char *chan = strtok(NULL, ” “);
char *cmd = strtok(NULL, ” “);
char *nick = strtok(NULL, ” “);
char *s = strtok(NULL, ” “);
ChannelInfo *ci;
NickInfo *ni;
NickGroupInfo *ngi;
int16 level = 0;
int i;
int is_list; /* Is true when command is either LIST or COUNT */
int is_servadmin = is_services_admin(u);satırlarını

Kod:

static void do_access(User *u)
{
char *chan = strtok(NULL, ” “);
char *cmd = strtok(NULL, ” “);
char *nick = strtok(NULL, ” “);
char *s = strtok(NULL, ” “);
ChannelInfo *ci;
NickInfo *ni;
NickGroupInfo *ngi;
int16 level = 0;
int i;
int is_list; /* Is true when command is either LIST or COUNT */
int is_servadmin = is_services_root(u);şeklinde değiştiriyoruz. CTRL X + Y ile üzerine kayıt ediyoruz.

Böylece Access Ekleme ve Silme işlemlerini Adminlerden almış olduk ancak diyebilirsiniz ki, ” Tamam da birader bu admin set ile kanalı üzerine alır yeniden Access ekler ne var ki bunda.. ”

O zaman biz de Adminlerden set komutunu da alırız.

Kod:
pico set.ckomutu ile set.c dosyasını açıyoruz.

Kod:

void do_set(User *u)
{
char *chan = strtok(NULL, ” “);
char *cmd = strtok(NULL, ” “);
char *param;
ChannelInfo *ci;
int is_servadmin = is_services_admin(u);satırlarını

Kod:

void do_set(User *u)
{
char *chan = strtok(NULL, ” “);
char *cmd = strtok(NULL, ” “);
char *param;
ChannelInfo *ci;
int is_servadmin = is_services_root(u);şeklinde değiştiriyoruz.

Böylece set komutu ile access komutunu sevgili adminlerimizden almış olduk. Ancak Access ekleme ve Silme yetkisi ile Set parametrelerini kullanmayı sadece rootlara vermiş olduk. herhalde bir sürü rootunuz yoktur Kodlamamız da sona ermiş oldu.

son olarak ircservices-x.x.xx dizininde iken,

Kod:
makeKod:
make installkomutlarını kullanıyoruz. ve servislerimizi yeniden başlatıyoruz.

İyi Çalışmalar.

 

BOT JOIN : Yazdiginiz kanala bot girer.
Komut : /msg Botserv assign #kanal botnick

»BOT PART : Yazdiginiz kanala bot girer.
Komut : /msg Botserv unassign #kanal botnick

»BOT ADD : Yeni bir bot olusturur.
Komut /msg Botserv bot add nick user host gerçekismi

»BOT DEL : Nick i yazilan botu siler.
Komut :/msg Botserv bot del nick

»BOT NICK : Botun nickini degistirir.
Komut :/msg Botserv bot change eskinick yeninick

»DONTKICKS : Yazilan Kanalda botlarin atilmasina karsi korumayi açar/kapar
Komut :/msg Botserv set #kanal dontkicks on/off

»KICK VOICES : Voicelerin alinmasina karsi korumayi açar/kapar
Komut :/msg Botserv set #kanal dontkickvoices on/off

»GREET : Greet mesajini açar/kapar.
Komut : /msg Botserv set #kanal greet on/off

»FANTASY : Fantazi özelligini açar/kapar
Komut : /msg Botserv set #kanal fantasy on/off

»SYSBIOSIS : Gerçek bot gibi davranmasini saglar.
Komut : /msg Botserv set #kanal symbiosis on/off

»BOLDWORDS : Kalin yazida atar.
Komut : /msg Botserv kick #kanal boldwords on/off

»CAPS : Büyük harfte atar.
Komut : /msg Botserv kick #kanal caps on/off

»COLOR : Renkli yazida atar.
Komut : /msg Botserv kick #kanal colors on/off

»FLODD : Flood da atar.
Komut : /msg Botserv kick #kanal flood on/off

»REPEAT : Tekrar halinde atar.
Komut : /msg Botserv kick #kanal repeat on/off

»REVERSES : Ctrl+r ile yazilan yazida atar.
Komut : /msg Botserv kick #kanal reverses on/off

»UNDERLINES : Alt çizgide atar.
Komut : /msg Botserv kick #kanal underlines on/off

»BADWORS : Küfürde atar.
Komut : /msg Botserv kick #kanal badwords on/off

»BADWORS ADD : Yazdigini sözcük geçmesi halinde atar.
Komut : /msg Botserv badwords #kanal add kelime single

»BADWORS DEL : Yazdiginiz kelimeyi siler.
Komut : /msg Botserv badwords #kanal del kelime

»BADWORS LIST : Kelime listini gösterir.
Komut : /msg Botserv badwords #kanal list

»BADWORS CLEAR : Tüm kelimeleri siler.
Komut : /msg Botserv badwords #kanal clear
Servicesleri ve Services ßotlari Kanalda Konusturma :/msg operserv raw :Services(operserv) privmsg #Kanalinadi mesaj

Servicesleri ve Services ßotlari özelde Konusturma :/msg operserv raw :services(Chanserv) privmsg nick Mesaj

Services ßot olusturma :/msg operserv raw nick Botunnicki 1 1 ident hsot ip services.domain :AçikLama

Services ßotlari Ve Servicesleri Kanala sokma :/msg operserv raw :services(nickserv) join #kanal

Services ßotlari Nicklerini degistirme :/msg operserv raw :botnick nick Yeninick

Services ßotlari admin yapma :/msg operserv raw :botnick mode botnick +NTSO

Services ßotlara op, voice Verdirme :/msg operserv raw :botnick mode #kanalinadi (+o +v) Nick

Services ßotlara Kick attirtma :/msg operserv raw :botnick kick #kanal nick sebep

Servives ßotlari kanala sokma
Komut :/msg operserv raw :botnick join #kanal

Servives ßotlari kanal`dan çikartma
Komut : /msg operserv raw :botnick part #kanal

UNDURNET  irc.2.10.12.08 kurulumu…

 

Telnet yada SSH kullanarak shell hesabimiza baglaniyoruz..Karsimiza soyle bir ekran cikiyor.. [user@mIRCHane user]
Bu ekrandayken hemen ircuyu download etmek icin komutu giriyoruz..
[user@mIRCHane user]wget http://www.mirchane.com/depo/dosyalar/ircu2.10.12.08.tar.gz yazin ve ircu2.10.12 yi shellinize cekin..DAha sonra
[user@mIRCHane user]tar zxvf ircu2.10.12.08.tar.gz
yazin..Artik shel hesabinizda ircu2.10/ die bir dizin var..
o dizinin icine girin…
[user@mIRCHane user]cd ircu2.10
[user@mIRCHane ircu2.10]ewt simdi ircu nin icindeyiz..
ircuyu kurmak icin sirasiyla su islemleri yapiyoruz..
[user@mIRCHane ircu2.10]./configure
[user@mIRCHane ircu2.10]make
[user@mIRCHane ircu2.10]make install
bu komutlardan sonra ircu kurulumu bitti..
[user@mIRCHane ircu2.10]cd ~/lib/
simdi pico example.conf diyerek confu editleyebilirsiniz.. Eger isterseniz sitemizdeki ornek ircu.confu cekip onu kullanabilirsiniz. Tabiki onun kullanimi daha kolaydir cunku turkce aciklamalarla her satir tek tek aciklanmistir.
[user@mIRCHane lib]edit islemi bittikden sonra dosyasi kaydederken ircd.conf olarak kaydedin..
ircd.conf ~/lib/ klasorunun altinda olmalidir…
[user@mIRCHane lib]cd ..
[user@mIRCHane ~]bin/ircd
yazarak ircu nuzu calistirabilirsiniz.
[user@mIRCHane ~]ps x yazip yada irc ye baglanmayi deneyip serverinizin calisip calismadigini kontrol edebilirsiniz. Problemlerinizde sitemizden yardim alabilirsiniz.

Script for Güzel bi log \ \ \ 'lama;) Farkli pencerede tiklayip Aktif görebiliyorsunuz \ \ "kanal ve nick \" loglari script üzerinde \.

Kod,

alias kayitgosterici.mo (
  var% s = $ $ input ($ nopath ($ longfn ($ 1 -) dosyasi icinde aramak istediginizi yaziniz:), eq, Arama)
  net @ LogArama ($ window (@ LogArama)) () ise
  pencere k0z @ LogArama
  var% t = $ keneler
  kte_echo @ LogArama $ PARANTEZ ($ nopath ($ longfn ($ 1 -))) dosyasinda $ PARANTEZ (% s) for Arama yapildi $ + ...
  echo @ LogArama?
  filtre-fwbp $ 1 - @ LogArama $+(*,% s *)
  echo @ LogArama?
  kte_echo @ LogArama $ nopath ($ longfn ($ 1 -)) dosyasinda arnan $ + (\ \ \ '% s, \ \ \') ile ilgili $ PARANTEZ ($ filtre) sonuc $ tur ($ (($ calc keneler -% t) / 1000), 2) saniyede bulundu.
)
alias kayitgosterici (
  yak?n ($ window (@ LogGosterici)) (if - @ @ LogGosterici)
  pencere k0l16zS @ LogGosterici
  icinde $ PARANTEZ ($ nopath ($ findfile ($ logdir, *. log, 0,))) $ 1 - kayit.yukle @ LogGosterici $ logdir echo dosyasi bulundu giri? yap?n.
  ($ Isfile ($ 1 -)) (if
    ($ Hatlar? ($ 1 e?er -)> 64000) (
      Ay?e mIRC chr (44) ile gosterilebilmesi Click fazla buyuk $ + $ log ($ input (e?er. Send logu de?il Defteri ile Birlikte kaydolma Ba misiniz?, Wy)) ($ 1 ko?mak -)
      durdurmak
    )
    $ Kayitgosterici.aktifkayit set% shortfn ($ 1 -)
    loadbuf-pr @ LogGosterici $ 1 -
    ba?l?k @ LogGosterici - $ nopath ($ mid ($ sol ($ 1 -, -1), 2))
  )
)
alias kayitgosterici.yenile (
  ($ Window (@ LogGosterici)) (if
    aç?k-l @ LogGosterici
    net @ LogGosterici
    echo-q $ nopath ($ findfile ($ logdir, *. log, 0,)) $ 1 - kayit.yukle.
    ($ 1 e?er! =-C) (
      (% Kayitgosterici.aktifkayit) (loadbuf-pr @ LogGosterici% kayitgosterici.aktifkayit) e?er
      else (@ echo LogGosterici Loglar yenilendi ... )
    )
  )
)
alias kayitfilter (
  filtre-fwbp $ 1 @ LogArama $+(*,$ 2 - *)
  inc% kayitaaranan2
  ($ Süzülmü?) (if
    @ LogArama $ filtre sonuc $ PARANTEZ ($ longfn ($ 1)) dosyasinda bulundu yank? ...
    echo @ LogArama?
    inc% kayitabulunan $ filtre
  )
  rline @ LogArama 1 $ deltok ($ line (@ LogArama, 1), -1,32) $ int ($ calc (% kayitaaranan2 /% kayitaaranan * 100)) $ +%
)
alias kayitmod.aktif (if ($ dialog (lsetmode)) (did-e $ ifmatch 21))
alias kayit.yukle (
  (# * Iswm $ nopath ($ 1 -)) (aline-l @ LogGosterici olur? $ + $ ($ 1 - $ logdir)) kald?r
  else (aline-l @ LogGosterici $ ($ 1 - $ logdir)) kald?r
)
menü @ LogArama (
  $ Style (2) aktif $+([,$]): x
  -
  Sonuclari Kaydet (
    var% x = $ sfile (c: \ \ \ \ *. log, Ay?e Arama sonuclarini nereye kaydetmek istersiniz?, Kaydet)
    yazmak-c% x
    savebuf $ aktif% x
  )
  -
  Kapat: yak?n - @ $ aktif
)
menü @ LogGosterici (
  dclick (
    var% f = $ shortfn ($+($ logdir, $ strip ($ line (@ LogGosterici, $ 1 -, 1))))
    ($ Hatlar? (% e?er f)> 64000) (
      Ay?e mIRC chr (44) ile gosterilebilmesi Click fazla buyuk $ + $ log ($ input (e?er. Send logu de?il Defteri ile Birlikte kaydolma Ba misiniz?, Wy, Log Fazla Büyük)) (çal??t?rmak% f)
      durdurmak
    )
    set% kayitgosterici.aktifkayit% f
    loadbuf-pr @ LogGosterici% f
    ba?l?k @ LogGosterici - $ strip ($ line (@ LogGosterici, $ 1 -, 1))
  )
  -
  Ara
  . Tum Loglarda (
    % Kayitabulunan 0 set
    % Kayitaaranan findfile ($ logdir, $ set *. log, 0)
    set% kayitaaranan2 0
    var% = $ $ input (Eger buyuk log dosyalarina sahipseniz Arama islemi Uzun Zaman alacaktir. Devam etmek istiyorsaniz $ + $ chr (44) aramak istediginizi kutuya yazin. s, eq, Arama)
    net @ LogArama ($ window (@ LogArama)) () ise
    pencere k0z @ LogArama
    var% t = $ keneler
    @ LogArama $ + (\ \ \ '% s echo, \ \ \' Click Arama yapiliyor ...)% 0
    @ LogArama $ findfile ($ logdir, echo *. log, 0, kayitfilter 1 $% s). Shortfn log dosyasinda $ + (\ \ \ '% s, \ \ \' arandi.) Toplam $ PARANTEZ (% kayitabulunan) sonuc $ tur ($ (($ kenelerin -% t) / 1000), 2) saniyede bulundu kalk.
    unset% kayitabulunan% kayitaaranan% kayitaaranan2
  )
  . $ IIf ($ mouse.lb, $ strip ($ 1)): kayitgosterici.mo $ shortfn ($+($ logdir, $ strip ($ 1)))
  . $ IIf (! $ Mouse.lb, $ nopath (% kayitgosterici.aktifkayit)): kayitgosterici.mo% kayitgosterici.aktifkayit
  $ IIf ($ mouse.lb, HTML Olustur): strip ($ 1))) $ shortfn ($+($ logdir, $ crlog
  $ IIf (! $ Mouse.lb, HTML Olustur): crlog% kayitgosterici.aktifkayit
  $ IIf ($ mouse.lb, Logu göster) (
    var% f = $ shortfn ($+($ logdir, $ strip ($ 1)))
    ($ Hatlar? (% e?er f)> 64000) (
      Ay?e mIRC chr (44) ile gosterilebilmesi Click fazla buyuk $ + $ log ($ input (e?er. Send logu de?il Defteri ile Birlikte kaydolma Ba misiniz?, Wy, Log Fazla Büyük)) (
        ko?mak% f
        durdurmak
      )
      else (halt)
    )
    set% kayitgosterici.aktifkayit% f
    loadbuf-pr @ LogGosterici% f
    ba?l?k @ LogGosterici - $ strip ($ 1 -)
  )
  $ IIf (! $ Mouse.lb & &% kayitgosterici.aktifkayit, de?il Defteriyle Ac): ko?mak% kayitgosterici.aktifkayit
  Log Dizinini Ac: ", $ logdir, \ \") $ + (\ \ ko?mak
  -
  Sil
  . Tum Loglari (
    BÜTÜN loglarinizi silmek istediginizden Emin misiniz?, Wy)) (($ input (e?er
      net @ LogGosterici
      aç?k-l @ LogGosterici
      @ Echo LogGosterici Loglar siliniyor ...
      . Echo-q $ findfile ($ logdir, *. log, 0,. Kald?rmak $ 1 -). Shortfn
      net @ LogGosterici
      @ Echo LogGosterici BÜTÜN log dosyalariniz basariyla silindi.
      ba?l?k @ LogGosterici - Acik oturum fade
    )
  )
  . Aktif logu (
    ($ 1 == $ null) (if
      net @ LogGosterici
      @ LogGosterici Lutfen tür bir kez silmek istediginiz logu listeden Seçin yank?.
      durdurmak
    )
    var% t = $ sline (@ LogGosterici, 0)
    ($ Input ($ + $ $ 1 loguni silmek istediginizden Emin misiniz? Not: Oturum su Anda kullanimdaysa silinmeyebilir e?er., Wy)) (
      unset% kayitgosterici.aktifkayit
      i var% = $ sline (@ LogGosterici, 0)
      (% I> ise = 1) (
        "LogGosterici, i)% $ logdir, $ strip ($ sline (@ $ + (\ \ kald?r ($ isfile ($ logdir $ + $ strip ($ sline (@ LogGosterici,% i)))) (if. ), \ \ "))
        dline-l @ LogGosterici $ sline (@ LogGosterici,% i). ln
        Aral?k% i
      )
      net @ LogGosterici
      @ LogGosterici $ PARANTEZ (% t) echo (lar) i basariyla silindi dosyas giri? yap?n.
    )
    ba?l?k @ LogGosterici - Acik oturum fade
  )
  -
  Yenile: kayitgosterici.yenile
  Kapat: yak?n - @ @ LogGosterici
)
alias crlog (
  var% f = $ shortfn ($ IIf ($ 1, $ 1 - $ sfile ($ logdir $ + *. log, Hangi log dosyasindan HTML dosyasi olusturmak istiyorsunuz?, Tamam ))),% o = $ shortfn ($ sfile ($ + (c: \ \ \ \ $ deltok ($ nopath (% f), -1,46),. htm), Bir cikis dosyasi Seçin, Olustur !)),% p = $ keneler
  ($ Isfile (e?er% f)) (
    yazmak-c% o
    dialog-m htmlolustur htmlolustur
    did-a htmlolustur 1 1 0 999
    -Ra htmlolustur yapt?m 2 Olusturuluyor ...
    -Ra htmlolustur 3 Kaynak yapt?:
    -Ra htmlolustur 4 Satir yapt?:
    -Ra htmlolustur 5 Biten yapt?:
    -Ra htmlolustur 6 Kalan Sure yapt?:
    did-ra htmlolustur 7 $ nopath ($ longfn (% f))
    did-ra htmlolustur 8,9,10?
    pencere-h @ htmlolustur
    var% i = 4,% b = 0,% tt = $ hatlar? (% f),% u = 0
    aline @ htmlolustur $ + (<html> <head> <title>, $ nopath ($ longfn (% f )),</ title> </ head> <style type = \ \ "metin / css \ \ "><!--)
    aline @ htmlolustur vücut $ chr (123) $ + (background-color = \ \ ", $ hexcolor (arka), \ \"; font-family: \ \ ", $ window ($ aktif). font, \ \ "; font-size: \ \", $ window ($ aktif). "\ \ Yaz?y?; color = \ \", $ hexcolor (normal), \ \ ") $ chr (125 )
    aline @ htmlolustur -
    loadbuf 1-2001 @ htmlolustur% f
    (% U <=% tt) (süre
      rline @ htmlolustur% i $ + ($ ($ (@ htmlolustur,% i )),<,& lt ;,>,& gt strip ($ line yerine;), )
      (% I == 2001) (if
        var% i = 1
        inc% b 2001
        savebuf-a @ htmlolustur% o
        loadbuf $ + ($ calc (% b 1 ),-,$ calc (% b 2001))-r @ htmlolustur% f
        devam etmek
      )
      If (! $ Calc (% i% 100)) (
        did-a htmlolustur 1% u% 0 tt
        did-ra htmlolustur 8 $ + (% u /% tt)
        did-ra htmlolustur 9 $ + ($ int ($ calc (% u /% tt * 100 )),%)
        (% U> 5000) (did-ra htmlolustur 10 $ süresi (int $ ($ (($ kenelerin -% p) / 1000 /% u *% tt kalk - (($ kenelerin -% p) / 1000) ise ))))
      )
      inc% i
      inc% u
    )
    aline @ htmlolustur </ html>
    savebuf-a @ htmlolustur $ + (\ \ ",% o, \ \")
    yak?n - @ @ htmlolustur
    dialog-c htmlolustur
    yazmak-L3 $ + (\ \ ",% o, \ \") --></ style> &#8226; HTML $ Tarih Tarihinde $ tur ($ calc (($ keneler dosyasi tarafindan log - % p) / 1000), 2) saniyede,  &#8226; $ nopath ($ longfn (% f)) dosyasindan olusturuldu $ PARANTEZ (Orijinal dosya say?s?% tt SATIR $ + $ chr (44) $ byte ( $ ()% f). dosya boyutu. SUF), )
    (HTML yuvarlak ($ (($ kenelerin -% p) / 1000), 2) $ + (saniye icinde basariyla olusturuldu kalk. Dosyasi $ log ($ input e?er $ CRLF, $ CRLF, maddesine ba?lant? veren sayfalar: $ nopath (% o ) $ PARANTEZ ($ byte ($ (% o) dosyas?. boyutunda). SUF), $ CRLF, Kaynak: $ nopath (% f) $ PARANTEZ ($ byte ($ file (% f). boyutunda). SUF) , $ CRLF, Satir:% tt, $ CRLF, $ CRLF, Log Dizini \ \ \ ', $ longfn (% o), \ \ \'. $ CRLF, birsey calistirmak Ba misiniz?), IY, HTML logu )) (url-an% o)
  )
  else (errdialog maddesine ba?lant? veren sayfalar cikis hatasi% f $ +! )
)
ileti?im htmlolustur (
  boyutu -1 -1 120 49
  seçenek dBu
  metin \ \ "? \ \", 2,2 3 116 8, merkez
  Metin "" \ \ \ \ 1,2 12 116 10
  metin \ \ "? \ \", 3,2 24 50 8, sa?
  metin \ \ "? \ \", 4,2 32 50 8, sa?
  metin \ \ "? \ \", 5,2 40 50 8, sa?
  metin \ \ "? \ \", 6,2 48 50 8, sa?
  metin \ \ "? \ \", 7,55 24 60 8
  metin \ \ "? \ \", 8,55 32 60 8
  metin \ \ "? \ \", 9,55 40 60 8
  metin \ \ "? \ \", 10,55 48 60 8
)
* Do?um: dialog: htmlolustur: init: 0: (
  SetMircVersion sürümü $ mdx
  MarkDialog dname $ dialog ($ dname) $ mdx. Hwnd
  SetControlMDX ProgressBar pürüzsüz> script $ dname 1 mdx \ \ \ \ mdx \ \ \ \ ctl_gen.mdx
  SetDialog tarz? dlgmodal $ dname mdx
  did-i $ dname 1 1 bgcolor $ rgb (hilight)
  did-i $ dname 1 1 barcolor $ rgb (metin)
)
* Do?um: close: @ LogGosterici: (unset% kayitgosterici.aktifkayit)
alias PARANTEZ (return ($ + $ 1 - $ +))
menü kanal, durum (
  Ne dinliyorum?: ?ark? #
  -

Botunuz var sunucuya nasıl alırım nasıl çıkartiyorum diyorsaniz. İlk önce ile hesabiniza login olunuz. Daha sonra sirayla

  • cd eggdrop

Yazip Eggdrop klasörüne geliyoruz. Daha sonra Eger botumuzu sunucuya alıcaksak örnegin kelime botunu alacaz kelime.conf dosyamiz herşeyimiz hazir almak için

  • ./eggdrop -m kelime.conf

entere basiyoruz botumuz sunucuya girdi.

Eğer ki ; Sunucudan botumuzu cıkarticaz nasıl yaparim diyorsaniz.

  • ps x

yazip entere basiyoruz karşimiza birşeyler cıkıyor burada kelime.conf dosyasinin karşiligina bakıyoruz mesela ;

PID TTY      STAT   TIME COMMAND
8154 ?        S      1:01 ./eggdrop -m kelime.conf

Böyle birşey görüceksiniz. Sunucudan nasıl cıkarıcaz.

  • kill -9 8154

Entere basıyoruz  Botumuz sunucudan cıktı. ps x komutu sunucuda calısan işlevleri göstermektedir. Bu kadar kolay gelsin.