.

Posts Tagged “Ircd services komutları”

Timer Komutu ve Kullanımı

Timer Komutu ve Kullanımı Hakkında Eğitim Başladı .

Bir işlemi ileriki bir zamanda uygulamak için kullanılmaktadır. Kaç saniye aralıkla ve kaç kere uygulanacağını belirlemek mümkündür. Parametreleri ile birlikte kullanımında geniş kapsamlı zamanlayıcı görevini görür.

Kullanımı : /timer [adı] parametre zaman tekrar aralık komut.
Aktif timerleri listelemek için : /timers
Tüm timerleri devre dışı bırakmak için : /timers off
Belirtilen timeri devre dışı bırakmak için : /timeradı off
Belirtilen sırada yer alan timerın adını görüntülemek için : $timer(sıra)
Bunlara ek olarak wilcard karakteri olan “*” ve “?” kullanılabilmektedir.

Örnek : a ile başlayan tüm timerleri iptal etmek için : /timera* off
Örnek : 20 ile 29 arasındaki tüm timerleri kapamak için : /timer2? off

Parametreler :

H Parametresi : Belirtilen sürenin milisaniye cinsinden algılanmasını sağlar . M Parametresi ile aynı işlevi görür .
Kullanımı : /timer -h (tekrar)-(milisaniye)-(komut)
Örnek : /timer -h 2 5 /whois Misishelp
Yukarıdaki komutu uyguladığımızda 5 milisaniye aralıkla 2 kere Misishelp nickini whois çekilir.

P Parametresi :İleriki bir zamana kurulmuş olan timeri geçici olarak durdurur.
Kullanımı : /timeradı -p
Örnek : /timer1 -p
Yukarıdaki komutu uyguladığımızda Timer1 isimli zamanlayıcı R Parametresi ile devam ettirilinceye kadar durur.

R Parametresi : Durdurulan zamanlayıcı kaldığı yerden devam ettirir.
Kullanımı : /timeradı -r
Örnek : /timer1 -r
Yukarıdaki komutu uyguladığımızda timer1 isimli zamanlayıcı kaldığı yerden devam edicektir.

O Parametresi : Servera bağlı iken kurulan zamanlayıcı bağlantı koptuğunda otomatik olarak kapanır. Bu parametre ile sizin serverdan bağlantınız kopsa bile timer devamlılığını sürdürür.
Kullanım : /timeradı -o (tekrar)-(saniye)-(komut)
Örnek : /timer1 -o 0 30 /ping Misishelp
Yukarıdaki komutu uyguladığımızda Misishelp nickine 30 saniye aralıklarla ping komutu uygulanır.Sunucudan bağlantınız kopsada timer devamlılığını sürdürür.

E Parametresi : İleriki bir zamana ayarlanmış olan zamanlayıcıyı hemen aktif etmek için kullanılır.
Kullanımı : /timeradı -e
Örnek : /timerkelebek -e
Yukarıdaki komutu uyguladığımızda daha önceden ileriki zaman için kurulmuş olan timerkelebek isimli zamanlayıcı, belirtilen sürenin dolması beklenmeden uygulamaya sokulur.

Soru : Misishelp nickine 15 saniyede bir ping atmak istiyorum , nasıl yapabilirim ?
Cevap : /timer 0 15 /ping Misishelp

Soru : Misishelp nickine her saniye başı /whois çekmek istiyorum , nasıl yapabilirim ?
Cevap : /timer 0 1 /whois Misishelp

Soru : Misishelp nickine 1 kereye mahsus 5 saniyede sonra Eğitim kanalında kick atmak istiyorum , nasıl yapabilirim ?
Cevap : /timer 1 5 /kick #Eğitim Misishelp Sebep

Soru : Eğitim kanalına 30 saniyede bir notice atmak istiyorum , nasıl yapabilirim ?
Cevap : /timer 0 30 /notice #Eğitim Mesaj

Soru: Misishelp nickine 40 saniyede bir info çekmek istiyorum , nasıl yapabilirim?
Cevap: /timer 0 40 /ns info Misishelp

Timer Komutu ve Kullanımı hakkında eğitim sona ermiştir.

Comments Yorum Yok »

hesaba login olduktan sonra /home/login/ircservices-5.0.x/modules/chanserv/ klasörüne girin.

pico access.c komutuyla access.c dosyasının içine girip access_add fonksiyonunun
tanımlandığı satırı bulun yani;

