Vous n'êtes pas identifié(e).

Top posteurs

Statistiques

Partenaires

  • eXolia Hosting
  • Eggdrop.fr

#1 28/01/2016 00:19:08

kortex
Nouveau IRCzien
Inscription : 27/01/2016
Messages : 3

[Résolu] Probleme de kick sur netadmin avec botserv

Bonjour a tous.
Je viens vers vous suite a un probleme sur mon 1er et tout recent serveur unrealircd.
En effet, nous sommes deux netadmin sur mon serveur. Nous avons deployé des bot enregistré botserv. Malgrés l'ajout de fonction comme don't kick op can_set q et mode +q, lorsqu'un operateurs d'un chan nous kick via !kick nick, et bien nos rang de netadmin servent a rien on se fait kicker purement et simplement du chan par nos bot.
A noter aussi que malgrés les mêmes flags que mon collegue, lui peux executer les commandes sapart et sajoin tandis que moi operserv me retourne un acces denied
Quelqu'un aurait-il la patience d'eclairer notre lanterne?
Merci d'avance

Dernière modification par kortex (31/01/2016 16:25:07)

Hors ligne

#2 28/01/2016 20:52:32

Harakiri
Administrateur
Lieu : Paris
Inscription : 02/07/2011
Messages : 260

Re : [Résolu] Probleme de kick sur netadmin avec botserv

Salut,

Quelle version d'UnrealIRCd ? Quel type de services ? Anope ? Quelle version également ?
Es-tu sûr d'avoir le rang de netadmin ? Peux-tu nous montrer la configuration qui permet d'affirmer que c'est le cas ?

Le mieux pour qu'on puisse t'en dire plus c'est de poster les bouts de conf qui sont impliqués dans cette histoire.


EOF

Hors ligne

#3 28/01/2016 22:39:43

kortex
Nouveau IRCzien
Inscription : 27/01/2016
Messages : 3

Re : [Résolu] Probleme de kick sur netadmin avec botserv

Bonsoir
Ma version de unreal est la 3.2.9 le fichier de conf est celui-ci

Code:
/*
loadmodule "src/modules/commands.so";
loadmodule "src/modules/cloak.so";
include "help.conf";
include "spamfilter.conf";

me 
{
     name "irc.f******";
     info "IRC ******";
     numeric 1;
};

admin {
        "Administrative contact: kortex";
        "E-mail address: *********@ghostmail.com";
};

class           clients
{
        pingfreq 90;
        maxclients 500;
        sendq 100000;
        recvq 8000;
};

class           servers
{
        pingfreq 90;
        maxclients 10;          /* Max servers we can have linked at a time */
        sendq 1000000;
        connfreq 100; /* How many seconds between each connection attempt */
};

allow {
        ip             *@*;
        hostname       *@*;
        class           clients;
        maxperip 2;
  };        

allow {
        ip             *@*;
        hostname       *@*;
        class           clients;
        maxperip 2;
        option {
          ssl;
};
};


listen         *:6667 {
  options
        {
         ssl;
         clientsonly; # On n'autorise pas d'autres serveurs
                      # à se connecter au notre sur ce port
        };
};
listen 90.48.242.62:8067;
listen *:6667;
listen *:6660-6669;
	
drpass {
        restart "********";
        die "*********";
};

badword all {
        word "merde";
        replace "crotte";
};
badword all {
        word "putain";
        replace "diantre";
};
badword all {
        word "foutre";
        replace "fichtre";
};

log "ircd.log" {
        maxsize 2097152;
        flags {
                oper;
kline;
                connects;
                server-connects;
                kills;
                errors;
        };
};

oper admin {
	class           clients;
	from {
		userhost *@*;
	};
        password "****************";
	flags
	{
		netadmin;
		can_die;
		can_restart;
		can_gzline;
		can_gkline;
		can_unkline;
		can_zline;
		get_umodew;
		get_host;
		can_override;
	};
};

