RuLzzServices-0.6 Kurulumu

Aytac

nicktag
Yönetici
Developer
Katılım
4 Şub 2020
Mesajlar
395
Tepkime puanı
144
Puanları
43
Konum
ircland
Web sitesi
www.ircalem.net
1. Halindeki gereksiz kodlamalar ve kurucuyu kurulum esnasinda yoran gereksiz seyler cıkarıldı. Kurulumuda oldukca basittir. Kodlama esnasında MÜKEMMELLİYETCİLİĞE Önem verildi. Tamamen kullanicilar icin hazirlandi. Bunlar disinda IRCAdminlerin Daha fazla bilgi sahibi olmasi icin kodlar yazildi, sistemler gelistirildi..
İlk version'u alelacele cıkardıgım icin gereksiz seyler cok oldu, gereksizden kastım görsellik acisisindan cok eski seylerin kalmis olmasi örneğin helper hostlarinda kelebek.gen.tr vs. gibi sunucuadlari yaziyordu ve bunlarin silinmeside baya bir zahmetli işti. Hatta daha önce kodlardan adim silinirken bunlar bahane olarak verildi. Fakat bu versionda SUNUCUADI "toXic.NET" olarak belirttim. Sadece 3 dosyada toxic.net'i kendinize göre değişeceksiniz. Yani; toXic.NET'e kendi sunucunuzu yazacaksiniz. Bunlari kurulum esnasında açıklayacağim.  Rulzz'daki değişimler (Özellikle Coder kismi ) benim BÜYÜKLÜĞÜMÜ Gösterir, Bu işi yapan çok kişi yok, bu işleri yapan 2-3 kişi var. Eğer olurda birakirsak varin halinizi bir düşünün. Bu yüzden orda adinizin yazmasinin veya benim adimin yazmasinin bir önemi yok benim adimin yazmasinin sebebi kodlayan adamın ben oldugumu gösteriyor. Eğer adinizin biryerlerde yazmasini istiyorsaniz öncelikle ADAM olucaksiniz. Adamlik orda burda baskalarinin adlarini silip kendi adinizi yazmakla olmaz.
RuLzZ bir ircervices + extra eklentisidir.

Gelelim neler var..

Özellikleri /Services BILGI Komutu ile listeleyebileceksiniz.



nickserv  --  bilgi
© NickServ Merhaba, toXic
© NickServ toXic tarafindan yazilip gelistirilmistir..
© NickServ IRCServices 63 versiyonu ustunden yazilmistir..
© NickServ RuLzzServices-0.6
© NickServ ------------------
© NickServ
© NickServ  1-> /NS Set vhost vhostunuz Komutu ile vhost secebilirsiniz.
© NickServ  2-> Vhost listesine /NS VHostlist Komutu ile bakabilirsiniz.
© NickServ  3-> /NS Profilinfo Komutunu kullanarak profil bilgilerinizi girebilirsiniz.
© NickServ  4-> Bir kanalda yetkiliyseniz kanali temizlemek icin, /CS Temizle #KANAL Komutunu kullanabilirsiniz.
© NickServ  5-> Sansinizi denemek icin, /NS Sans Komutunu kullaniniz.
© NickServ  6-> Dunya saatlerini takip etmek icin, /NS Yerelsaat Komutunu kullaniniz.
© NickServ  7-> Size INFO Cekilmesinonlemek icin, /NS Set PRIVATE ON Komutukullaniniz.
© NickServ  8-> Adminseniz, operlerin suspend atilmasini istedigi nickleri /NS Suspendlist Komutu ile gorebilirsiniz.
© NickServ  9-> Istek icin /NS istek isteginiz, Sikayeyet icin, /NS Sikayet sikayetiniz, Onerileriniz icin, /NS Oneri oneriniz Komutunu kullanabilirsiniz.
© NickServ  10-> Istekleri gormek icin, /NS Istekler, Sikayetleri gormek icin, /NS sikayetler, Onerileri gormek icin, /NS Oneriler Komutunu kullaniniz. (Adminler icin)
© NickServ  11-> /NS SET DURUM Durumunuz Komutu ile durumunuz ile ilgili birseyler yazabilirsiniz.
© NickServ  12-> /NS Durum Nick Komutu ile kendinizin veya arkadaslarinizin durumlarini gorebilirsiniz.
© NickServ  13-> Arkadaslarinizin puanlarini gormek icin, /NS Points NICK Komutunu kullaniniz.
© NickServ  14-> Arkadaslarinizin bilgisini gormek istiyorsaniz, /NS Check NICK komutunu uygulayiniz.
© NickServ  15-> Adminler, /CS CHANINFO ve /NS NICKINFO komutu ile nick ve kanallarda kullanilan Oper/Admin komutlarini takip edebilirler.
© NickServ  16-> Adminler, /OS Accrapor komutu ile Oper/Admin statusunde eklenen/silinen acceleri kontrol edebilirler.
© NickServ  17-> Diger kucuk kodlamalar, bu bolume eklenmemistir.
© NickServ  18-> Yapimci bilgilerini gormek icin, /NS toXic Komutunu kullaniniz.
© NickServ
© NickServ ------------------

