2024-06-16 22:26:52 +00:00
|
|
|
mod commands;
|
2024-04-20 19:13:18 -04:00
|
|
|
|
2025-01-24 07:04:29 +00:00
|
|
|
use std::path::PathBuf;
|
|
|
|
|
|
2024-04-20 19:13:18 -04:00
|
|
|
use clap::Subcommand;
|
2024-12-14 21:58:01 -05:00
|
|
|
use conduwuit::Result;
|
2024-04-20 19:13:18 -04:00
|
|
|
|
2024-07-27 00:11:41 +00:00
|
|
|
use crate::admin_command_dispatch;
|
2024-04-20 19:13:18 -04:00
|
|
|
|
2024-07-27 00:11:41 +00:00
|
|
|
#[admin_command_dispatch]
|
2024-07-24 00:13:03 +00:00
|
|
|
#[derive(Debug, Subcommand)]
|
2025-05-24 00:28:09 +01:00
|
|
|
pub enum ServerCommand {
|
2026-01-12 10:47:19 -05:00
|
|
|
/// Time elapsed since startup
|
2024-04-26 18:55:45 -07:00
|
|
|
Uptime,
|
|
|
|
|
|
2026-01-12 10:47:19 -05:00
|
|
|
/// Show configuration values
|
2024-04-20 19:13:18 -04:00
|
|
|
ShowConfig,
|
|
|
|
|
|
2026-01-12 10:47:19 -05:00
|
|
|
/// Reload configuration values
|
2025-01-24 07:04:29 +00:00
|
|
|
ReloadConfig {
|
|
|
|
|
path: Option<PathBuf>,
|
|
|
|
|
},
|
|
|
|
|
|
2026-01-12 10:47:19 -05:00
|
|
|
/// Print database memory usage statistics
|
2024-04-20 19:13:18 -04:00
|
|
|
MemoryUsage,
|
|
|
|
|
|
2026-01-12 10:47:19 -05:00
|
|
|
/// Clears all of Continuwuity's caches
|
2024-07-04 03:26:19 +00:00
|
|
|
ClearCaches,
|
2024-04-20 19:13:18 -04:00
|
|
|
|
2026-01-12 10:47:19 -05:00
|
|
|
/// Performs an online backup of the database (only available for RocksDB
|
2024-04-20 19:13:18 -04:00
|
|
|
/// at the moment)
|
|
|
|
|
BackupDatabase,
|
|
|
|
|
|
2026-01-12 10:47:19 -05:00
|
|
|
/// List database backups
|
2024-04-20 19:13:18 -04:00
|
|
|
ListBackups,
|
|
|
|
|
|
2026-01-12 10:47:19 -05:00
|
|
|
/// Send a message to the admin room.
|
2024-06-16 02:10:47 +00:00
|
|
|
AdminNotice {
|
|
|
|
|
message: Vec<String>,
|
|
|
|
|
},
|
|
|
|
|
|
2026-01-12 10:47:19 -05:00
|
|
|
/// Hot-reload the server
|
2024-07-27 00:11:41 +00:00
|
|
|
#[clap(alias = "reload")]
|
|
|
|
|
ReloadMods,
|
2024-06-16 01:44:41 +00:00
|
|
|
|
2024-06-16 19:46:32 +00:00
|
|
|
#[cfg(unix)]
|
2026-01-12 10:47:19 -05:00
|
|
|
/// Restart the server
|
2024-07-03 04:46:50 +00:00
|
|
|
Restart {
|
|
|
|
|
#[arg(short, long)]
|
|
|
|
|
force: bool,
|
|
|
|
|
},
|
2024-06-16 19:46:32 +00:00
|
|
|
|
2026-01-12 10:47:19 -05:00
|
|
|
/// Shutdown the server
|
2024-06-16 01:44:41 +00:00
|
|
|
Shutdown,
|
2024-04-20 19:13:18 -04:00
|
|
|
}
|