services: configurable pseudo-client umodes
All checks were successful
CI / check (push) Successful in 3m43s

This commit is contained in:
Jean Chevronnet 2026-07-17 00:01:24 +00:00
parent eaf3111917
commit 952078aa7e
3 changed files with 18 additions and 5 deletions

View file

@ -280,6 +280,15 @@ pub struct Server {
// rather than the generic default.
#[serde(default)]
pub service_host: String,
// User modes the service pseudo-clients (services + bots) are introduced with.
// Default "iHkBT": invisible, hideoper, servprotect (unkillable — needs the
// services server U-lined), bot, block-CTCP. Set per the ircd's loaded modules.
#[serde(default = "default_service_modes")]
pub service_modes: String,
}
fn default_service_modes() -> String {
"iHkBT".to_string()
}
fn default_protocol() -> u32 {

View file

@ -82,6 +82,7 @@ async fn main() -> Result<()> {
cfg.uplink.password.clone(),
cfg.server.protocol,
ts,
cfg.server.service_modes.clone(),
));
// Bring up the service modules named in [modules] (default: the full