oper kortex {
	class           clients;
	from {
		userhost *@*;
	};
        password "*********";
	flags
	{
		netadmin;
		services-admin;
                admin;
                global;
                helpop;
                can_globops;
                can_wallops;
                can_globalroute;
                can_globalnotice;
                global;
                can_kline;
                get_host;
                can_unkline;
		get_umodew;
		can_override;
		can_restart;
		can_die;
		can_zline;
		can_gkline;
		can_gzline;
                can_setq;
	};
};

oper Neoki {
	class           clients;
	from {
		userhost *@*;
	};
        password "********";
	flags
	{
		 services-admin;
                admin;
                global;
                helpop;
                can_globops;
                can_wallops;
                can_globalroute;
                can_globalnotice;
                global;
                can_kline;
                get_host;
                can_unkline;
                get_umodew;
                can_override;
                can_restart;
                can_die;
                can_zline;
                can_gkline;
                can_gzline;
                can_setq;

        };
};

oper Shanti {
        class           clients;
        from {
                userhost *@*;
        };
        password "********";
        flags
        {
                global;
                get_host;
                get_umodew;
                can_override;
        };
};


ban nick {
	mask "c*h*a*n*s*e*r*v";
	reason "Reserved for Services";
};

ban nick {
	mask "n*i*c*k*s*e*r*v";
	reason "Reserved for Services";
};

ban nick {
	mask "m*e*m*o*s*e*r*v";
	reason "Reserved for Services";
};

ban nick {
	mask "o*p*e*r*s*e*r*v";
	reason "Reserved for Services";
};

ban nick {
	mask "b*o*t*s*e*r*v";
	reason "Reserved for Services";
};

ban nick {
	mask "h*o*s*t*s*e*r*v";
	reason "Reserved for Services";
};

ban nick {
	mask "g*l*o*b*a*l";
	reason "Reserved for Services";
};

deny channel {
	channel "*warez*";
	reason "Warez is illegal";
};

deny channel {
	channel "*mp3*";
	reason "mp3 trading is illegal";
};

deny channel {
	channel "#Olympe";
	reason "Ircops only!";
};

deny channel {
	channel "#Admins";
	reason "Ircops only!";
};

ulines {
      chanserv.;
};

link		chanserv. {
	username	*;
	hostname	*;
	bind-ip		*;
	port		6667;
	leaf		*;
	password-connect "*************************";
	password-receive "**************************";
	class		servers;
};

set {
        network-name            "services.************";
        default-server          "irc.*********";
        services-server         "chanserv.";
        help-channel            "#help";
	oper-auto-join 		"#Olympe";
        hiddenhost-prefix       "admin";

hosts {
                local           "Helper.irc.freemind.ovh";
                global          "Oper.irc.freemind.ovh";
                coadmin         "CoAdmin.irc.freemind.ovh";
                admin           "Admin.irc.freemind.ovh";
                servicesadmin   "ServAdmin.irc.freemind.ovh";
                netadmin        "NetAdmin.irc.freemind.ovh";
                host-on-oper-up "yes";
        };

cloak-keys {
       "************";
       "*************";
       "**************";
   };

        kline-address "**************";
        modes-on-connect "+xGw";
        modes-on-join "+nt";
        snomask-on-oper "+cFfkejvGnNqsSo";

dns {
                nameserver 127.0.0.1;
                timeout 2s;
                retries 2;
        }; 
     
options {
                identd-check; 
                show-connect-info;
                show-opermotd;
                allow-part-if-shunned;
                fail-oper-warn;
		flat-map;
        };


maxchannelsperuser 20;
//        anti-spam-quit-message-time 60s;
        oper-only-stats "*";
};

set {	
        allow-userhost-change force-rejoin;
};

/* Standard aliases */
alias "services" {
	format "^#" {
		target "chanserv";
		type services;
		parameters "%1-";
	};
	format "^[^#]" {
		target "nickserv";
		type services;
		parameters "%1-";
	};
	type command;
};