Profil Komutu;

nickserv  --  profil
© NickServ --
© NickServ Merhaba, ( toXic )
© NickServ Whoislerinizde, bilgilerinizi Size whois ceken kisilere gosterebilir,
© NickServ Onlara kendinizi  Bu sekilde Kisaca anlatabilirsiniz..
© NickServ --
© NickServ  /Ns Set Yas yas Komutu ile yasinizi Belirtebilirsiniz..
© NickServ Sadece Rakam Kullanabilirsiniz..
© NickServ --
© NickServ  /Ns Set burc Burc Komutu ile burcunuzu belirtebilirsiniz..
© NickServ Sadece Tarafimizdan belirtilen burclari kullanabilirsiniz..
© NickServ Burclari  /NS Burclar  Komutu ile listeleyebilirsiniz..
© NickServ --
© NickServ  /Ns Set Sehir sehir Komutu ile Sehrinizi belirtebilirsiniz..
© NickServ Sadece tarafimizdan belirtilen sehirleri kullanabilirsiniz..
© NickServ Sehirleri,  /NS Sehirler Komutu ile listelebilirsiniz..
© NickServ --
© NickServ /NS Set Takim takim Komutu ile, Takiminizi belirtebilirsiniz..
© NickServ Sadece tarafimizdan belirtilen sehirleri kullanabilirsiniz..
© NickServ Takimlari'da, /NS Takimlar Komutu ile listeleyebilirsiniz..
© NickServ --
© NickServ /NS Set FACEBOOK FaceAdresiniz Komutu ile, facebook adresini gosterebilirsiniz.
© NickServ --
© NickServ /NS Set Durum Durumunuzu paylasin. Komutu ile, Durum bilginizi girebilirsiniz.
© NickServ

UnrealIRCd ye eklenmesi gereken kodlar ise;
Kod:
cd Unreal*
Kod:
cd src/include
Kod:
pico msg.h
girip
Kod:
#define MSG_SWHOIS      "SWHOIS"
#define TOK_SWHOIS      "BA"
satiri altina;
Kod:
#define MSG_SWHOIS2      "SWHOIS2"
#define TOK_SWHOIS2      "IB"
#define MSG_SWHOIS3      "SWHOIS3"
#define TOK_SWHOIS3      "YY"
#define MSG_SWHOIS4      "SWHOIS4"
#define TOK_SWHOIS4      "TT"
#define MSG_SWHOIS5      "SWHOIS5"
#define TOK_SWHOIS5      "PP"
#define MSG_SWHOIS6      "SWHOIS6"
#define TOK_SWHOIS6     "YY"
#define MSG_SWHOIS7      "SWHOIS7"
#define TOK_SWHOIS7     "XX"
#define MSG_SWHOIS8      "SWHOIS8"
#define TOK_SWHOIS8     "NN"
#define MSG_SWHOIS9      "SWHOIS9"
#define TOK_SWHOIS9     "JJ"
#define MSG_SWHOIS10    "SWHOIS10"
#define TOK_SWHOIS10     "SS"
ekleyin.

