Unreal Oper giriş bildirimleri

Aytac

nicktag
Yönetici
Developer
Katılım
4 Şub 2020
Mesajlar
379
Tepkime puanı
50
Puanları
28
Konum
ircland
Web sitesi
www.ircalem.net
Merhabalar,


Klasör: Unreal3.2*/src/modules/
Dosya: m_oper.c


BULUN,
Kod:
DLLFUNC int m_oper(aClient *cptr, aClient *sptr, int parc, char *parv[]);

ÜSTÜNE,
Kod:
#define Monitor "#opers"
aChannel *chptr;

EKLEYİN,

* Oper açanları kanala bildirmesi için;

Kod:
if (announce != NULL)
            sendto_snomask_global(SNO_OPER,
                "%s (%[email protected]%s) [%s] %s",
                parv[0], sptr->user->username, sptr->sockhost,
                parv[1], announce);
* Hemen altına ekleyin..

Kod:
if ((chptr = find_channel(Monitor, NullChn)) != NullChn) {
sendto_channel_butone(&me, &me, chptr, ":Monitor PRIVMSG %s :%s (%[email protected]%s) [%s] %s",
 Monitor, parv[0], sptr->user->username, sptr->sockhost, parv[1], announce);

}


*
OPER şifresini hatalı girenleri kanala yansıtmak için;

Kod:
(SNO_OPER, "Failed OPER attempt by %s (%[email protected]%s) using UID %s [FAILEDAUTH]",
            parv[0], sptr->user->username, sptr->sockhost, name);
* Altına ekleyin..

Kod:
if ((chptr = find_channel(Monitor, NullChn)) != NullChn) {
sendto_channel_butone(&me, &me, chptr, ":Monitor PRIVMSG %s  :Failed OPER attempt by %s (%[email protected]%s) using UID %s [FAILEDAUTH]",
 Monitor, parv[0], sptr->user->username, sptr->sockhost, name);

}


*
OPER maxlogins reached, bildirimleri için;

Kod:
(SNO_OPER, "Failed OPER attempt by %s (%[email protected]%s) using UID %s [maxlogins reached]",
                parv[0], sptr->user->username, sptr->sockhost, name);
            ircd_log(LOG_OPER, "OPER TOOMANYLOGINS (%s) by (%s!%[email protected]%s)", name, parv[0],
                sptr->user->username, sptr->sockhost);

*
Altına ekleyin..

Kod:
if ((chptr = find_channel(Monitor, NullChn)) != NullChn) {
sendto_channel_butone(&me, &me, chptr, ":Monitor PRIVMSG %s  :Failed OPER attempt by %s (%[email protected]%s) using UID %s [maxlogins reached]",
 Monitor,parv[0], sptr->user->username, sptr->sockhost, name);

}


*
OPER i olmayıpta, oper deneyenleri kanala bildirmesi için;

Kod:
(SNO_OPER, "Failed OPER attempt by %s (%[email protected]%s) [unknown oper]",
            parv[0], sptr->user->username, sptr->sockhost);
        ircd_log(LOG_OPER, "OPER UNKNOWNOPER (%s) by (%s!%[email protected]%s)", name, parv[0],
            sptr->user->username, sptr->sockhost);

*
Altına ekleyin..

Kod:
if ((chptr = find_channel(Monitor, NullChn)) != NullChn) {
sendto_channel_butone(&me, &me, chptr, ":Monitor PRIVMSG %s :Failed OPER attempt by %s (%[email protected]%s) [unknown oper]",
 Monitor, parv[0], sptr->user->username, sptr->sockhost);

}

* OPER host doesnt match, bildirimleri için;

Kod:
(SNO_OPER, "Failed OPER attempt by %s (%[email protected]%s) using UID %s [host doesnt match]",
            parv[0], sptr->user->username, sptr->sockhost, name);
        ircd_log(LOG_OPER, "OPER NOHOSTMATCH (%s) by (%s!%[email protected]%s)", name, parv[0],
            sptr->user->username, sptr->sockhost);


*
Altına ekleyin..

Kod:
if ((chptr = find_channel(Monitor, NullChn)) != NullChn) {
sendto_channel_butone(&me, &me, chptr, ":Monitor PRIVMSG %s :by %s (%[email protected]%s) using UID %s [host doesnt match]",
 Monitor, parv[0], sptr->user->username, sptr->sockhost, name);

}


  • Örnek çıktılar aşağıdaki gibi olacaktır.:


Kod:
<Monitor> Failed OPER attempt by s ([email protected]) using UID Entrance [FAILEDAUTH]
Kod:
<Monitor> Failed OPER attempt by s ([email protected]) using UID Entrance [maxlogins reached]
Kod:
<Monitor> Failed OPER attempt by s ([email protected]) [unknown oper]
Kod:
<Monitor> s ([email protected]) [Entrance] is now a network administrator (N)


*
En son olarakta OPER açan kişilerin özeline belli başlı OPER kurallarını göndermek için ise;

Kod:
if (do_cmd(cptr, sptr, "JOIN", 3, chans) == FLUSH_BUFFER)
                                return FLUSH_BUFFER;
                }
                ircd_log(LOG_OPER, "OPER (%s) by (%s!%[email protected]%s)", name, parv[0], sptr->user->username,
                        sptr->sockhost);


*
Altına ekleyin..

Kod:
#define OKU "oper.motd"
FILE *dosya;
char buf[BUFSIZE];
dosya = fopen(OKU, "r");
if (dosya != NULL) {
while (fgets(buf, sizeof(buf), dosya)) {
buf[strlen(buf)-1] = 0;
sendto_one(sptr, ":OPERMOTD PRIVMSG %s :%s",  sptr->name, buf);
}
}
• Daha sonra, make ve rehash komutlarını Unreal-in merkezin de uyglayın.

• Ardından Unreal'in dizinesine oper.motd şeklinde bir TXT oluşturun içerisine yazmak istediğiniz Mesajları yazın her oper açan kişinin özeline OPERMOTD adı altında kurallarınız iletilecektir..

NOT: test edilen sürüm Unreal3.2.10.1
 
Üst