alias "identify" {
	format "^#" {
		target "chanserv";
		type services;
		parameters "IDENTIFY %1-";
	};
	format "^[^#]" {
		target "nickserv";
		type services;
		parameters "IDENTIFY %1-";
	};
	type command;
};

alias NickServ { type services; };
alias ChanServ { type services; };
alias OperServ { type services; };
alias HelpServ { type services; };
alias BotServ { type services; };
alias StatServ { type stats; };

 alias "ns" {
		target "nickserv";
		type services;
}; 
 alias "cs" {
		target "chanserv";
		type services;
}; 
 alias "bs" {
		target "botserv";
		type services;
}; 
 alias "os" {
		target "operserv";
		type services;
}; 
 alias "hs" {
		target "hostserv";
		type services;
}; 

Pour ce qui est de anope,j'utilise la version 1.8.6 dont voici la conf

Code:
IRCDModule "unreal32"

HostCoreModules "hs_help hs_on hs_off hs_group hs_list hs_set hs_setall hs_del hs_delall"
MemoCoreModules "ms_send ms_cancel ms_list ms_read ms_del ms_set ms_info ms_rsend ms_check ms_staff ms_sendall ms_help"
HelpCoreModules "he_help"
BotCoreModules "bs_help bs_botlist bs_assign bs_set bs_kick bs_badwords bs_act bs_info bs_say bs_unassign bs_bot bs_fantasy bs_fantasy_kick bs_fantasy_kickban bs_fantasy_owner bs_fantasy_seen bs_fantasy_unban"
OperCoreModules "os_help os_global os_stats os_oper os_admin os_staff os_mode os_kick os_clearmodes os_killclones os_akill os_sgline os_sqline os_szline os_chanlist os_userlist os_logonnews os_randomnews os_opernews os_session os_noop os_jupe os_ignore os_set os_reload os_update os_restart os_quit os_shutdown os_defcon os_chankill os_svsnick os_oline os_umode os_modload os_modunload os_modlist os_modinfo"
NickCoreModules "ns_help ns_register ns_group ns_identify ns_access ns_set ns_saset ns_drop ns_recover ns_release ns_sendpass ns_ghost ns_alist ns_info ns_list ns_logout ns_status ns_update ns_getpass ns_getemail ns_forbid ns_suspend"
ChanCoreModules "cs_help cs_register cs_identify cs_set cs_xop cs_access cs_akick cs_drop cs_sendpass cs_ban cs_clear cs_modes cs_getkey cs_invite cs_kick cs_list cs_logout cs_topic cs_info cs_getpass cs_forbid cs_suspend cs_status"
RemoteServer    localhost 6667 "*******************"
ServerName  "chanserv."
ServerDesc  "Services for IRC Networks"
ServiceUser "services@localhost"

NickServName    "NickServ"  "Nickname Server"
ChanServName    "ChanServ"  "Channel Server"
MemoServName    "MemoServ"  "Memo Server"
BotServName     "BotServ"   "Bot Server"
HelpServName    "HelpServ"  "Help Server"
OperServName    "OperServ"  "Operator Server"
GlobalName      "Global"    "Global Noticer"
#DevNullName     "DevNull"   "/dev/null -- message sink"
HostServName	"HostServ"  "vHost Server"

EncModule "enc_none"

PIDFile     services.pid
MOTDFile    services.motd

NickServDB  nick.db
#PreNickServDB prenick.db
ChanServDB  chan.db
BotServDB   bot.db
OperServDB  oper.db
NewsDB      news.db
ExceptionDB exception.db
HostServDB  hosts.db

HelpChannel "#help"
LogChannel "#services"
NetworkName "services.freemind.ovh"

#Numeric "64"

NickLen 31

#UserKey1 9866235
#UserKey2 8362013
#UserKey3 2362899

StrictPasswords
BadPassLimit    5
BadPassTimeout  1h
UpdateTimeout   5m
ExpireTimeout   30m
ReadTimeout 5s
WarningTimeout  4h
TimeoutCheck    3s
KeepLogs 7
KeepBackups 3
ForceForbidReason

