server_service

Service managing server domain state mutations and business rules.

class bedrock_server_manager.services.server_service.ServerService(state: AppState, storage: Storage)

Handle business logic and mutations for Bedrock servers.

get_server_state(server_name: str) → ServerConfigState | None

Return a server configuration state model snapshot.

async register_or_update_server(server_name: str, installed_version: str | None = None, status: str | None = None, autoupdate: bool | None = None, autostart: bool | None = None, target_version: str | None = None, custom: Dict[str, JsonValue] | None = None) → ServerConfigState

Register or updates server state model while maintaining dirty tracking.

async update_setting(server_name: str, key: str, value: JsonValue) → None

Apply a single configuration path to the latest validated snapshot.

async set_autostart(server_name: str, enabled: bool) → None

Set server autostart flag.

async set_autoupdate(server_name: str, enabled: bool) → None

Set server autoupdate flag.

async add_server_ban(server_name: str, player_name: str, xuid: str, reason: str | None = None) → BanMutation

Adds or updates a server ban record.

async remove_server_ban(server_name: str, xuid: str) → BanMutation

Remove a server ban record by XUID.

async get_server_bans(server_name: str) → list[BanItem]

Return all bans for a specific server.