Sonra
Kod:
pico struct.h
dosyasina girip;
Kod:
char *swhois;
altina;
Kod:
char *swhois2;
char *swhois3;
char *swhois4;
char *swhois5;
char *swhois6;
char *swhois7;
char *swhois8;
char *swhois9;
char *swhois10;
ekleyin..

Kod:
char             *name, *swhois, *snomask;
satirini;
Kod:
   char             *name, *swhois, *swhois2, *swhois3, *swhois4, *swhois5, *swhois6, *swhois7, *swhois8, *swhois9,
*swhois10, *snomask;
olarak degisin..
Kod:
    char            *login, *virthost, *virtuser, *swhois
;
satirini
Kod:
char            *login, *virthost, *virtuser, *swhois,
*swhois2, *swhois3, *swhois4, *swhois5, *swhois6, *swhois7, *swhois8, *swhois9, *swhois10;
olarak degisin..
Kod:
cd
Kod:
cd Unreal3.2*
Kod:
pico -w src/modules/m_whois.c
girip
Kod:
   if (!BadPtr(user->swhois) && !hideoper)
                                        sendto_one(sptr, ":%s %d %s %s :%s",
                                            me.name, RPL_WHOISSPECIAL, parv[0],
                                            name, acptr->user->swhois);
altina;

Kod:
 if (!BadPtr(user->swhois2) && !hideoper)
                                        sendto_one(sptr, ":%s %d %s %s :%s",
                                            me.name, RPL_WHOISSPECIAL, parv[0],
                                            name, acptr->user->swhois2);
 if (!BadPtr(user->swhois3) && !hideoper)
                                        sendto_one(sptr, ":%s %d %s %s :%s",
                                            me.name, RPL_WHOISSPECIAL, parv[0],
                                            name, acptr->user->swhois3);
 if (!BadPtr(user->swhois4) && !hideoper)
                                        sendto_one(sptr, ":%s %d %s %s :%s",
                                            me.name, RPL_WHOISSPECIAL, parv[0],
                                            name, acptr->user->swhois4);
 if (!BadPtr(user->swhois5) && !hideoper)
                                        sendto_one(sptr, ":%s %d %s %s :%s",
                                            me.name, RPL_WHOISSPECIAL, parv[0],
                                            name, acptr->user->swhois5);
 if (!BadPtr(user->swhois6) && !hideoper)
                                        sendto_one(sptr, ":%s %d %s %s :%s",
                                            me.name, RPL_WHOISSPECIAL, parv[0],
                                            name, acptr->user->swhois6);
 if (!BadPtr(user->swhois7) && !hideoper)
                                        sendto_one(sptr, ":%s %d %s %s :%s",
                                            me.name, RPL_WHOISSPECIAL, parv[0],
                                            name, acptr->user->swhois7);
if (!BadPtr(user->swhois8) && !hideoper)
                                        sendto_one(sptr, ":%s %d %s %s :%s",
                                            me.name, RPL_WHOISSPECIAL, parv[0],
                                            name, acptr->user->swhois8);
if (!BadPtr(user->swhois9) && !hideoper)
                                        sendto_one(sptr, ":%s %d %s %s :%s",
                                            me.name, RPL_WHOISSPECIAL, parv[0],
                                            name, acptr->user->swhois9);
if (!BadPtr(user->swhois10) && !hideoper)
                                        sendto_one(sptr, ":%s %d %s %s :%s",
                                            me.name, RPL_WHOISSPECIAL, parv[0],
                                            name, acptr->user->swhois10);
ekleyin ve make cekin..





Modul en alttadir.

NOT: Bu işlemden sonra sunucunuz 1 kere resetlenebilir ama önemli bir durum olmaz (include dosyalarina ekleme yaptiğiniz icin..)

Services Kurulum;

-----------------------------------------------

Kod:
tar zxvf RuLzzServices-0.6.tar.gz

cd RuLz*

./configure

make&&make install

langcomp.c:118: error: conflicting types for âgetlineâ

Kurulumda yukaridaki gibi gibi hata alırsanız aşagıdaki komutu ana dizinde yazınız.

