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

 Kayıt ol  Topluluk
Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 26 Aralık 2007, 20:52   #1
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
staff modulu hakkında




Network Staff File is missing

diye notice geliyor komutu yazdığımda. Modul kurulu staff'ı nasil ayarliyabilirim?

 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları reklam ver Benimmekan Mobil Sohbet
Alt 26 Aralık 2007, 20:56   #2
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: staff modulu hakkında




Alıntı:

================================================== ================
4. Configuration
================================================== ================
Set set::staff-file to the file (or URL) you want to display
when the /STAFF command is entered. For example:
set
{
/*
* Specifies the path where your network staff file is
* located. This is usually a relative path starting from
* your main Unreal3.2 directory, or it may also be
* an absolute path. If remote includes are enabled, you can
* also specify an URL here to download the file remotely
* before loading. The default value is "network.staff".
* Examples:
*
* staff-file "network.staff";
* staff-file "/home/dir/Unreal3.2/network.staff";
* staff-file "
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
staff-file "network.staff";
};

kurulum configurasyhon kısmında boyle bır yardım metnı var staff-file dosyasını modulede editleman lazım

 
Alıntı ile Cevapla

Alt 26 Aralık 2007, 21:10   #3
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: staff modulu hakkında




Kod:   Kodu kopyalamak için üzerine çift tıklayın!
/* * m_staff: Displays a file(/URL) when the /STAFF command is used. * (C) Copyright 2004-date Syzop <
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
> * (C) Copyright 2003-2004 AngryWolf <
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
> * * 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 "proto.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 #ifdef USE_LIBCURL #include "url.h" #endif #define MSG_STAFF "STAFF" #define TOK_STAFF "ST" #define DEF_STAFF_FILE "network.staff" #define CONF_STAFF_FILE (staff_file ? staff_file : DEF_STAFF_FILE) #ifdef USE_LIBCURL #define STAFF_FILE (Download.path ? Download.path : CONF_STAFF_FILE) #else #define STAFF_FILE CONF_STAFF_FILE #endif #define RPL_STAFF ":%s 700 %s :- %s" #define RPL_STAFFSTART ":%s 701 %s :- %s IRC Network Staff Information -" #define RPL_ENDOFSTAFF ":%s 702 %s :End of /STAFF command." #define RPL_NOSTAFF ":%s 703 %s :Network Staff File is missing" #define ircstrdup(x,y) do { if (x) MyFree(x); if (!y) x = NULL; else x = strdup(y); } while(0) #define ircfree(x) do { if (x) MyFree(x); x = NULL; } while(0) /* Forward declarations */ static Command *AddCommand(Module *module, char *msg, char *token, iFP func); static void unload_motd_file(aMotd **list); static int m_staff(aClient *cptr, aClient *sptr, int parc, char *parv[]); static int cb_rehashflag(aClient *cptr, aClient *sptr, char *flag); static int cb_test(ConfigFile *, ConfigEntry *, int, int *); static int cb_conf(ConfigFile *, ConfigEntry *, int); static int cb_rehash(); static int cb_stats(aClient *sptr, char *flag); #ifdef USE_LIBCURL static int download_staff_file(ConfigEntry *ce); static void download_staff_file_complete(char *url, char *file, char *errorbuf, int cached); #endif static void InitConf(); static void FreeConf(); static aMotd *staff; static char *staff_file; #ifdef USE_LIBCURL struct { unsigned is_url : 1; unsigned once_completed : 1; unsigned in_progress : 1; char *file; // File name char *path; // File path char *url; // Full URL address } Download; #endif ModuleHeader MOD_HEADER(m_staff) = { "staff", "v3.1", "/STAFF command", "3.2-b8-1", NULL }; DLLFUNC int MOD_TEST(m_staff)(ModuleInfo *modinfo) { HookAddEx(modinfo->handle, HOOKTYPE_CONFIGTEST, cb_test); return MOD_SUCCESS; } DLLFUNC int MOD_INIT(m_staff)(ModuleInfo *modinfo) { #ifdef USE_LIBCURL memset(&Download, 0, sizeof Download); ModuleSetOptions(modinfo->handle, MOD_OPT_PERM); #endif InitConf(); if (!AddCommand(modinfo->handle, MSG_STAFF, TOK_STAFF, m_staff)) return MOD_FAILED; HookAddEx(modinfo->handle, HOOKTYPE_CONFIGRUN, cb_conf); HookAddEx(modinfo->handle, HOOKTYPE_REHASH, cb_rehash); HookAddEx(modinfo->handle, HOOKTYPE_REHASHFLAG, cb_rehashflag); HookAddEx(modinfo->handle, HOOKTYPE_STATS, cb_stats); return MOD_SUCCESS; } DLLFUNC int MOD_LOAD(m_staff)(int module_load) { return MOD_SUCCESS; } DLLFUNC int MOD_UNLOAD(m_staff)(int module_unload) { FreeConf(); unload_motd_file(&staff); #ifdef USE_LIBCURL ircfree(Download.path); ircfree(Download.file); ircfree(Download.url); #endif return MOD_SUCCESS; } static int cb_rehash() { FreeConf(); InitConf(); return 1; } static void InitConf() { staff_file = NULL; } static void FreeConf() { if (staff_file) MyFree(staff_file); } static Command *AddCommand(Module *module, char *msg, char *token, iFP func) { Command *cmd; if (CommandExists(msg)) { config_error("Command %s already exists", msg); return NULL; } if (CommandExists(token)) { config_error("Token %s already exists", token); return NULL; } cmd = CommandAdd(module, msg, token, func, MAXPARA, 0); if (ModuleGetError(module) != MODERR_NOERROR || !cmd) { config_error("Error adding command %s: %s", msg, ModuleGetErrorStr(module)); return NULL; } return cmd; } /*** web routines */ #ifdef USE_LIBCURL static void remove_staff_file() { if (Download.path) { if (remove(Download.path) == -1) { if (config_verbose > 0) config_status("Cannot remove file %s: %s", Download.path, strerror(errno)); } MyFree(Download.path); Download.path = NULL; } } static int download_staff_file(ConfigEntry *ce) { int ret = 0; struct stat sb; char *file, *filename; if (Download.in_progress) return 0; Download.is_url = 1; ircstrdup(Download.url, ce->ce_vardata); file = url_getfilename(ce->ce_vardata); filename = unreal_getfilename(file); /* TODO: handle NULL returns */ ircstrdup(Download.file, filename); MyFree(file); if (!loop.ircd_rehashing && !Download.once_completed) { char *error; if (config_verbose > 0) config_status("Downloading %s", Download.url); if (!(file = download_file(ce->ce_vardata, &error))) { config_error("%s:%i: test: error downloading '%s': %s", ce->ce_fileptr->cf_filename, ce->ce_varlinenum, ce->ce_vardata, error); return -1; } Download.once_completed = 1; ircstrdup(Download.path, file); staff = (aMotd *) read_file(Download.path, &staff); MyFree(file); return 0; } file = Download.path ? Download.path : Download.file; if ((ret = stat(file, &sb)) && errno != ENOENT) { /* I know, stat shouldn't fail... */ config_error("%s:%i: could not get the creation time of %s: stat() returned %d: %s", ce->ce_fileptr->cf_filename, ce->ce_varlinenum, Download.file, ret, strerror(errno)); return -1; } if (config_verbose > 0) config_status("Downloading %s", Download.url); Download.in_progress = 1; download_file_async(Download.url, sb.st_ctime, download_staff_file_complete); return 0; } static void download_staff_file_complete(char *url, char *file, char *errorbuf, int cached) { Download.in_progress = 0; Download.once_completed = 1; if (!cached) { if (!file) { config_error("Error downloading %s: %s", url, errorbuf); return; } remove_staff_file(); Download.path = strdup(file); staff = (aMotd *) read_file(Download.path, &staff); } else { char *urlfile = url_getfilename(url); char *file = unreal_getfilename(urlfile); char *tmp = unreal_mktemp("tmp", file); /* TODO: handle null returns ? */ unreal_copyfile(Download.path, tmp); remove_staff_file(); Download.path = strdup(tmp); MyFree(urlfile); } } #endif static void unload_motd_file(aMotd **list) { aMotd *old; if (!list) return; while (*list) { old = (*list)->next; MyFree((*list)->line); MyFree(*list); *list = old; } } #define CHECK_EMPTY(ce, parent) \ if (!(ce)->ce_varname) \ { \ config_error("%s:%i: blank %s item", \ (ce)->ce_fileptr->cf_filename, \ (ce)->ce_varlinenum, (parent)->ce_varname); \ errors++; \ continue; \ } \ if (!(ce)->ce_vardata) \ { \ config_error("%s:%i: %s::%s without value", \ (ce)->ce_fileptr->cf_filename, \ (ce)->ce_varlinenum, \ (parent)->ce_varname, (ce)->ce_varname); \ errors++; \ continue; \ } static int cb_test(ConfigFile *cf, ConfigEntry *ce, int type, int *errs) { int errors = 0; #ifdef USE_LIBCURL char *file = NULL, *filename = NULL; #endif if (type == CONFIG_SET) { if (!strcmp(ce->ce_varname, "staff-file")) { #ifdef USE_LIBCURL if (url_is_valid(ce->ce_vardata)) { /* TODO: hm, relax this one? */ if (!(file = url_getfilename(ce->ce_vardata)) || !(filename = unreal_getfilename(file))) { config_error("%s:%i: invalid filename in URL", ce->ce_fileptr->cf_filename, ce->ce_varlinenum); errors++; } ircfree(file); } #endif *errs = errors; return errors ? -1 : 1; } } return 0; } static int cb_conf(ConfigFile *cf, ConfigEntry *ce, int type) { if (type == CONFIG_SET) { if (!strcmp(ce->ce_varname, "staff-file")) { #ifdef USE_LIBCURL if (!Download.in_progress) { ircstrdup(staff_file, ce->ce_vardata); if (url_is_valid(ce->ce_vardata)) download_staff_file(ce); else #endif staff = (aMotd *) read_file(ce->ce_vardata, &staff); #ifdef USE_LIBCURL } #endif return 1; } } return 0; } static int cb_stats(aClient *sptr, char *flag) { if (*flag == 'S') sendto_one(sptr, ":%s %i %s :staff-file: %s", me.name, RPL_TEXT, sptr->name, STAFF_FILE); return 0; } static int cb_rehashflag(aClient *cptr, aClient *sptr, char *flag) { int myflag = 0; /* "-all" only keeps compatibility with beta19 */ if (!_match("-all", flag) || (myflag = !_match("-staff", flag))) { if (myflag) sendto_ops("%sRehashing network staff file on the request of %s", cptr != sptr ? "Remotely " : "", sptr->name); #ifdef USE_LIBCURL if (Download.is_url) staff = (aMotd *) read_file(Download.path, &staff); else #endif staff = (aMotd *) read_file(CONF_STAFF_FILE, &staff); } return 0; } /** The routine that actual does the /STAFF command */ int m_staff(aClient *cptr, aClient *sptr, int parc, char *parv[]) { aMotd *temp; if (!IsPerson(sptr)) return -1; if (hunt_server_token(cptr, sptr, MSG_STAFF, TOK_STAFF, ":%s", 1, parc, parv) != HUNTED_ISME) return 0; if (!staff) { sendto_one(sptr, RPL_NOSTAFF, me.name, sptr->name); return 0; } sendto_one(sptr, RPL_STAFFSTART, me.name, sptr->name, ircnetwork); for (temp = staff; temp; temp = temp->next) sendto_one(sptr, RPL_STAFF, me.name, sptr->name, temp->line); sendto_one(sptr, RPL_ENDOFSTAFF, me.name, sptr->name); return 0; }

bendeki m_staff.c böyle bişey senin dediğin satırları göremedim


Konu Gökh4n tarafından (26 Aralık 2007 Saat 21:16 ) değiştirilmiştir.
 
Alıntı ile Cevapla

Alt 27 Aralık 2007, 00:17   #4
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: staff modulu hakkında




#define DEF_STAFF_FILE "network.staff"


bu dosyayı istiyor

bunuda anladıgım kadarı ile unreal.conf a

staff-file "network.staff";
};

seklınde belırterek entegre edıyorsun moduleyı kullanmadım daha once

 
Alıntı ile Cevapla

Cevapla

Etiketler
hakkinda, hakkında, modulu, staff


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Açık
Refbacks are Açık


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
IRC Network Staff botu [ #Staff ] Supernova IRCd Botlar 7 03 Şubat 2015 13:18
verify modulu hakkında cashmare Unreal IRCd 16 22 Mayıs 2010 10:48