#UsePrivmsg

GlobalOnCycleMessage "Services are restarting, they will be back shortly - please be good while we're gone"
GlobalOnCycleUP "Services are now back online - have a nice day"


# UlineServers  [OPTIONAL]
#
# A list of ulined servers on your network, these servers are assumed they
# can set channel modes and we will not attempt to take them from them
# WARNING: do not put your user servers in this option

UlineServers "stats.freemind.ovh proxy.your.network "

#UseMail
# SendMailPath <path> [REQUIRED]
SendMailPath "/usr/sbin/sendmail -t"

# SendFrom <e-mail> [REQUIRED]
#
# This is the e-mail from which all the e-mails are to be sent. It should
# really exist.

SendFrom t******.m**@gmail.com

RestrictMail

MailDelay 5m

#DontQuoteAddresses

###########################################################################
#
# NickServ configuration
#
###########################################################################

NSForceEmail

# NSDefLanguage <language-number> [REQUIRED]
#     Sets the default language non- and newly-registered will receive
#     services' messages in. The numbers are the same as those
#     used for the /nickserv SET LANGUAGE command, so look the at the help
#     of this command for the list of currently supported languages.
#     
#     If you ever wanted to know how to translate services in your 
#     language, read the chapter about it in the README.

NSDefLanguage 2
NSRegDelay  30s
NSDefAutoop
NSDefKill
NSDefSecure

# NSExpire <time>  [RECOMMENDED]
#     Sets the length of time before a nick registration expires.

NSExpire    21d

NSMaxAliases    16
NSAccessMax 32

NSEnforcerUser  enforcer.net
NSReleaseTimeout 1m

NSListMax   50

# NSGuestNickPrefix <value>  [REQUIRED]
#     When a user's nick is forcibly changed to enforce a "nick kill", their
#     new nick will start with this value. The rest will be made up of 6 or 7
#     digits.

NSGuestNickPrefix   "Guest"

NSSecureAdmins
NSStrictPrivileges
NSRestrictGetPass
NSAddAccessOnReg

###########################################################################
#
# ChanServ configuration
#
###########################################################################


CSDefKeepTopic
#CSDefOpNotice
CSDefPeace
#CSDefPrivate
#CSDefRestricted
CSDefSecure
#CSDefSecureOps
CSDefSecureFounder
CSDefSignKick
#CSDefSignKickLevel
#CSDefTopicLock
CSDefXOP

CSMaxReg    20

# CSExpire <time>  [RECOMMENDED]
#     Sets the number of days before a channel expires.

CSExpire    14d
CSDefBantype 2
CSAccessMax 1024
CSAutokickMax   32
CSAutokickReason "User has been banned from the channel"
CSInhabit   15s
CSListMax   50

###########################################################################
#
# MemoServ configuration
#
###########################################################################

MSMaxMemos  20
MSSendDelay 3s
MSNotifyAll

###########################################################################
#
# BotServ configuration
#
###########################################################################

BSDefDontKickOps
#BSDefDontKickVoices
BSDefGreet
BSDefFantasy
BSDefSymbiosis
BSMinUsers 1
BSBadWordsMax 32
BSKeepData 10m
BSGentleBWReason

###########################################################################
#
# OperServ configuration
#
###########################################################################

# ServicesRoot <nicks>  [REQUIRED]
#    Specifies the Services "super-users".  The super-users, or "roots" as in
#    Unix terminology, are the only users who can add or delete Services
#    admins.
#
#    You can specify more than one nick by separating each one by a space.
#
#    This is commented out by default; make sure you insert the correct
#    nick before uncommenting it.

ServicesRoot kortex Neoki

SuperAdmin
LogMaxUsers
AutoKillExpiry  30d
AkillOnAdd
ChanKillExpiry  30d
SGLineExpiry    30d
SQLineExpiry    30d
SZLineExpiry    30d
KillClonesAkillExpire   30m
DisableRaw
WallOSGlobal
WallOSMode
WallOSClearmodes
WallOSKick
WallOSAkill
WallOSSGLine
WallOSSQLine
WallOSSZLine
WallOSNoOp
WallOSJupe
WallOSRaw

