Merhaba arkadaşlar,
Öncelikle bu düzenlemeyi kullanacak kişi veya kişilerin
IRCd yedeğini almalarını ön görüyorum. Bu tarz düzenlemelerde en ufak hata
UnrealIRCd'in bozulmasına sebep olabiliyor. Bu nedenlede yedek almanız sizin açınızdan çok daha iyi olacaktır.
Yapacağımız işlem başlıktanda anlaşıldığı üzere,
Founder sembolünü (
.) nokta olarak değiştirmek. Ancak, ben son versiyonları kullandığımdan dolayı anlatımım tamamen son versiyonlara nazaran olacaktır..
• Klasör:
-> Unreal3.2/src/
• Dosya:
-> (
api-isupport.c)
BULUN,
Kod:
#ifdef PREFIX_AQ
IsupportAdd(NULL, "STATUSMSG", "~&@%+");
DEGISTIRIN,
Kod:
#ifdef PREFIX_AQ
IsupportAdd(NULL, "STATUSMSG", ".&@%+");
• Klasör:
-> Unreal3.2/include/
• Dosya:
-> (
common.h)
BULUN,
Kod:
#ifdef PREFIX_AQ
#define CHPFIX "(qaohv)~&@%+"
DEGISTIRIN
Kod:
#ifdef PREFIX_AQ
#define CHPFIX "(qaohv).&@%+"
• Klasör:
-> Unreal3.2/src/modules/
• Dosya:
-> (
m_message.c)
BULUN,
Kod:
#ifdef PREFIX_AQ
#define PREFIX_REST (PREFIX_ADMIN|PREFIX_OWNER)
#else
#define PREFIX_REST (0)
#endif
switch (*pc)
{
case '+':
prefix |= PREFIX_VOICE | PREFIX_HALFOP | PREFIX_OP | PREFIX_REST;
break;
case '%':
prefix |= PREFIX_HALFOP | PREFIX_OP | PREFIX_REST;
break;
case '@':
prefix |= PREFIX_OP | PREFIX_REST;
break;
#ifdef PREFIX_AQ
case '&':
prefix |= PREFIX_ADMIN | PREFIX_OWNER;
break;
case '~':
prefix |= PREFIX_OWNER;
break;
#else
case '&':
prefix |= PREFIX_OP | PREFIX_REST;
break;
case '~':
prefix |= PREFIX_OP | PREFIX_REST;
break;
#endif
default:
break; /* ignore it :P */
DEGISTIRIN,
Kod:
#ifdef PREFIX_AQ
#define PREFIX_REST (PREFIX_ADMIN|PREFIX_OWNER)
#else
#define PREFIX_REST (0)
#endif
switch (*pc)
{
case '+':
prefix |= PREFIX_VOICE | PREFIX_HALFOP | PREFIX_OP | PREFIX_REST;
break;
case '%':
prefix |= PREFIX_HALFOP | PREFIX_OP | PREFIX_REST;
break;
case '@':
prefix |= PREFIX_OP | PREFIX_REST;
break;
#ifdef PREFIX_AQ
case '&':
prefix |= PREFIX_ADMIN | PREFIX_OWNER;
break;
case '.':
prefix |= PREFIX_OWNER;
break;
#else
case '&':
prefix |= PREFIX_OP | PREFIX_REST;
break;
case '.':
prefix |= PREFIX_OP | PREFIX_REST;
break;
#endif
default:
break; /* ignore it :P */
BULUN,
Kod:
#ifdef PREFIX_AQ
else if (prefix & PREFIX_ADMIN)
pfixchan[0] = '&';
else if (prefix & PREFIX_OWNER)
pfixchan[0] = '~';
#endif
else
DEGISTIRIN,
Kod:
#ifdef PREFIX_AQ
else if (prefix & PREFIX_ADMIN)
pfixchan[0] = '&';
else if (prefix & PREFIX_OWNER)
pfixchan[0] = '.';
#endif
else
• Klasör:
-> Unreal3.2/src/modules/
• Dosya:
-> (
m_names.c)
BULUN,
Kod:
/* Standard NAMES reply */
#ifdef PREFIX_AQ
if (cm->flags & CHFL_CHANOWNER)
buf[idx++] = '~';
else if (cm->flags & CHFL_CHANPROT)
buf[idx++] = '&';
else
DEGISTIRIN,
Kod:
/* Standard NAMES reply */
#ifdef PREFIX_AQ
if (cm->flags & CHFL_CHANOWNER)
buf[idx++] = '.';
else if (cm->flags & CHFL_CHANPROT)
buf[idx++] = '&';
else
BULUN,
Kod:
/* NAMES reply with all rights included (NAMESX) */
#ifdef PREFIX_AQ
if (cm->flags & CHFL_CHANOWNER)
buf[idx++] = '~';
if (cm->flags & CHFL_CHANPROT)
buf[idx++] = '&';
DEGISTIRIN,
Kod:
/* NAMES reply with all rights included (NAMESX) */
#ifdef PREFIX_AQ
if (cm->flags & CHFL_CHANOWNER)
buf[idx++] = '.';
if (cm->flags & CHFL_CHANPROT)
buf[idx++] = '&';
• Klasör:
-> Unreal3.2/src/modules/
• Dosya:
-> (
m_who.c)
BULUN,
Kod:
#ifdef PREFIX_AQ
if (cm->flags & CHFL_CHANOWNER)
status[i++] = '~';
else if (cm->flags & CHFL_CHANPROT)
status[i++] = '&';
else
DEGISTIRIN,
Kod:
#ifdef PREFIX_AQ
if (cm->flags & CHFL_CHANOWNER)
status[i++] = '.';
else if (cm->flags & CHFL_CHANPROT)
status[i++] = '&';
else
• Klasör:
-> Unreal3.2/src/modules/
• Dosya:
-> (
m_webtv.c)
BULUN,
Kod:
if (access & CHFL_CHANOWNER)
*(buf + len++) = '~';
else if (access & CHFL_CHANPROT)
*(buf + len++) = '&';
DEGISTIRIN,
Kod:
if (access & CHFL_CHANOWNER)
*(buf + len++) = '.';
else if (access & CHFL_CHANPROT)
*(buf + len++) = '&';
• Klasör:
-> Unreal3.2/src/modules/
• Dosya:
-> (
m_whois.c)
BULUN,
Kod:
if (access & CHFL_CHANOWNER)
*(buf + len++) = '~';
else if (access & CHFL_CHANPROT)
DEGISTIRIN,
Kod:
if (access & CHFL_CHANOWNER)
*(buf + len++) = '.';
else if (access & CHFL_CHANPROT)
Her şeyi eksiksiz yaptığınıza eminseniz, ilgili alanda öncelikli olarak
make clean çekin. Daha sonra da
./Config komutunu verin, en son olarakta
make komutunu uygulayıp, varolan
modüllerinizi de derledikten sonra sunucunuzu yeniden başlatın..
NOT: Bu düzenmeyi UnrealIRCd'in
3.2.10.1 versiyonunu kontrol ederek anlattım. Diğer versiyonlarda ilk satırlarımda söylediğim gibi, bir takım değişiklikler söz konusu olabiliyor. Kullanmış olduğunuz versiyonları dile getirirseniz. Neyin nerede olduğunu açık bir şekilde söyleyebilirim..