Skip to main content

nil_server_types/
lib.rs

1// Copyright (C) Call of Nil contributors
2// SPDX-License-Identifier: AGPL-3.0-only
3
4#![cfg_attr(docsrs, feature(doc_cfg))]
5#![doc(html_favicon_url = "https://nil.dev.br/favicon.png")]
6#![feature(
7  const_clone,
8  const_cmp,
9  const_convert,
10  const_default,
11  const_trait_impl,
12  derive_const,
13  str_as_str
14)]
15
16pub mod auth;
17pub mod round;
18pub mod time;
19pub mod world;
20
21use nil_core::world::config::WorldId;
22use serde::{Deserialize, Serialize};
23use strum::EnumIs;
24
25#[derive(Clone, Copy, Debug, EnumIs, Deserialize, Serialize)]
26#[serde(tag = "kind", rename_all = "kebab-case")]
27#[cfg_attr(feature = "typescript", derive(ts_rs::TS))]
28pub enum ServerKind {
29  Local { id: WorldId },
30  Remote,
31}