WallGetpass
WallSetpass
WallForbid
WallDrop
LimitSessions
DefSessionLimit 3
MaxSessionLimit 100
ExceptionExpiry 1d
SessionLimitExceeded "The session limit for your host %s has been exceeded."
MaxSessionKill 15
SessionAutoKillExpiry 30m
AddAkiller
OSOpersOnly

# AutoDefconLevel <level> [OPTIONAL]
# Module m_connect_flood
#
# Set the defcon level u want services to go to when the connection limit is breached.
# If not defined, Services will go to defconn 3.
#
AutoDefconLevel 3

# ConnectionLimit "<connecions> <period>" [OPTIONAL]
ModuleAutoload "m_connect_flood"
#
# Set the defcon level u want services to go to when the connection limit is breached.
# If not defined, Services will go to defconn 3.
# The Connection limit has to be set with "/msg operserv CONNFLOOD <connections> <seconds>".
# Note: Anope WILL crash if the ""s are not present!
#
ConnectionLimit "20 20"

###########################################################################
#
# DefCon configuration
#
###########################################################################

# DefConLevel <level> [OPTIONAL]
#     Default defcon level (1-5) to use when starting services up, level 5
#     instructs services to run as normal.

DefConLevel 5

# DefCon1-4 <numeric> [REQUIRED if Defcon is activated]
#     These numercics determine which of the following operations take place
#     at each level, the correct numeric can be found by adding together the
#     number for each restriction you wish to place at a level.
#     No new channel registrations			1
#     No New Nick Registrations				2
#     No MLOCK changes 					4
#     Force Chan Mode					8
#     Use Reduced Session Limit				16
#     KILL any new clients trying to connect		32
#     Services will ignore everyone but opers		64
#     Services will silently ignore everyone but opers	128
#     AKILL all new clients trying to connect		256
#     No new memos sent to block memoserv attacks	512

DefCon4 23
#     No channel reg + No Nick Reg + No MLOCK changes + Use Reduced Session Limit
#           1        +      2      +         4        +            16

DefCon3 31
#     As DefCon4 + Services will Force Chan Mode's on channels
#          23    +                     8

DefCon2 159
#     As DefCon3 + Services will silently ignore everyone but opers
#          31    +                    128

DefCon1 415
#     As DefCon2 + AKILL all new clients trying to connect
#          159   +                  256


# DefConSessionLimit <limit> [REQUIRED if DefCon is activated]
#     New session limit to use when a defcon level is using "reduced"
#     session limiting.
#     NOTE: When using DefCon this value needs to be defined
DefConSessionLimit 2

# DefConAkillExpire <time> [REQUIRED if DefCon is activated]
#     Length of time to add the AKILL for when DEFCON is preventing
#     all new clients from connecting to the network
#
#     NOTE: As with all expire times, the expirey check will only be
#     carried out once every "ExpireTimeout" so if this setting is
#     30m the the akill could last for 30m regardless of this setting.
#
#     NOTE: When using DefCon this value needs to be defined
DefConAkillExpire 5m

# DefConChanModes <modes> [REQUIRED if DefCon is activated]
#     The channel modes to set on all channel's when the DefCon channel
#     mode system is in use.
#
#     NOTE: Choose these modes carefully, because when defcon switches to
#     a level which does NOT have the mode setting selected, services will
#     set the reverse on all channel's, e.g. if this setting is +RN
#     when defcon is used all channel's will be set to +RN, when
#     defcon is removed, channels will all be set to -RN. You don't
#     want to set this to +k for example because when defcon is removed all
#     channels will -k.
#     NOTE: mlock'ed modes will not be lost
DefConChanModes "+R"

