11mod favicon;
22#[ cfg( feature = "analyze-forge-info" ) ]
33mod forge_info;
4+ mod game_mode;
45mod motd;
56mod ping;
67mod player;
8+ mod server_guid;
79mod version;
810
911use crate :: analyze:: favicon:: FaviconArgs ;
@@ -74,8 +76,12 @@ impl AnalyzerTools<'_> {
7476
7577#[ derive( Debug , Clone , Eq , PartialEq , ValueEnum ) ]
7678pub enum AvailableAnalyzers {
79+ #[ value( name = "+" ) ]
80+ AllDefaults ,
7781 Ping ,
7882 Version ,
83+ ServerGuid ,
84+ GameMode ,
7985 Motd ,
8086 Player ,
8187 Favicon ,
@@ -85,7 +91,7 @@ pub enum AvailableAnalyzers {
8591
8692#[ derive( Args , Debug ) ]
8793pub struct AnalyzerArgs {
88- /// Set analyzers can be enabled
94+ /// Set analyzers can be enabled, '+' for enabling all default analyzers
8995 #[ arg( short='e' , long, value_parser, value_delimiter = ',' , default_values = [ "ping" , "version" , "motd" , "player" , "favicon" ] ) ]
9096 analyzers : Vec < AvailableAnalyzers > ,
9197
@@ -101,7 +107,14 @@ pub struct AnalyzerArgs {
101107}
102108
103109pub fn sanitize_analyzer_args ( args : & mut crate :: BaseArgs ) {
104- let analyzers = & args. analyzer_args . analyzers ;
110+ let analyzers = & mut args. analyzer_args . analyzers ;
111+ if analyzers. contains ( & AvailableAnalyzers :: AllDefaults ) {
112+ analyzers. push ( AvailableAnalyzers :: Ping ) ;
113+ analyzers. push ( AvailableAnalyzers :: Version ) ;
114+ analyzers. push ( AvailableAnalyzers :: Motd ) ;
115+ analyzers. push ( AvailableAnalyzers :: Player ) ;
116+ analyzers. push ( AvailableAnalyzers :: Favicon ) ;
117+ }
105118 if analyzers. contains ( & AvailableAnalyzers :: Motd ) {
106119 sanitize_motd_args ( args) ;
107120 }
@@ -118,6 +131,14 @@ pub fn init_analyzer_tools(args: &'_ AnalyzerArgs) -> AnalyzerTools<'_> {
118131 analyzers. push ( Box :: new ( version:: Version { } ) ) ;
119132 }
120133
134+ if args. analyzers . contains ( & AvailableAnalyzers :: ServerGuid ) {
135+ analyzers. push ( Box :: new ( server_guid:: ServerGuid { } ) ) ;
136+ }
137+
138+ if args. analyzers . contains ( & AvailableAnalyzers :: GameMode ) {
139+ analyzers. push ( Box :: new ( game_mode:: GameMode { } ) ) ;
140+ }
141+
121142 if args. analyzers . contains ( & AvailableAnalyzers :: Motd ) {
122143 analyzers. push ( Box :: new ( motd:: Motd :: new ( & args. motd_args ) ) ) ;
123144 }
0 commit comments