From 4b10dcc7f3f3f7c3db17c546320cf79b08f94dbf Mon Sep 17 00:00:00 2001 From: YoursFunny Date: Mon, 6 Jul 2026 20:28:18 +0800 Subject: [PATCH] fix: try to reuse existing server when converting package to server --- module/config/server.py | 13 ++++++++----- module/device/connection.py | 3 ++- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/module/config/server.py b/module/config/server.py index 94e6192..a76bc5a 100644 --- a/module/config/server.py +++ b/module/config/server.py @@ -37,15 +37,18 @@ def set_lang(lang_: str): release_resources() -def to_server(package_or_server: str) -> str: +def to_server(package_or_server: str, before: str = '') -> str: """ Convert package/server to server. To unknown packages, consider they are a CN channel servers. """ - # Can't distinguish different regions of oversea servers, - # assume it's 'OVERSEA-Asia' - # if package_or_server == 'com.HoYoverse.hkrpgoversea': - # return 'OVERSEA-Asia' + if package_or_server == 'com.nexon.bluearchive': + # Can't distinguish different regions of oversea servers, but we try to reuse old value + if before in ['OVERSEA-Asia', 'OVERSEA-America', 'OVERSEA-Korea', 'OVERSEA-TWHKMO', 'OVERSEA-Global']: + return before + else: + # otherwise assume it's 'OVERSEA-Asia' + return 'OVERSEA-Asia' for key, value in VALID_SERVER.items(): if value == package_or_server: diff --git a/module/device/connection.py b/module/device/connection.py index 896aa34..a9ef2f3 100644 --- a/module/device/connection.py +++ b/module/device/connection.py @@ -1246,7 +1246,8 @@ class Connection(ConnectionAttr): self.package = packages[0] # Set config if set_config: - self.config.Emulator_PackageName = server_.to_server(self.package) + self.config.Emulator_PackageName = server_.to_server( + self.package, before=self.config.Emulator_PackageName) # Set server # logger.info('Server changed, release resources') # set_server(self.package)