# DefConTimeOut <time> [OPTIONAL]
#     This value can be used to automatically return the network to
#     defcon 5 after the specified time period - just in case any opers
#     forget to remove a defcon setting.
DefConTimeOut 15m

# GlobalOnDefcon [OPTIONAL]
#
#     Setting this directive will make Services send a global message on
#     Defcon Level changes.
GlobalOnDefcon

# GlobalOnDefconMore [OPTIONAL]
#
#     Setting this directive will make Services send a global message on
#     Defcon Level changes. Uncommenting this will allow you to send along
#     with the new level, the DefconMessage.
GlobalOnDefconMore

DefconMessage "Attaque dtecte. Protections mises en place. Merci de votre comprhension."

# DefConOffMessage [OPTIONAL]
#
#     If this is defined, it will be used in place of GlobalOnDefcon and
#     GlobalOnDefconMore when defcon is returned to level 5
DefConOffMessage "Les services sont de retour a la normale , merci pour votre patience"

# DefConAkillReason <text> [REQUIRED if DefCon is activated]
#
#     When using DEFCON this setting will be used when any clients are killed
#     or akilled from the network by defcon
#
DefConAkillReason "Ce rseau n'accepte plus de connexions pour le moment , ressayer plus tard"

En esperant que ces quelques info vous aideront a m'aider wink

Hors ligne

#4 28/01/2016 23:30:24

Harakiri
Administrateur
Lieu : Paris
Inscription : 02/07/2011
Messages : 260

Re : [Résolu] Probleme de kick sur netadmin avec botserv

Sache tout d'abord que tu utilises des versions d'Anope et d'UnrealIRCd qui ne sont plus considérées comme étant dans la branche "stable". Une version 2 d'Anope a vu le jour récemment. Il en est de même pour UnrealIRCd et sa toute récente version 4.
Sache également que le support officiel, si tu en demandes, ne te sera pas fourni si tu n'utilises pas les versions stables, puisque les précédentes ne sont plus maintenues.

Par ailleurs, un détail m'intrigue dans ta configuration UnrealIRCd, elle commence par un

Code:
/*

Plutôt étrange... Il me semble qu'une conf comme celle là ne devrait pas fonctionner. Peut être est-ce une erreur lors d'un copier/coller... smile

J'espère que je ne vais embrouiller personnes...
Il y a deux types de kick dans notre contexte. Les kick engendrés par les utilisateurs, et ceux par les services (les bots) bien que ceux-ci proviennent d'ordres des utilisateurs, dans la pratique ce sont les services qui font l'action.

Dans BotServ, nous avons bien la notion de dontkickops, qui protège les opérateurs des kicks provenant des services.
Les bots sont programmés pour kicker les utilisateur en fonction de leurs LEVEL sur le canal (LEVEL connu par les services, pas par l'IRCd), et non pas en fonction de leur statut sur l'IRCd (netadmin (ou pas netadmin)).

Les kick des services, sont évidemment gérés par les services, et donc, pour modifier leur comportement, c'est une configuration d'Anope qu'il faudra modifier (ou produire).
Pour les kick des utilisateurs, ils sont gérés par l'IRCd. Le mode +q prévient les kick provenant de tout le monde sauf des U:line. Les services étant U:line... Je te laisse faire le rapprochement tongue

Il y a un mode "peace" qui fait en sorte à ce qu'un utilisateur, ne puisse atteindre (via les commandes des services uniquement) que les utilisateurs ayant un niveau plus faible (ou égal, sans doute).
C'est peut être ça que tu recherches.

Pour les kick venant directement des utilisateurs, je pense que le +q devrait suffir !

Peut être un peu compliqué tout ça, mais je pense que tout s'explique et que rien ne flanche sur votre configuration..

En espérant que mon message n'était pas trop incompréhensible...

N'hésite pas à demander des détails si ce n'est pas le cas. smile


Edit :


EOF

Hors ligne

Pied de page des forums

404944 visites ( 73 aujourd'hui ) 5 visiteurs en ligne
Copyright © 2004 - 2013 IRCz