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

IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası (https://www.ircforumlari.net/)
-   Unreal IRCd (https://www.ircforumlari.net/unreal-ircd/)
-   -   Yardım? (https://www.ircforumlari.net/unreal-ircd/179395-yardim.html)

kinGdEviL` 12 Şubat 2009 11:58

Yardım?
 
Whois ve ircops'da görünen Network administator'u Ag yoneticisi yazmasını ve services admin server adminede Kanal/nick sorumlusu yazmasını istiyorum yardım edebilecek varmi?

toXic 12 Şubat 2009 12:07

Cevap: Yardım?
 
m_whois.c de


Kod:


 buf[0] = '\0';
if (IsNetAdmin(acptr))
strlcat(buf, "a Network Administrator", sizeof buf);
else if (IsSAdmin(acptr))
strlcat(buf, "a Services Operator", sizeof buf);
else if (IsAdmin(acptr) && !IsCoAdmin(acptr))
strlcat(buf, "a Server Administrator", sizeof buf);
else if (IsCoAdmin(acptr))
strlcat(buf, "a Co Administrator", sizeof buf);
else if (IsServices(acptr))
strlcat(buf, "a Network Service", sizeof buf);
else if (IsOper(acptr))
strlcat(buf, "an IRC Operator", sizeof buf);

else
strlcat(buf, "a Local IRC Operator", sizeof buf);
if (buf[0])
sendto_one(sptr,
rpl_str(RPL_WHOISOPERATOR), me.name,
parv[0], name, buf);
}

satırlarını

Kod:

buf[0] = '\0';
if (IsNetAdmin(acptr))
strlcat(buf, "Bir Ağ Sorumlusudur", sizeof buf);
else if (IsSAdmin(acptr))
strlcat(buf, "Kanal ve Nick Sorumlusudur", sizeof buf);
else if (IsAdmin(acptr) && !IsCoAdmin(acptr))
strlcat(buf, "Bir Sunucu Yöneticisidir.", sizeof buf);
else if (IsCoAdmin(acptr))
strlcat(buf, "Bir Teknik Adminidir.", sizeof buf);
else if (IsServices(acptr))
strlcat(buf, "Bir Sunucu Servis Botudur", sizeof buf);
else if (IsOper(acptr))
strlcat(buf, "Bir OPERATORdur.", sizeof buf);
else
strlcat(buf, "Bir Operatordur", sizeof buf);
if (buf[0])
sendto_one(sptr,
rpl_str(RPL_WHOISOPERATOR), me.name,
parv[0], name, buf);
}

Olarak değişin.

Kod:


make&&make install

yapın

Kod:

./unreal restart
çekin.

ardından su modulu alın

Kod:

/*
 * =================================================================
 * Filename:          m_ircops.c
 * Description:      Command /ircops.
 * Author:            AngryWolf <[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]>
 * Documentation:    m_ircops.txt (comes with the package)
 * =================================================================
 */
#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"
#ifdef STRIPBADWORDS
#include "badwords.h"
#endif
#ifdef _WIN32
#include "version.h"
#endif
typedef struct
{
    long *umode;
    char *text;
} oflag;

extern void            sendto_one(aClient *to, char *pattern, ...);
/*
 * Ultimate uses numerics 386 and 387 for RPL_IRCOPS and RPL_ENDOFIRCOPS,
 * but these numerics are RPL_QLIST and RPL_ENDOFQLIST in UnrealIRCd
 * (numeric conflict). I had to choose other numerics.
 */
#define RPL_IRCOPS        337
#define RPL_ENDOFIRCOPS        338
#define MSG_IRCOPS        "IRCOPS"
#define TOK_IRCOPS        NULL
#define IsAway(x)        (x)->user->away
#define IsSkoAdmin(sptr)    (IsAdmin(sptr) || IsNetAdmin(sptr) || IsSAdmin(sptr) || IsCoAdmin(sptr))
#define DelCommand(x)        if (x) CommandDel(x); x = NULL
static int            m_ircops(aClient *cptr, aClient *sptr, int parc, char *parv[]);
static Command            *CmdIrcops;
static oflag            otypes[7];
ModuleHeader MOD_HEADER(m_ircops)
  = {
    "ircops",
    "$Id: m_ircops.c,v 3.2 2004/07/11 23:39:48 angrywolf Exp $",
    "command /ircops",
    "3.2-b8-1",
    NULL
    };

DLLFUNC int MOD_INIT(m_ircops)(ModuleInfo *modinfo)
{
    otypes[0].umode = &UMODE_NETADMIN;
    otypes[0].text = "        Ağ yöneticisi";
    otypes[1].umode = &UMODE_SADMIN;
    otypes[1].text = "        KANAL Ve Nick Sorumlusu";
    otypes[2].umode = &UMODE_ADMIN;
    otypes[2].text = "        Server Yöneticisi";
    otypes[3].umode = &UMODE_COADMIN;
    otypes[3].text = "        Teknik Yönetici";
    otypes[4].umode = &UMODE_OPER;
    otypes[4].text = "        IRC OPERATOR";
    otypes[5].umode = &UMODE_LOCOP;
    otypes[5].text = "        Local Operator";
    otypes[6].umode = NULL;
    otypes[6].text = NULL;
        if (CommandExists(MSG_IRCOPS))
        {
                config_error("Command " MSG_IRCOPS " already exists");
                return MOD_FAILED;
        }
        CmdIrcops = CommandAdd(modinfo->handle, MSG_IRCOPS, TOK_IRCOPS,
        m_ircops, MAXPARA, 0);
#ifndef STATIC_LINKING
        if (ModuleGetError(modinfo->handle) != MODERR_NOERROR)
#else
        if (!CmdIrcops)
#endif
        {
#ifndef STATIC_LINKING
                config_error("Error adding command " MSG_IRCOPS ": %s",
                        ModuleGetErrorStr(modinfo->handle));
#else
                config_error("Error adding command " MSG_IRCOPS);
#endif
                return MOD_FAILED;
        }
    return MOD_SUCCESS;
}
DLLFUNC int MOD_LOAD(m_ircops)(int module_load)
{
    return MOD_SUCCESS;
}

DLLFUNC int MOD_UNLOAD(m_ircops)(int module_unload)
{
    DelCommand(CmdIrcops);
    return MOD_SUCCESS;
}

static char *find_otype(long umodes)
{
    unsigned int i;
   
    for (i = 0; otypes[i].umode; i++)
        if (*otypes[i].umode & umodes)
            return otypes[i].text;
    return "an unknown operator";
}
/*
 * m_ircops
 *
 *    parv[0]: sender prefix
 *
 *    Originally comes from TR-IRCD, but I changed it in several places.
 *    In addition, I didn't like to display network name. In addition,
 *    instead of realname, servername is shown. See the original
 *    header below.
 */
/************************************************************************
 * IRC - Internet Relay Chat, modules/m_ircops.c
 *
 *  Copyright (C) 2000-2002 TR-IRCD Development
 *
 *  Copyright (C) 1990 Jarkko Oikarinen and
 *                      University of Oulu, Co Center
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2, or (at your option)
 * any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 */
static int m_ircops(aClient *cptr, aClient *sptr, int parc, char *parv[])
{
    aClient        *acptr;
    char        buf[BUFSIZE];
    int        opers = 0, admins = 0, globs = 0, aways = 0;
    for (acptr = client; acptr; acptr = acptr->next)
    {
        /* List only real IRC Operators */
        if (IsULine(acptr) || !IsPerson(acptr) || !IsAnOper(acptr))
            continue;
        /* Don't list +H users */
        if (!IsAnOper(sptr) && IsHideOper(acptr))
            continue;
        sendto_one(sptr, ":%s %d %s :\2%s\2 %s  \2%s\2" "%s",
            me.name, RPL_IRCOPS, sptr->name,
            acptr->name,
            find_otype(acptr->umodes),
            acptr->user->server,
            (IsAway(acptr) ? " [Mesgul]" : IsHelpOp(acptr) ? " " : ""));
        if (IsAway(acptr))
            aways++;
        else if (IsSkoAdmin(acptr))
            admins++;
        else
            opers++;
    }
    globs = opers + admins + aways;
    sprintf(buf,
        "Total: \2%d\2 Operatör%s Bağlı - \2%d\2 tanesi Admin%s, \2%d\2 tanesi Oper%s ve \2%d\2 tanesi Meşgul",
        globs, (globs) > 1 ? " " : "", admins, admins > 1 ? " " : "",
        opers, opers > 1 ? " " : "", aways);
    sendto_one(sptr, ":%s %d %s :%s", me.name, RPL_IRCOPS, sptr->name, buf);
    sendto_one(sptr, ":%s %d %s :(/IRCOPS) listesi sonu.", me.name, RPL_ENDOFIRCOPS, sptr->name);
sendto_realops("%s Dizin Sonu.", sptr->name);
sendto_realops("%s Oper Yardım Kanalı için #HELPDESK kanalını Kullanabilirsiniz.", sptr->name);


Böyle bişi yapmıstım. :)

kinGdEviL` 12 Şubat 2009 12:22

Cevap: Yardım?
 
Eyvallah o olduda ircops'da netword admin yazıyor (=

toXic 12 Şubat 2009 12:42

Cevap: Yardım?
 
Kod:

/*
 *  Turkce Yetki
 */
#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
static char buf[BUFSIZE];
DLLFUNC int m_whois(aClient *cptr, aClient *sptr, int parc, char *parv[]);
/* Place includes here */
#define MSG_WHOIS      "WHOIS" /* WHOI */
#define TOK_WHOIS      "#"    /* 35 */
ModuleHeader MOD_HEADER(m_whois)
  = {
    "whois",    /* Name of module */
    "$Id: m_whois.c,v 1.1.2.30.2.10 2007/01/22 12:36:51 syzop Exp $", /* Version */
    "command /whois", /* Short description of module */
    "3.2-b8-1",
    NULL
    };
/* This is called on module init, before Server Ready */
DLLFUNC int MOD_INIT(m_whois)(ModuleInfo *modinfo)
{
    /*
    * We call our add_Command crap here
    */
    add_Command(MSG_WHOIS, TOK_WHOIS, m_whois, MAXPARA);
    MARK_AS_OFFICIAL_MODULE(modinfo);
    return MOD_SUCCESS;
}
/* Is first run when server is 100% ready */
DLLFUNC int MOD_LOAD(m_whois)(int module_load)
{
    return MOD_SUCCESS;
}
/* Called when module is unloaded */
DLLFUNC int MOD_UNLOAD(m_whois)(int module_unload)
{
    if (del_Command(MSG_WHOIS, TOK_WHOIS, m_whois) < 0)
    {
        sendto_realops("Failed to delete commands when unloading %s",
                MOD_HEADER(m_whois).name);
    }
    return MOD_SUCCESS;
}

/*
** m_whois
**    parv[0] = sender prefix
**    parv[1] = nickname masklist
*/
DLLFUNC int  m_whois(aClient *cptr, aClient *sptr, int parc, char *parv[])
{
    Membership *lp;
    anUser *user;
    aClient *acptr, *a2cptr;
    aChannel *chptr;
    char *nick, *tmp, *name;
    char *p = NULL;
    int  found, len, mlen, cnt = 0;
    char querybuf[BUFSIZE];
    if (IsServer(sptr))   
        return 0;
    if (parc < 2)
    {
        sendto_one(sptr, err_str(ERR_NONICKNAMEGIVEN),
            me.name, parv[0]);
        return 0;
    }
    if (parc > 2)
    {
        if (hunt_server_token(cptr, sptr, MSG_WHOIS, TOK_WHOIS, "%s :%s", 1, parc,
            parv) != HUNTED_ISME)
            return 0;
        parv[1] = parv[2];
    }
    strcpy(querybuf, parv[1]);
    for (tmp = canonize(parv[1]); (nick = strtoken(&p, tmp, ",")); tmp = NULL)
    {
        unsigned char invis, showchannel, member, wilds, hideoper; /* <- these are all boolean-alike */
        if (++cnt > MAXTARGETS)
            break;
        found = 0;
        /* We do not support "WHOIS *" */
        wilds = (index(nick, '?') || index(nick, '*'));
        if (wilds)
            continue;
        if ((acptr = find_client(nick, NULL)))
        {
            if (IsServer(acptr))
                continue;
            /*
            * I'm always last :-) and acptr->next == NULL!!
            */
            if (IsMe(acptr))
                break;
            /*
            * 'Rules' established for sending a WHOIS reply:
            * - only send replies about common or public channels
            *  the target user(s) are on;
            */
            if (!IsPerson(acptr))
                continue;
            user = acptr->user;
            name = (!*acptr->name) ? "?" : acptr->name;
            invis = acptr != sptr && IsInvisible(acptr);
            member = (user->channel) ? 1 : 0;
            a2cptr = find_server_quick(user->server);
            hideoper = 0;
            if (IsHideOper(acptr) && (acptr != sptr) && !IsAnOper(sptr))
                hideoper = 1;
            if (IsWhois(acptr) && (sptr != acptr))
            {
                sendto_one(acptr,
                    ":%s %s %s :*** %s (%s@%s) did a /whois on you.",
                    me.name, IsWebTV(acptr) ? "PRIVMSG" : "NOTICE", acptr->name, sptr->name,
                    sptr->user->username, sptr->user->realhost);
            }
            sendto_one(sptr, rpl_str(RPL_WHOISUSER), me.name,
                parv[0], name,
                user->username,
                IsHidden(acptr) ? user->virthost : user->realhost,
                acptr->info);
            if (IsOper(sptr))
            {
                char sno[512];
                strcpy(sno, get_sno_str(acptr));
               
                /* send the target user's modes */
                sendto_one(sptr, rpl_str(RPL_WHOISMODES),
                    me.name, parv[0], name,
                    get_mode_str(acptr), sno[1] == 0 ? "" : sno);
            }
            if ((acptr == sptr) || IsAnOper(sptr))
            {
                sendto_one(sptr, rpl_str(RPL_WHOISHOST),
                    me.name, parv[0], acptr->name,
                    (MyConnect(acptr) && strcmp(acptr->username, "unknown")) ? acptr->username : "*",
                    user->realhost, user->ip_str ? user->ip_str : "");
            }
            if (IsARegNick(acptr))
                sendto_one(sptr, rpl_str(RPL_WHOISREGNICK), me.name, parv[0], name);
           
            found = 1;
            mlen = strlen(me.name) + strlen(parv[0]) + 10 + strlen(name);
            for (len = 0, *buf = '\0', lp = user->channel; lp; lp = lp->next)
            {
                chptr = lp->chptr;
                showchannel = 0;
                if (ShowChannel(sptr, chptr))
                    showchannel = 1;
                if (OPCanSeeSecret(sptr))
                    showchannel = 1;
                if ((acptr->umodes & UMODE_HIDEWHOIS) && !IsMember(sptr, chptr) && !IsAnOper(sptr))
                    showchannel = 0;
                if (IsServices(acptr) && !IsNetAdmin(sptr) && !IsSAdmin(sptr))
                    showchannel = 0;
                if (acptr == sptr)
                    showchannel = 1;
                /* Hey, if you are editting here... don't forget to change the webtv w_whois ;p. */
                if (showchannel)
                {
                    long access;
                    if (len + strlen(chptr->chname) > (size_t)BUFSIZE - 4 - mlen)
                    {
                        sendto_one(sptr,
                            ":%s %d %s %s :%s",
                            me.name,
                            RPL_WHOISCHANNELS,
                            parv[0], name, buf);
                        *buf = '\0';
                        len = 0;
                    }
#ifdef SHOW_SECRET
                    if (IsAnOper(sptr)
#else
                    if (IsNetAdmin(sptr)
#endif
                        && SecretChannel(chptr) && !IsMember(sptr, chptr))
                        *(buf + len++) = '?';
                    if (acptr->umodes & UMODE_HIDEWHOIS && !IsMember(sptr, chptr)
                        && IsAnOper(sptr))
                        *(buf + len++) = '!';
                    access = get_access(acptr, chptr);
#ifdef PREFIX_AQ
                    if (access & CHFL_CHANOWNER)
                        *(buf + len++) = '~';
                    else if (access & CHFL_CHANPROT)
                        *(buf + len++) = '&';
                    else
#endif
                    if (access & CHFL_CHANOP)
                        *(buf + len++) = '@';
                    else if (access & CHFL_HALFOP)
                        *(buf + len++) = '%';
                    else if (access & CHFL_VOICE)
                        *(buf + len++) = '+';
                    if (len)
                        *(buf + len) = '\0';
                    (void)strcpy(buf + len, chptr->chname);
                    len += strlen(chptr->chname);
                    (void)strcat(buf + len, " ");
                    len++;
                }
            }
            if (buf[0] != '\0')
                sendto_one(sptr, rpl_str(RPL_WHOISCHANNELS), me.name, parv[0], name, buf);
                        if (!(IsULine(acptr) && !IsOper(sptr) && HIDE_ULINES))
                sendto_one(sptr, rpl_str(RPL_WHOISSERVER),
                    me.name, parv[0], name, user->server,
                    a2cptr ? a2cptr->info : "*Not On This Net*");
            if (user->away)
                sendto_one(sptr, rpl_str(RPL_AWAY), me.name,
                    parv[0], name, user->away);
            /* makesure they aren't +H (we'll also check
              before we display a helpop or IRCD Coder msg)
              -- codemastr */
            if ((IsAnOper(acptr) || IsServices(acptr)) && !hideoper)
            {
                buf[0] = '\0';
                if (IsNetAdmin(acptr))
                    strlcat(buf, "Ağ Yoneticisi", sizeof buf);
                else if (IsSAdmin(acptr))
                    strlcat(buf, "Kanal ve Nick Sorumlusu", sizeof buf);
                else if (IsAdmin(acptr) && !IsCoAdmin(acptr))
                    strlcat(buf, "Server Yoneticisi", sizeof buf);
                else if (IsCoAdmin(acptr))
                    strlcat(buf, "TEKNiK Yönetici", sizeof buf);
                else if (IsServices(acptr))
                    strlcat(buf, "Services Bot", sizeof buf);
                else if (IsOper(acptr))
                    strlcat(buf, "IRCd Operator", sizeof buf);
                else
                    strlcat(buf, "a Yardımcı Operator", sizeof buf);
                if (buf[0])
                    sendto_one(sptr,
                        rpl_str(RPL_WHOISOPERATOR), me.name,
                        parv[0], name, buf);
            }
            if (IsHelpOp(acptr) && !hideoper && !user->away)
                sendto_one(sptr, rpl_str(RPL_WHOISHELPOP), me.name, parv[0], name);
            if (acptr->umodes & UMODE_BOT)
                sendto_one(sptr, rpl_str(RPL_WHOISBOT), me.name, parv[0], name, ircnetwork);
            if (acptr->umodes & UMODE_SECURE)
                sendto_one(sptr, rpl_str(RPL_WHOISSECURE), me.name, parv[0], name,
                    "is using a Secure Connection");
            if (!BadPtr(user->swhois) && !hideoper)
                    sendto_one(sptr, ":%s %d %s %s :%s",
                        me.name, RPL_WHOISSPECIAL, parv[0],
                        name, acptr->user->swhois);
            /*
* Fix /whois to not show idle times of
* global opers to anyone except another
* global oper or services.
* -CodeM/Barubary
*/
if (IsAnOper(sptr)) {
if (MyConnect(acptr))
sendto_one(sptr, rpl_str(RPL_WHOISIDLE),
me.name, parv[0], name,
TStime() - acptr->last, acptr->firsttime);
}
}
if (!found)
sendto_one(sptr, err_str(ERR_NOSUCHNICK),
me.name, parv[0], nick);
if (p)
p[-1] = ',';
}
sendto_one(sptr, rpl_str(RPL_ENDOFWHOIS), me.name, parv[0], parv[1]);
return 0;
}

Bunu notepada koyup adını m_whois.c olarak değiip ftp den unreal3.2x src/modules içine girip m_whois.c yi silip at telnettenden make ve rehash cek

kinGdEviL` 12 Şubat 2009 12:59

Cevap: Yardım?
 
Eyvallah o olduda ircops'da netword admin yazıyor (=

toXic 12 Şubat 2009 13:31

Cevap: Yardım?
 
ircops'u modul olarak kur

* Adres: [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
* İsim: .@
toXic is connecting from [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] NetworkAdministrator.Kelebek.Gen.TR
* Rumuz Bilgi: toXic Sifreli ve Tanitilmis Bir Nicktir
* Kanallar: @#KELEBEK #opers
* Server: irc.kelebek.gen.tr KELEBEK IRC Network
* IRCop: toXic is a Ağ sorumlusu
* toXic Bir Helper(IRC YardImcI) dır.
toXic Teknik Sorumlu
* Konuşmadığı Süre: 21Saniye
* Sunucuya Giriş Saati: Perşembe Şubat 12 12:09:46 2009
««««« [ Whois Sonu ] »»»»»

toXic is a Ağ Sorumlusu on irc3.kelebek.gen.tr

hiç bi sorun yok :)

kinGdEviL` 12 Şubat 2009 14:29

Cevap: Yardım?
 
o tamamdır'da /ircops yazınca Network admin yazıyor(=

toXic 12 Şubat 2009 15:42

Cevap: Yardım?
 
m_ircops.c modulunu verdiğim modulu kur modulde hiç bi sorun yok calıstı bende :)

kinGdEviL` 13 Şubat 2009 15:52

Cevap: Yardım?
 
Aynısını ekledim Sunucuya girişler kapandı dostum ? ve şöyle hata veriyor

/usr/bin/install -m 0700 -d /home/ircking/Unreal3.2
/usr/bin/install -m 0700 src/ircd /home/ircking/Unreal3.2/src/ircd
/usr/bin/install: `src/ircd' and `/home/ircking/Unreal3.2/src/ircd' are the same file
make: *** [install] Error 1
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] [~/Unreal3.2]# ./unreal restart
Restarting UnrealIRCd
./unreal: line 32: kill: (5353) - No such process


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 11:39.

Powered by vBulletin® Version 3.8.8 Beta 3
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2024 IRCForumlari.Net