diff --git a/Cargo.toml b/Cargo.toml index fe46f83..c9ed4fc 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -17,7 +17,6 @@ encoding = "0.2.33" env_logger = "0.11.3" heck = "0.5.0" hex = "0.4.3" -lazy_static = "1.4.0" leb128 = "0.2.5" paste = "1.0.14" sysinfo = "0.30.7" diff --git a/gameserver/Cargo.toml b/gameserver/Cargo.toml index a5a04a3..b68f08b 100644 --- a/gameserver/Cargo.toml +++ b/gameserver/Cargo.toml @@ -9,7 +9,6 @@ anyhow.workspace = true dirs.workspace = true env_logger.workspace = true hex.workspace = true -lazy_static.workspace = true paste.workspace = true sysinfo.workspace = true itertools.workspace = true diff --git a/gameserver/src/config.rs b/gameserver/src/config.rs index b295df5..efc2900 100644 --- a/gameserver/src/config.rs +++ b/gameserver/src/config.rs @@ -1,5 +1,6 @@ +use std::sync::LazyLock; + use common::util::load_or_create_config; -use lazy_static::lazy_static; use serde::Deserialize; const DEFAULT_CONFIG: &str = include_str!("../gameserver.default.json"); @@ -11,12 +12,11 @@ pub struct GameServerConfig { pub system_resources_logging: bool, } -lazy_static! { - pub static ref CONFIGURATION: GameServerConfig = - serde_json::from_str(&load_or_create_config("gameserver.json", DEFAULT_CONFIG)) - .expect("Failed to parse server configuration file"); -} +pub static CONFIGURATION: LazyLock = LazyLock::new(|| { + serde_json::from_str(&load_or_create_config("gameserver.json", DEFAULT_CONFIG)) + .expect("Failed to parse server configuration file") +}); pub fn init_config() { - let _configuration = &*CONFIGURATION; // init static + let _configuration = &*CONFIGURATION; } diff --git a/gameserver/src/game/data.rs b/gameserver/src/game/data.rs index dd07716..eea452c 100644 --- a/gameserver/src/game/data.rs +++ b/gameserver/src/game/data.rs @@ -1,17 +1,16 @@ -use lazy_static::lazy_static; +use std::sync::LazyLock; + use serde_json::{Map, Value}; pub const EVENT_GRAPH_COLLECTION: &str = include_str!("../../EventGraphCollection.json"); -lazy_static! { - static ref EVENT_MAP: Map = { - serde_json::from_str::(EVENT_GRAPH_COLLECTION) - .unwrap() - .as_object() - .unwrap() - .clone() - }; -} +static EVENT_MAP: LazyLock> = LazyLock::new(|| { + serde_json::from_str::(EVENT_GRAPH_COLLECTION) + .unwrap() + .as_object() + .unwrap() + .clone() +}); pub fn get_event_config_json(id: i32) -> &'static Value { EVENT_MAP.get(&id.to_string()).unwrap() diff --git a/sdkserver/Cargo.toml b/sdkserver/Cargo.toml index 8c141dd..790213f 100644 --- a/sdkserver/Cargo.toml +++ b/sdkserver/Cargo.toml @@ -17,7 +17,6 @@ serde.workspace = true serde_json.workspace = true tokio-util.workspace = true ansi_term.workspace = true -lazy_static.workspace = true rand.workspace = true [[bin]] diff --git a/sdkserver/src/services/config.rs b/sdkserver/src/services/config.rs index ffaa4d8..73840a7 100644 --- a/sdkserver/src/services/config.rs +++ b/sdkserver/src/services/config.rs @@ -1,5 +1,6 @@ +use std::sync::LazyLock; + use axum::{body::Body, response::IntoResponse}; -use lazy_static::lazy_static; use rand::Rng; use serde::de::DeserializeOwned; @@ -11,11 +12,11 @@ pub const SERVER_LIST_ENDPOINT: &str = "/design_data/NAP_Publish_AppStore_0.1.0/oversea/serverlist.bin"; pub const VERSIONS_BUNDLE_ENDPOINT: &str = "/game_res/NAP_Publish/output_147608_1361f678bc/client/StandaloneWindows64/oversea/versions.bundle"; -lazy_static! { - static ref APP_CONFIG: AppConfig = read_config("config.json"); - static ref SERVER_LIST: Vec = read_config("serverlist.json"); - static ref VERSIONS_BUNDLE: Box<[u8]> = read_binary_data("versions.bundle"); -} +static APP_CONFIG: LazyLock = LazyLock::new(|| read_config("config.json")); +static SERVER_LIST: LazyLock> = + LazyLock::new(|| read_config("serverlist.json")); + +static VERSIONS_BUNDLE: LazyLock> = LazyLock::new(|| read_binary_data("versions.bundle")); pub async fn application() -> Vec { crypto::encrypt_config(