Kod:
int access_add(ChannelInfo *ci, const char *nick, int level, int uacc)

üstteki satırı bulun.bu satırı;

Kod:
int access_add(ChannelInfo *ci, const char *nick, int level, int uacc, char *ekleyen)

olarak değiştirin. daha sonra yine aynı dosyada, access_add fonksiyonu içerisinde bulunan;

Kod:
ci->access[i].nickgroup = ni->nickgroup;ci->access[i].level = level;

satırlarını bulup bi alt satırına;

Kod:
ci->access[i].ekleyen = sstrdup(ekleyen);

satırını ekleyip, kaydedip dosyayı kapatın. daha sonra yine aynı klasörde bulunan
access-levels.c dosyasını;

Kod:
pico access-levels.c

komutuyla açtıktan sonra;

Kod:
switch (access_add(ci, nick, level, is_servadmin ? ACCLEV_FOUNDER : get_access(u,ci)))

satırlarını bulup;

Kod:
switch (access_add(ci, nick, level, is_servadmin ? ACCLEV_FOUNDER : get_access(u,ci), u->nick))

olarak değiştirin. yine aynı dosya içerisinde;

Kod:
RET_LISTED

satırını bulup bi üst satırında bulunan

Kod:
notice_lang(s_ChanServ, u, CHAN_ACCESS_LIST_FORMAT, index+1, access->level, ngi_mainnick(ngi));

satırlarını ;

Kod:
notice_lang(s_ChanServ, u, CHAN_ACCESS_LIST_FORMAT, index+1, access->level, ngi_mainnick(ngi), access->ekleyen);

şeklinde değiştirin. kaydedip dosyayı kapatın. aynı klasörde bulunan
access-xop.c dosyasını

Kod:
pico access-xop.c

komutuyla açıp

Kod:
switch (access_add(ci, nick, level, is_servadmin ? ACCLEV_FOUNDER : get_access(u,ci)))

satırlarını bulup bu satırları

Kod:
switch (access_add(ci, nick, level, is_servadmin ? ACCLEV_FOUNDER : get_access(u,ci), u->nick))

olarak değiştirin. kaydedip dosyayı kapatın.aynı klasörde bulunan chanserv.h dosyasını

Kod:
pico chanserv.h

komutuyla açın ve

Kod:
typedef struct { uint32 nickgroup; /* Zero if entry is not in use */ int16 level;} ChanAccess;

satırlarını bulup;

Kod:
typedef struct { uint32 nickgroup; /* Zero if entry is not in use */ int16 level; char *ekleyen;} ChanAccess;

olarak değiştirin kaydedin kapatın.

Kod:
pico cs-local.h

komutu ile cs-local.h dosyasını acıp

Kod:
E int access_add(ChannelInfo *ci, const char *nick, int level, int uacc);

satırını bulun ve bu satırı

Kod:
E int access_add(ChannelInfo *ci, const char *nick, int level, int uacc, char *ekleyen);

olarak değiştirin. kaydedip dosyayı kapatın.daha sonra /home/login/ircservices-5.0.x/lang/
klasörüne girip

Kod:
pico tr.l

komutuyla tr.l dosyasını açın.

Kod:
CHAN_ACCESS_LIST_HEADER %s Kanali Erisim Listesi: Sira Seviye NickCHAN_ACCESS_LIST_FORMAT %4d %4d %s

satırlarını bulup;

Kod:
CHAN_ACCESS_LIST_HEADER %s Kanali Erisim Listesi: Sira Seviye Nick EkleyenCHAN_ACCESS_LIST_FORMAT %4d %4d %s %s

şeklinde değiştirin. kaydedip dosyayı kapatın.

daha sonra /home/login/ircservices-5.0.x/modules/database/ klasörüne girip

Kod:
pico version4.c

komutuyla version4.c dosyasını açın.bu dosyada

Kod:
SAFE(write_int16(ci->access_count, f)); ARRAY_FOREACH (i, ci->access) { if (ci->access[i].nickgroup) ngi = get_ngi_id(ci->access[i].nickgroup); else ngi = NULL; SAFE(write_int16(ngi != NULL, f)); if (ngi) { SAFE(write_int16(convert_new_level(ci->access[i].level), f)); SAFE(write_string(ngi_mainnick(ngi), f)); } }

satırlarını bulup hemen altına

Kod:
SAFE(write_int16(ci->access_count, f)); ARRAY_FOREACH (i, ci->access) { SAFE(write_string(ci->access[i].ekleyen, f)); }

