diff --git a/crates/shadowsocks-service/src/config.rs b/crates/shadowsocks-service/src/config.rs index f372eb0e..9b83c069 100644 --- a/crates/shadowsocks-service/src/config.rs +++ b/crates/shadowsocks-service/src/config.rs @@ -1345,7 +1345,12 @@ impl Config { return Err(err); } }, - None => {} + None => { + // Server will derive mode from the global scope + if matches!(config_type, ConfigType::Server | ConfigType::Manager) { + nsvr.set_mode(global_mode); + } + } } if let Some(p) = svr.plugin {