PHP:
sed -i -e "s/getline/get_line/" RuLzzServices-0.6/lang/langcomp.c


-----------------------------------------------


kurduktan sonra tek düzenlemeniz gereken yer ise,

Kod:
modules/nickserv/main.c
modules/nickserv/set.c
modules/chanserv/check.c
dosyalarinda

#define SUNUCU "toXic.NET"

bölümüdür. toXic.NET yerine kendi sunucunuzu yazip make&&make install cekin. Kurulum tamamlanacaktir. Baska hicbirsey yapmaniza gerek yok Rulzz icerisinde değiştirmenizi gerektirecek. Adim silinirse sistem tarafindan dbler bir süre sonra otomatikmen kendisini silecektir.

NOT2: #OperLog kanalini kaydedin. Services loglari anlik olarak oraya yansiyacaktir.


Coklu SWHOIS ICIN MODUL

(Modulu ve eklemeleri yaptiktan sonra sunucunuzu resetleyiniz.)

m.cswhois.c modülü;

Kod:
/*
 *   IRC - Internet Relay Chat, src/modules/m_swhois.c
 *   (C) 2001 The UnrealIRCd Team
 *
 *   SWHOIS command
 *
 *   See file AUTHORS in IRC package for additional names of
 *   the programmers.
 *
 *   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 1, 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.
 */
#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

DLLFUNC int m_swhois2(aClient *cptr, aClient *sptr, int parc, char *parv[]);
DLLFUNC int m_swhois3(aClient *cptr, aClient *sptr, int parc, char *parv[]);
DLLFUNC int m_swhois4(aClient *cptr, aClient *sptr, int parc, char *parv[]);
DLLFUNC int m_swhois5(aClient *cptr, aClient *sptr, int parc, char *parv[]);
DLLFUNC int m_swhois6(aClient *cptr, aClient *sptr, int parc, char *parv[]);
DLLFUNC int m_swhois7(aClient *cptr, aClient *sptr, int parc, char *parv[]);
DLLFUNC int m_swhois8(aClient *cptr, aClient *sptr, int parc, char *parv[]);
DLLFUNC int m_swhois9(aClient *cptr, aClient *sptr, int parc, char *parv[]);
DLLFUNC int m_swhois10(aClient *cptr, aClient *sptr, int parc, char *parv[]);


#define MSG_SWHOIS2 	"SWHOIS2"	
#define TOK_SWHOIS2 	"IB"	
#define MSG_SWHOIS3 	"SWHOIS3"	
#define TOK_SWHOIS3 	"YY"
#define MSG_SWHOIS4 	"SWHOIS4"	
#define TOK_SWHOIS4 	"TT"	
#define MSG_SWHOIS5 	"SWHOIS5"	
#define TOK_SWHOIS5 	"PP"
#define MSG_SWHOIS6 	"SWHOIS6"	
#define TOK_SWHOIS6 	"YY"	
#define MSG_SWHOIS7 	"SWHOIS7"	
#define TOK_SWHOIS7 	"XX"	
#define MSG_SWHOIS8      "SWHOIS8"
#define TOK_SWHOIS8     "NN"
#define MSG_SWHOIS9      "SWHOIS9"
#define TOK_SWHOIS9     "JJ"
#define MSG_SWHOIS10    "SWHOIS10"
#define TOK_SWHOIS10     "SS"



ModuleHeader MOD_HEADER(m_swhois2)
  = {
	"m_cswhois.c",
	"whois sistemi.",
	"Coklu swhois toXic", 
	"3.2-b8-1",
	NULL 
    };

