diff --git a/packages/core/api/actor/src/utils.rs b/packages/core/api/actor/src/utils.rs index 3087fc819c..811afb8918 100644 --- a/packages/core/api/actor/src/utils.rs +++ b/packages/core/api/actor/src/utils.rs @@ -40,14 +40,11 @@ pub fn filter_edge_dc( ) -> GlobalResult { if config.server()?.rivet.has_multiple_server_types() { // Validate that the dc has a worker & guard so it can be contacted - Ok(dc - .pools - .iter() - .any(|x| x.pool_type == PoolType::Worker && x.desired_count > 0) - && dc - .pools - .iter() - .any(|x| x.pool_type == PoolType::Guard && x.desired_count > 0)) + Ok(dc.pools.iter().any(|x| { + x.pool_type == PoolType::Worker && x.desired_count.max(x.min_count).min(x.max_count) > 0 + }) && dc.pools.iter().any(|x| { + x.pool_type == PoolType::Guard && x.desired_count.max(x.min_count).min(x.max_count) > 0 + })) } else { // All DC are valid Ok(true)