şimdi /Tanit kod komutunun kurulumunu anlatalım bu sky dancer in yaptığı bir uygulamadır anlatımı CoCo yo aittir alıntıdır
önce aşşağıda söylenen dosyaların yedeğini alın sonra işe başlayalım
cd Unreal3.2/include/config.h Açıyoruz
PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
#define CONNECTTIMEOUT 30 /* Recommended value: 60 */
Bunu bulup Şu şekilde deiştiriyoruz
PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
#define CONNECTTIMEOUT 60 /* Recommended value: 60 */
Amacımız Sunucuda girerken verilen kodun Kaç Süre içerisinde girilmediği an Bağlatınız Kopamasıdır.
cd Unreal3.2/include/msg.h Açıyoruz..
PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
#define TOK_INFOSERV "BO"
Bu Satırın Hemen Altına Altakı define i Ekliyoruz
PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
#define MSG_TANIT "TANIT"
#define TOK_TANIT "TNT1"
ekledikten sonra aynı dosyada şu kodu buluyoruz
PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
extern int m_users(), m_version();
extern int m_names();
HEMEN altına altıkını atıyoruz
PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
extern int m_tanit();
Kaydetip çıkıyoruz... sonra
cd Unreal3.2/include/struct.h Açıyoruz
PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
#define CONF_EXCEPT_BAN 1
#define CONF_EXCEPT_TKL 2
#define CONF_EXCEPT_THROTTLE 3
Hemen Altına Altakı Kodu Paste ediyoruz
PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
#define CONF_EXCEPT_TANIT 4
#define CONF_EXCEPT_TANITPORT 5
sonra yıne aynı dosyada şu kodu buluyoruz
PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
aClient *srvptr; /* Server introducing this. May be &me */
short status; /* client type */
hemen altına altakını paste ediniz fazla kurcalamayın lütfen bozarsınız
PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
int skyed;
int skytime;
int skypass;
int skycn;
int skyoncn;
int skyexcpt;
char skyparv0[1024];
char skyparv1[1024];
char skyparv2[1024];
char skyparv3[1024];
char skyparv4[1024];
sonra kaydet çıkın
cd Unreal3.2/src/ircd.c Açıyoruz
PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
/*
* We go into ping phase
*/
ping =
IsRegistered(cptr) ? (cptr->class ? cptr->
class->pingfreq : CONNECTTIMEOUT) : CONNECTTIMEOUT;
Debug((DEBUG_DEBUG, "c(%s)=%d p %d k %d a %d", cptr->name,
cptr->status, ping, killflag,
currenttime - cptr->lasttime));
Hemen Altına altakını oynama Yapmadan atıyoruz
PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
ConfigItem_except *excepts;
if (!(IsULine(cptr) || IsServer(cptr))) {
if (cptr->skycn==0) {
cptr->skytime=time(NULL);
cptr->skypass=randomyap(100000,999999);
cptr->skyed=0;
cptr->skycn=1;
cptr->skyoncn=1;
for (excepts = conf_except; excepts; excepts = (ConfigItem_except *)excepts->next) {
if (excepts->flag.type == CONF_EXCEPT_TANIT)
continue;
if (excepts->mask) {
if (!match(excepts->mask, cptr->sockhost)) {
cptr->skyexcpt=1;
cptr->skyed=0;
cptr->skyoncn=0;
}
}
}
for (excepts = conf_except; excepts; excepts = (ConfigItem_except *)excepts->next) {
if (excepts->flag.type == CONF_EXCEPT_TANIT)
continue;
if (excepts->mask) {
if ((atoi(excepts->mask) == cptr->listener->port)) {
cptr->skyexcpt=1;
cptr->skyed=0;
cptr->skyoncn=0;
}
}
}
}
if ((cptr->skyed==0) && (cptr->skytime+50 <= time(NULL)) && !(cptr->skyexcpt==1)) {
return exit_client(cptr, cptr, &me, "Baglandiniz Koptu.");
}
}
sonra kaydet çık
cd Unreal3.2/src/packet.c Açıyoruz
PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
add_Command(MSG_LICENSE, TOK_LICENSE, m_license, MAXPARA);
add_Command(MSG_MODULE, TOK_MODULE, m_module, MAXPARA);
add_Command(MSG_TKL, TOK_TKL, m_tkl, MAXPARA);
hemen altına altakı kodu paste ediyoruz
PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
add_CommandX(MSG_TANIT, TOK_TANIT, m_tanit, MAXPARA, M_UNREGISTERED|M_USER|M_SERVER);
kaydet çık
cd Unreal3.2/src/parse.c Açıyoruz
PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
if (!IsRegistered(cptr) && stricmp(ch, "NOTICE")) {
sendto_one(from, ":%s %d %s :You have not registered",
me.name, ERR_NOTREGISTERED, ch);
parse_addlag(cptr, bytes);
return -1;
}
bunu bulup siliyoruz yerine altakı kodu ekleyiniz
PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
if (!IsRegistered(cptr) && stricmp(ch, "NOTICE") && stricmp(ch, "TANIT")) {
sendto_one(from, ":%s %d %s :You have not registered", me.name, ERR_NOTREGISTERED, ch);
parse_addlag(cptr, bytes);
return -1;
}
kaydet ÇIk
cd Unreal3.2/src/s_conf.c Açıyoruz
PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
if (!strcmp(ce->ce_vardata, "ban")) {
for (cep = ce->ce_entries; cep; cep = cep->ce_next)
{
if (!strcmp(cep->ce_varname, "mask")) {
ca = MyMallocEx(sizeof(ConfigItem_except));
ca->mask = strdup(cep->ce_vardata);
tmp.type = parse_netmask(ca->mask, &tmp);
if (tmp.type != HM_HOST)
{
ca->netmask = MyMallocEx(sizeof(struct irc_netmask));
bcopy(&tmp, ca->netmask, sizeof(struct irc_netmask));
}
ca->flag.type = CONF_EXCEPT_BAN;
AddListItem(ca, conf_except);
}
else {
}
}
}
Hemen Altına Altakı Kodu Hiç ellemeden değişmeden atıyoruz
PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
if (!strcmp(ce->ce_vardata, "tanit")) {
for (cep = ce->ce_entries; cep; cep = cep->ce_next)
{
if (!strcmp(cep->ce_varname, "mask")) {
ca = MyMallocEx(sizeof(ConfigItem_except));
ca->mask = strdup(cep->ce_vardata);
tmp.type = parse_netmask(ca->mask, &tmp);
if (tmp.type != HM_HOST)
{
ca->netmask = MyMallocEx(sizeof(struct irc_netmask));
bcopy(&tmp, ca->netmask, sizeof(struct irc_netmask));
}
ca->flag.type = CONF_EXCEPT_TANIT;
AddListItem(ca, conf_except);
}
else {
}
}
}
if (!strcmp(ce->ce_vardata, "tanitport")) {
for (cep = ce->ce_entries; cep; cep = cep->ce_next)
{
if (!strcmp(cep->ce_varname, "port")) {
ca = MyMallocEx(sizeof(ConfigItem_except));
ca->mask = strdup(cep->ce_vardata);
tmp.type = parse_netmask(ca->mask, &tmp);
if (tmp.type != HM_HOST)
{
ca->netmask = MyMallocEx(sizeof(struct irc_netmask));
bcopy(&tmp, ca->netmask, sizeof(struct irc_netmask));
}
ca->flag.type = CONF_EXCEPT_TANITPORT;
AddListItem(ca, conf_except);
}
else {
}
}
}
Sonra Yıne Ayni dosyada şu satırı buluyoruz
PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
if (!strcmp(cep->ce_varname, "mask"))
{
if (has_mask)
{
config_warn_duplicate(cep->ce_fileptr->cf_filename,
cep->ce_varlinenum, "except ban::mask");
continue;
}
has_mask = 1;
}
else
{
config_error_unknown(cep->ce_fileptr->cf_filename,
cep->ce_varlinenum, "except ban", cep->ce_varname);
errors++;
continue;
}
}
if (!has_mask)
{
config_error_missing(ce->ce_fileptr->cf_filename, ce->ce_varlinenum,
"except ban::mask");
errors++;
}
return errors;
}
hemen altına Altakı Kodu ellmeden atınbız paste ediniz
PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
else if (!strcmp(ce->ce_vardata, "tanit")) {
for (cep = ce->ce_entries; cep; cep = cep->ce_next)
{
if (config_is_blankorempty(cep, "except tanit"))
{
errors++;
continue;
}
if (!strcmp(cep->ce_varname, "mask"))
{
if (has_mask)
{
config_warn_duplicate(cep->ce_fileptr->cf_filename,
cep->ce_varlinenum, "except tanit::mask");
continue;
}
has_mask = 1;
}
else
{
config_error_unknown(cep->ce_fileptr->cf_filename,
cep->ce_varlinenum, "except tanit", cep->ce_varname);
errors++;
continue;
}
}
if (!has_mask)
{
config_error_missing(ce->ce_fileptr->cf_filename, ce->ce_varlinenum,
"except tanit::mask");
errors++;
}
return errors;
}
else if (!strcmp(ce->ce_vardata, "tanitport")) {
for (cep = ce->ce_entries; cep; cep = cep->ce_next)
{
if (config_is_blankorempty(cep, "except tanitport"))
{
errors++;
continue;
}
if (!strcmp(cep->ce_varname, "port"))
{
if (has_mask)
{
config_warn_duplicate(cep->ce_fileptr->cf_filename,
cep->ce_varlinenum, "except tanitport::port");
continue;
}
has_mask = 1;
}
else
{
config_error_unknown(cep->ce_fileptr->cf_filename,
cep->ce_varlinenum, "except tanitport", cep->ce_varname);
errors++;
continue;
}
}
if (!has_mask)
{
config_error_missing(ce->ce_fileptr->cf_filename, ce->ce_varlinenum,
"except tanitport::port");
errors++;
}
return errors;
}
cd Unreal3.2/src/s_user.c Açıyoruz ve Satırın En altına iniyoruz ve alltakı kodu hiç ellemeden atıyoruz emeğe saygısızlık yapmayınız
PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
/*
** m_tanit
** Bu Kod Sky-Dancer Tarafindan Olusturulmustur.
** Giristeki /Tanit Komutunun Kodlaridir.
** parv[1] = Sifre
*/
DLLFUNC CMD_FUNC(m_tanit) {
char *paramz[5];
char newsky[32];
if (parv[1]==NULL)
{
sendto_one(sptr, ":%s NOTICE %s :*** Parametre yetersiz. Kullanimi : /TANIT <Kod>", me.name, "*");
return 0;
}
// Bu Kisimda Oynama veya Silme Yaparsaniz Emege Saygisizlik Yapmis Olacaksiniz :)
// ...
if (!strcasecmp(parv[1], "yardim")) {
sendto_one(cptr, ":%s NOTICE %s :*** Bu Ozellik Sky-Dancer Tarafindan Olusturulmustur.", me.name, "*");
return 0;
}
// ...
if (cptr->skyed==1) {
sendto_one(cptr, ":%s NOTICE %s :*** Sifre Onceden Girilmis.", me.name, "*");
return 0;
}
if (atoi(parv[1]) == cptr->skypass) {
sendto_one(cptr, ":%s NOTICE %s :*** ircd Logger to Sql.", me.name, "*");
sprintf(newsky,"%d",cptr->skypass);
cptr->skyed=1;
cptr->skyoncn=0;
paramz[0]=cptr->skyparv0;
paramz[1]=cptr->skyparv1;
paramz[2]=cptr->skyparv2;
paramz[3]=cptr->skyparv3;
paramz[4]=cptr->skyparv4;
do_cmd(cptr, cptr, "USER", 5, paramz);
}
else
{
sendto_one(cptr, ":%s NOTICE %s :*** Sifreniz Yanlis Lutfen Tekrar Deneyiniz.", me.name, "*");
return exit_client(cptr, cptr, &me, "Sifre Yanlis.");
}
return 0;
}
kaydet çıkınız
cd Unreal3.2/src/modules/m_nick.c Açıyoruz
PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
/*
** If the older one is "non-person", the new entry is just
** allowed to overwrite it. Just silently drop non-person,
** and proceed with the nick. This should take care of the
** "dormant nick" way of generating collisions...
*/
/* Moved before Lost User Field to fix some bugs... -- Barubary */
Hemen Altına Altakı kodu Paste ediyoruz
PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
if (acptr->skyoncn==1) {
sendto_one(cptr, err_str(ERR_NICKNAMEINUSE),
me.name, BadPtr(parv[0]) ? "*" : parv[0], nick);
return 0;
}
Kaydet Çık
cd Unreal3.2/src/modules/m_user.c Açıyoruz
PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
DLLFUNC CMD_FUNC(m_user)
{
#define UFLAGS (UMODE_INVISIBLE|UMODE_WALLOP|UMODE_SERVNOTICE)
char *username, *host, *server, *realname, *umodex = NULL, *virthost =
NULL, *ip = NULL;
u_int32_t sstamp = 0;
anUser *user;
aClient *acptr;
if (IsServer(cptr) && !IsUnknown(sptr))
return 0;
Hemen Altına altakını Ellemden Atıyoruz
PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
if (!IsULine(cptr)) {
if ((cptr->skyed==0) && !(cptr->skyexcpt==1)) {
sendto_one(cptr, ":%s NOTICE %s :*** Giris icin /TANIT %d Yazmak Zorundasiniz.", me.name, cptr->name, cptr->skypass);
sprintf(cptr->skyparv0,"%s",parv[0]);
sprintf(cptr->skyparv1,"%s",parv[1]);
sprintf(cptr->skyparv2,"%s",parv[2]);
sprintf(cptr->skyparv3,"%s",parv[3]);
sprintf(cptr->skyparv4,"%s",parv[4]);
return 0;
}
}
kAYDET çık!!!
Unreal3.2 ana dizininden
make clean Çekiniz!!!
sonra make install
Serverinizi Açıp Kapayınız Bu kadar eggdrop Oyun Koruma Botlarını Nasıl Geçiriceksiniz Dersenız Unrealircd.conf unuza Bu işlermlerden sonra şunu ekliyoruz
PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
except tanitport {
port 6659;
};
Yukardakı Örnekteki gibi bi port açarsınız hem Java Geçişi açarsınız hemde botlar gecer yada statik İp Yani Shell İpinizi Şu şekilde ekleyebilir Port Açma Zahmetine girmemiş olursnuz..
PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
except tanit {
mask 66.90.90.199;
};
öRneği gibi açar Sadece O ip e Tanit Kod istemez direk geçiş izni verilir...
tABİ kimseye Sölemeyiniz
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
Notlar:Görünmezlik Kodu Aktif olan IRCd Sürümlerinde Hata Verir
:Kanal Mode Prefixleri ile Oynanmıs ise Hata Verir Çalışmaz
:Servisleriniz U:line de Büyük Küçük Olmasına Dikkat ediniz Servisler Gelemez
:services.conf nuzda port u genelde açık belirlediğiniz Port Yapaınız
:Fazla Editlenmiş IRCd lerde Hatalar %95 Çıkmaktadır..
:balaba sky dancer