DLLFUNC int MOD_INIT(m_swhois2)(ModuleInfo *modinfo)
{
	add_Command(MSG_SWHOIS2, TOK_SWHOIS2, m_swhois2, MAXPARA);
        add_Command(MSG_SWHOIS3, TOK_SWHOIS3, m_swhois3, MAXPARA);
   	add_Command(MSG_SWHOIS4, TOK_SWHOIS4, m_swhois4, MAXPARA);
        add_Command(MSG_SWHOIS5, TOK_SWHOIS5, m_swhois5, MAXPARA);
        add_Command(MSG_SWHOIS6, TOK_SWHOIS6, m_swhois6, MAXPARA);
	add_Command(MSG_SWHOIS7, TOK_SWHOIS7, m_swhois7, MAXPARA);
	add_Command(MSG_SWHOIS8, TOK_SWHOIS8, m_swhois8, MAXPARA);
	add_Command(MSG_SWHOIS9, TOK_SWHOIS9, m_swhois9, MAXPARA);
	add_Command(MSG_SWHOIS10, TOK_SWHOIS10, m_swhois10, MAXPARA);
	MARK_AS_OFFICIAL_MODULE(modinfo);
	return MOD_SUCCESS;
}

DLLFUNC int MOD_LOAD(m_swhois2)(int module_load)
{
	return MOD_SUCCESS;
}

DLLFUNC int MOD_UNLOAD(m_swhois2)(int module_unload)
{
	if (del_Command(MSG_SWHOIS2, TOK_SWHOIS2, m_swhois2) < 0)
	{
		sendto_realops("Failed to delete commands when unloading %s",
				MOD_HEADER(m_swhois).name);
	}
	return MOD_SUCCESS;
}
/*
 * m_swhois
 * parv[1] = nickname
 * parv[2] = new swhois
 *
*/

int m_swhois2(aClient *cptr, aClient *sptr, int parc, char *parv[])
{
        aClient *acptr;

        if (!(IsServer(sptr) || IsULine(sptr)))
                return 0;
        if (parc < 3)
                return 0;
        acptr = find_person(parv[1], (aClient *)NULL);
        if (!acptr)
                return 0;

        if (acptr->user->swhois2)
                MyFree(acptr->user->swhois2);
        acptr->user->swhois2 = MyMalloc(strlen(parv[2]) + 1);
        strcpy(acptr->user->swhois2, parv[2]);
        sendto_serv_butone_token(cptr, sptr->name,
           MSG_SWHOIS2, TOK_SWHOIS2, "%s :%s", parv[1], parv[2]);
        return 0;
}



int m_swhois3(aClient *cptr, aClient *sptr, int parc, char *parv[])
{
        aClient *acptr;

        if (!(IsServer(sptr) || IsULine(sptr)))
                return 0;
        if (parc < 3)
                return 0;
        acptr = find_person(parv[1], (aClient *)NULL);
        if (!acptr)
                return 0;

        if (acptr->user->swhois3)
                MyFree(acptr->user->swhois3);
        acptr->user->swhois3 = MyMalloc(strlen(parv[2]) + 1);
        strcpy(acptr->user->swhois3, parv[2]);
        sendto_serv_butone_token(cptr, sptr->name,
           MSG_SWHOIS3, TOK_SWHOIS3, "%s :%s", parv[1], parv[2]);
        return 0;
}

int m_swhois4(aClient *cptr, aClient *sptr, int parc, char *parv[])
{
        aClient *acptr;

        if (!(IsServer(sptr) || IsULine(sptr)))
                return 0;
        if (parc < 3)
                return 0;
        acptr = find_person(parv[1], (aClient *)NULL);
        if (!acptr)
                return 0;

        if (acptr->user->swhois4)
                MyFree(acptr->user->swhois4);
        acptr->user->swhois4 = MyMalloc(strlen(parv[2]) + 1);
        strcpy(acptr->user->swhois4, parv[2]);
        sendto_serv_butone_token(cptr, sptr->name,
           MSG_SWHOIS4 TOK_SWHOIS4, "%s :%s", parv[1], parv[2]);
        return 0;
}


int m_swhois5(aClient *cptr, aClient *sptr, int parc, char *parv[])
{
        aClient *acptr;

        if (!(IsServer(sptr) || IsULine(sptr)))
                return 0;
        if (parc < 3)
                return 0;
        acptr = find_person(parv[1], (aClient *)NULL);
        if (!acptr)
                return 0;

        if (acptr->user->swhois5)
                MyFree(acptr->user->swhois5);
        acptr->user->swhois5 = MyMalloc(strlen(parv[2]) + 1);
        strcpy(acptr->user->swhois5, parv[2]);
        sendto_serv_butone_token(cptr, sptr->name,
           MSG_SWHOIS5 TOK_SWHOIS5, "%s :%s", parv[1], parv[2]);
        return 0;
}