satırlarını ekleyin. kaydedip çıkın. /home/login/ircservices-5.0.x/ klasörüne girip
önce

Kod:
make
Kod:
make install

komutunu uygulayıp servisleri ÇALIŞTIRIN.denemek amacıyla resgele bi kanalda rasgele bi nicke
access ekleyip access listesine bakın.

daha sonra;

/home/login/ircservices-5.0.x/modules/database/ klasörüne girip;

Kod:
pico version4.c

komutuyla yine version4.c dosyasını açın.bu dosyada ;

Kod:
SAFE(read_int16(&ci->access_count, f)); if (ci->access_count) { ci->access = scalloc(ci->access_count, sizeof(ChanAccess)); ARRAY_FOREACH (i, ci->access) { SAFE(read_int16(&tmp16, f)); /* in_use */ if (tmp16) { SAFE(read_int16(&lev, f)); ci->access[i].level = convert_old_level(lev); SAFE(read_string(&s, f)); if (s) { ni = get_nickinfo(s); if (ni) { ci->access[i].nickgroup = ni->nickgroup; } free(s); } } } } else { ci->access = NULL; }

satırlarını bulup en son parantezin bi alt satırına;

Kod:
SAFE(read_int16(&ci->access_count, f)); if (ci->access_count) { ARRAY_FOREACH (i, ci->access) { SAFE(read_string(&ci->access[i].ekleyen, f)); } } else { ci->access = NULL; }

satırlarını ekleyin. ve kaydedip dosyayı kapatın./home/login/ircservices-5.0.x/ klasörüne girip
önce

Kod:
make
Kod:
make install

komutunu uygulayıp servislere restart atın.bu kadar. kolay gelsin.

Comments Yorum Yok »

Sunucunuza girip’te nick’ini register etmemiş kişiler için register etmelerini Nickserv notice ile isteyebilirsiniz
——————————————————————————-

a-) Islemi gercekleştirmek için lütfen alt bölümde oluşturulmuş komutları sırası ile uygulayınız

=> Komut : cd ircservices*
; Burada ircservices klasor’une giris yaptık
=> Komut : cd modules\
; Burada ircservices klasorunun icinde modules\ klasorune giris yaptık
=> Komut : cd operserv\
; Burada ircservices klasorunun icindeki modules klasorunun icinde bulunan operserv\ klasorune giris yaptık
=> Komut : pico news.c
; Burada ircservices=>modules=>operserv\ klasorunun icinde bulunan news.c conf dosyasına giris yaptık
; Düzenlemeyi buradan yapacağız

———————————————————————————————

Girmis olduğunuz news.c dosyasının icinde CTRL+W ile aratmamız gereken bölüm alt taraftadır

=> ARANACAK SATIR :

Kod:
/* Callback for users logging on. */

static int new_user_callback(User *u)
{
display_news(u, NEWS_LOGON);
return 0;

}————————————————————————————————

Üst’te aranacak satırlardan herhangi birisini bulduğunuzda ve satırı doğruladınızda ( doğru satır olduğunu gördüğünüzde )
üst tarafta verilmiş olan satırı silip yerine alt bölümde vereceğim kod dizinini kopyalayacaksınız ;

- Eklenecek Satırlar -

Kod:
/* Callback for users logging on. */

static int new_user_callback(User *u)
{
NickInfo *ni = NULL;
display_news(u, NEWS_LOGON);
ni = get_nickinfo(u->nick);
if (!ni) {
send_cmd(s_GlobalNoticer, "NOTICE %s :Merhaba %s, nickini şifrele", u->nick, u->nick);
}

return 0;
}

————————————————————————————————–

Bu satırları ekledikten sonra CTRL+X ‘e basıp Y yazıp enter’liyoruz daha sonra alt bölümdeki komutları sırası ile uyguluyoruz

=> Komut : cd
; Bu komut ile ana dizine gectik
=> Komut : cd services\
; Bu komut ile services\ klasorune girdik
=> Komut : ps x
; Bu komut ile ./ircservices ‘in hangi kod numarası üzerinde calıstığını gördük
=> Komut : kill -9 IRCSERVİCESKODNUMARASI
; Örnek : kill -9 23478
=> Komut : ./ircservices
; Bu komut ile kill’lemiş olduğumuz servisleri tekrar baslattık ve nickserv mesaj aktif oldu

————————————————————————————————-

NOT: ALINTIDIR

Comments Yorum Yok »