CNBeta 1.7.0 support
This commit is contained in:
parent
e512efe106
commit
7412dcec2d
20 changed files with 33310 additions and 33110 deletions
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -41,7 +41,7 @@ Start each service in order from option `a)`.
|
|||
Most of the configuration (database, encryption keys) is stored in a shared environment configuration file (`environment.toml`). Some of server-specific options are stored in their respective configuration files (which are created upon first startup of each server).
|
||||
|
||||
### Logging in
|
||||
To login to this server, you have to obtain a compatible game client. Currently supported one is `OSPRODWin1.6.0`, you can get it from game launcher. Next, you have to apply the necessary [client patch](https://git.xeondev.com/ObolSquad/trigger-patch). It allows you to connect to the local server and replaces encryption keys with custom ones.
|
||||
To login to this server, you have to obtain a compatible game client. Currently supported one is `CNBetaWin1.7.0`, you can get it from uploads found on [Our Discord Server](https://discord.gg/reversedrooms). Next, you have to apply the necessary [client patch](https://git.xeondev.com/ObolSquad/trigger-patch). It allows you to connect to the local server and replaces encryption keys with custom ones.
|
||||
|
||||
### Management
|
||||
You can use the [trigger-muip-tool](https://git.xeondev.com/ObolSquad/trigger-muip-tool) to communicate with MUIP server and execute GM commands.
|
||||
|
|
|
@ -13,7 +13,7 @@ area = 2
|
|||
[bound_server]
|
||||
name = "trigger_rs"
|
||||
title = "Trigger-RS"
|
||||
seed = "70fed6d1bdf76412"
|
||||
seed = "789bd844f8c04bc3"
|
||||
addr = "127.0.0.1"
|
||||
port = 20501
|
||||
is_kcp = false
|
||||
|
|
|
@ -139,21 +139,21 @@ fn internal_process(
|
|||
cdn_conf_ext: Some(CdnConfExt {
|
||||
// TODO: unhardcode this
|
||||
design_data: CdnDesignData {
|
||||
base_url: Borrowed("https://autopatchos.zenlesszonezero.com/design_data/1.6_live/output_6898738_6ffe812558/client/"),
|
||||
data_revision: Borrowed("6898738"),
|
||||
md5_files: Borrowed(r#"[{"fileName": "data_version", "fileSize": 2065, "fileMD5": "16970197844668905690"}]"#),
|
||||
base_url: Borrowed("https://autopatchcn.juequling.com/design_data/beta_live/output_7054632_323d17319c/client/"),
|
||||
data_revision: Borrowed("7054632"),
|
||||
md5_files: Borrowed(r#"[{"fileName": "data_version", "fileSize": 4503, "fileMD5": "419987357302147246"}]"#),
|
||||
},
|
||||
game_res: CdnGameRes {
|
||||
audio_revision: Borrowed("6898738"),
|
||||
base_url: Borrowed("https://autopatchos.zenlesszonezero.com/game_res/1.6_live/output_6898738_6ffe812558/client/"),
|
||||
audio_revision: Borrowed("7025371"),
|
||||
base_url: Borrowed("https://autopatchcn.juequling.com/game_res/beta_live/output_7054632_323d17319c/client/"),
|
||||
branch: Borrowed("beta_live"),
|
||||
md5_files: Borrowed(r#"[{"fileName": "res_version", "fileSize": 1167660, "fileMD5": "8072678507435758384"}, {"fileName": "audio_version", "fileSize": 15447, "fileMD5": "5401804085122358755"}, {"fileName": "base_revision", "fileSize": 4, "fileMD5": "4524394692449115962"}]"#),
|
||||
res_revision: Borrowed("6898738"),
|
||||
md5_files: Borrowed(r#"[{"fileName": "res_version", "fileSize": 2379030, "fileMD5": "15840336186912297231"}, {"fileName": "audio_version", "fileSize": 30435, "fileMD5": "15675397132378459243"}, {"fileName": "base_revision", "fileSize": 18, "fileMD5": "18079377284431001248"}]"#),
|
||||
res_revision: Borrowed("7054632"),
|
||||
},
|
||||
silence_data: CdnSilenceData {
|
||||
base_url: Borrowed("https://autopatchos.zenlesszonezero.com/design_data/1.6_live/output_6898738_6ffe812558/client_silence/"),
|
||||
md5_files: Borrowed(r#"[{"fileName": "silence_version", "fileSize": 130, "fileMD5": "2077712550601860122"}]"#),
|
||||
silence_revision: Borrowed("6898738"),
|
||||
base_url: Borrowed("https://autopatchcn.juequling.com/design_data/beta_live/output_7054632_323d17319c/client_silence/"),
|
||||
md5_files: Borrowed(r#"[{"fileName": "silence_version", "fileSize": 647, "fileMD5": "15019531890587528788"}]"#),
|
||||
silence_revision: Borrowed("7042559"),
|
||||
},
|
||||
pre_download: None,
|
||||
}),
|
||||
|
|
|
@ -23,8 +23,6 @@ pub struct AvatarPropertyChanges {
|
|||
}
|
||||
|
||||
impl RoleModel {
|
||||
const PIDORS: &[i32] = &[1331, 1291];
|
||||
|
||||
pub async fn init(context: NapContext) -> Self {
|
||||
let avatar_map = Self::load_or_create_avatar_map(&context).await;
|
||||
|
||||
|
@ -332,7 +330,6 @@ impl RoleModel {
|
|||
pub async fn unlock_avatars(&mut self, avatar_id_list: &[i32]) -> Vec<u32> {
|
||||
let models = avatar_id_list
|
||||
.iter()
|
||||
.filter(|id| !Self::PIDORS.contains(*id))
|
||||
.filter(|id| !self.is_avatar_unlocked(**id as u32))
|
||||
.map(|id| {
|
||||
self.context
|
||||
|
|
|
@ -179,6 +179,20 @@ mod client_systems_module {
|
|||
}
|
||||
}
|
||||
|
||||
pub async fn on_end_newbie(
|
||||
_context: &mut MessageContext<'_, '_>,
|
||||
_request: EndNewbieCsReq,
|
||||
) -> EndNewbieScRsp {
|
||||
EndNewbieScRsp { retcode: 0 }
|
||||
}
|
||||
|
||||
pub async fn on_sync_global_variables(
|
||||
_context: &mut MessageContext<'_, '_>,
|
||||
_request: SyncGlobalVariablesCsReq,
|
||||
) -> SyncGlobalVariablesScRsp {
|
||||
SyncGlobalVariablesScRsp { retcode: 0 }
|
||||
}
|
||||
|
||||
pub async fn on_get_trashbin_hermit_data(
|
||||
_context: &mut MessageContext<'_, '_>,
|
||||
_request: GetTrashbinHermitDataCsReq,
|
||||
|
|
12
crates/game-server/src/session/message/flower_shop.rs
Normal file
12
crates/game-server/src/session/message/flower_shop.rs
Normal file
|
@ -0,0 +1,12 @@
|
|||
use super::MessageContext;
|
||||
use trigger_codegen::handlers;
|
||||
|
||||
#[handlers]
|
||||
mod flower_shop_module {
|
||||
pub async fn on_get_flower_shop_data(
|
||||
_context: &mut MessageContext<'_, '_>,
|
||||
_request: GetFlowerShopDataCsReq,
|
||||
) -> GetFlowerShopDataScRsp {
|
||||
GetFlowerShopDataScRsp { retcode: 0 }
|
||||
}
|
||||
}
|
|
@ -40,7 +40,8 @@ modules! {
|
|||
miniscape_entrust,
|
||||
fishing_contest,
|
||||
ridus_got_boo,
|
||||
qa_game
|
||||
qa_game,
|
||||
flower_shop
|
||||
}
|
||||
|
||||
client_message_forwarding! {
|
||||
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -22,7 +22,7 @@ include!("../out/_.rs");
|
|||
include!("../out/protocol_map.rs");
|
||||
|
||||
#[derive(trigger_protobuf_derive::CmdID)]
|
||||
#[cmdid(8128)]
|
||||
#[cmdid(5636)]
|
||||
#[derive(trigger_protobuf_derive::XorFields, Clone, Copy, PartialEq, ::prost::Message)]
|
||||
pub struct FallbackRsp {}
|
||||
|
||||
|
|
|
@ -1222,6 +1222,30 @@ pub struct GetNewsStandDataScRsp {
|
|||
pub news_stand_data: Option<NewsStandData>,
|
||||
}
|
||||
|
||||
#[derive(Default, Debug, Clone, Encodeable, Decodeable, ClientCmdID)]
|
||||
#[id(1323)]
|
||||
pub struct EndNewbieCsReq {
|
||||
pub group_id: u32,
|
||||
}
|
||||
|
||||
#[derive(Default, Debug, Clone, Encodeable, Decodeable, ClientCmdID)]
|
||||
#[id(1324)]
|
||||
pub struct EndNewbieScRsp {
|
||||
pub retcode: i32,
|
||||
}
|
||||
|
||||
#[derive(Default, Debug, Clone, Encodeable, Decodeable, ClientCmdID)]
|
||||
#[id(1325)]
|
||||
pub struct SyncGlobalVariablesCsReq {
|
||||
pub global_variables: HashMap<u32, i32>,
|
||||
}
|
||||
|
||||
#[derive(Default, Debug, Clone, Encodeable, Decodeable, ClientCmdID)]
|
||||
#[id(1326)]
|
||||
pub struct SyncGlobalVariablesScRsp {
|
||||
pub retcode: i32,
|
||||
}
|
||||
|
||||
#[derive(Default, Debug, Clone, Encodeable, Decodeable, ClientCmdID)]
|
||||
#[id(1340)]
|
||||
pub struct GetTrashbinHermitDataCsReq {}
|
||||
|
@ -1757,3 +1781,15 @@ pub struct GetQuestionsAnswerGameDataCsReq {}
|
|||
pub struct GetQuestionsAnswerGameDataScRsp {
|
||||
pub retcode: i32,
|
||||
}
|
||||
|
||||
// FlowerShop
|
||||
|
||||
#[derive(Default, Debug, Clone, Encodeable, Decodeable, ClientCmdID)]
|
||||
#[id(7150)]
|
||||
pub struct GetFlowerShopDataCsReq {}
|
||||
|
||||
#[derive(Default, Debug, Clone, Encodeable, Decodeable, ClientCmdID)]
|
||||
#[id(7151)]
|
||||
pub struct GetFlowerShopDataScRsp {
|
||||
pub retcode: i32,
|
||||
}
|
|
@ -30,7 +30,7 @@ user = "root"
|
|||
password = "root"
|
||||
|
||||
[security]
|
||||
static_key = "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"
|
||||
static_key = "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"
|
||||
|
||||
[[security.rsa_versions]]
|
||||
version = 3
|
||||
|
|
Loading…
Reference in a new issue