int m_swhois6(aClient *cptr, aClient *sptr, int parc, char *parv[])
{
        aClient *acptr;

        if (!(IsServer(sptr) || IsULine(sptr)))
                return 0;
        if (parc < 3)
                return 0;
        acptr = find_person(parv[1], (aClient *)NULL);
        if (!acptr)
                return 0;

        if (acptr->user->swhois6)
                MyFree(acptr->user->swhois6);
        acptr->user->swhois6 = MyMalloc(strlen(parv[2]) + 1);
        strcpy(acptr->user->swhois6, parv[2]);
        sendto_serv_butone_token(cptr, sptr->name,
           MSG_SWHOIS6 TOK_SWHOIS6, "%s :%s", parv[1], parv[2]);
        return 0;
}


int m_swhois7(aClient *cptr, aClient *sptr, int parc, char *parv[])
{
        aClient *acptr;

        if (!(IsServer(sptr) || IsULine(sptr)))
                return 0;
        if (parc < 3)
                return 0;
        acptr = find_person(parv[1], (aClient *)NULL);
        if (!acptr)
                return 0;

        if (acptr->user->swhois7)
                MyFree(acptr->user->swhois7);
        acptr->user->swhois7 = MyMalloc(strlen(parv[2]) + 1);
        strcpy(acptr->user->swhois7, parv[2]);
        sendto_serv_butone_token(cptr, sptr->name,
           MSG_SWHOIS7 TOK_SWHOIS7, "%s :%s", parv[1], parv[2]);
        return 0;
}

int m_swhois8(aClient *cptr, aClient *sptr, int parc, char *parv[])
{
        aClient *acptr;

        if (!(IsServer(sptr) || IsULine(sptr)))
                return 0;
        if (parc < 3)
                return 0;
        acptr = find_person(parv[1], (aClient *)NULL);
        if (!acptr)
                return 0;

        if (acptr->user->swhois8)
                MyFree(acptr->user->swhois8);
        acptr->user->swhois8 = MyMalloc(strlen(parv[2]) + 1);
        strcpy(acptr->user->swhois8, parv[2]);
        sendto_serv_butone_token(cptr, sptr->name,
           MSG_SWHOIS8 TOK_SWHOIS8, "%s :%s", parv[1], parv[2]);
        return 0;
}


int m_swhois9(aClient *cptr, aClient *sptr, int parc, char *parv[])
{
        aClient *acptr;

        if (!(IsServer(sptr) || IsULine(sptr)))
                return 0;
        if (parc < 3)
                return 0;
        acptr = find_person(parv[1], (aClient *)NULL);
        if (!acptr)
                return 0;

        if (acptr->user->swhois9)
                MyFree(acptr->user->swhois9);
        acptr->user->swhois9 = MyMalloc(strlen(parv[2]) + 1);
        strcpy(acptr->user->swhois9, parv[2]);
        sendto_serv_butone_token(cptr, sptr->name,
           MSG_SWHOIS9 TOK_SWHOIS9, "%s :%s", parv[1], parv[2]);
        return 0;
}

int m_swhois10(aClient *cptr, aClient *sptr, int parc, char *parv[])
{
        aClient *acptr;

        if (!(IsServer(sptr) || IsULine(sptr)))
                return 0;
        if (parc < 3)
                return 0;
        acptr = find_person(parv[1], (aClient *)NULL);
        if (!acptr)
                return 0;

        if (acptr->user->swhois10)
                MyFree(acptr->user->swhois10);
        acptr->user->swhois10 = MyMalloc(strlen(parv[2]) + 1);
        strcpy(acptr->user->swhois10, parv[2]);
        sendto_serv_butone_token(cptr, sptr->name,
           MSG_SWHOIS10 TOK_SWHOIS10, "%s :%s", parv[1], parv[2]);
        return 0;
}
 
Geri
Üst