mirror of
https://git.neonteam.dev/amizing/robinsr.git
synced 2025-03-12 03:28:30 -04:00
feat: Add support for version 3.0.5x UNTESTED
This commit is contained in:
parent
5514615c91
commit
948e1f886b
@ -60,6 +60,6 @@ mhy-kcp = { path = "kcp/", features = ["tokio"] }
|
|||||||
|
|
||||||
[profile.release]
|
[profile.release]
|
||||||
strip = true # Automatically strip symbols from the binary.
|
strip = true # Automatically strip symbols from the binary.
|
||||||
lto = true # Link-time optimization.
|
opt-level = "z" # Optimize for size.
|
||||||
opt-level = 3 # Optimize for speed.
|
lto = true
|
||||||
codegen-units = 1 # Maximum size reduction optimizations.
|
codegen-units = 1
|
||||||
|
|||||||
62024
freesr-data.json
62024
freesr-data.json
File diff suppressed because it is too large
Load Diff
@ -2,11 +2,11 @@ use crate::net::tools::FreesrData;
|
|||||||
|
|
||||||
use super::*;
|
use super::*;
|
||||||
|
|
||||||
static UNLOCKED_AVATARS: [u32; 61] = [
|
static UNLOCKED_AVATARS: [u32; 63] = [
|
||||||
8001, 1001, 1002, 1003, 1004, 1005, 1006, 1008, 1009, 1013, 1101, 1102, 1103, 1104, 1105, 1106,
|
8001, 1001, 1002, 1003, 1004, 1005, 1006, 1008, 1009, 1013, 1101, 1102, 1103, 1104, 1105, 1106,
|
||||||
1107, 1108, 1109, 1110, 1111, 1112, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210,
|
1107, 1108, 1109, 1110, 1111, 1112, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210,
|
||||||
1211, 1212, 1213, 1214, 1215, 1217, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1312,
|
1211, 1212, 1213, 1214, 1215, 1217, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1312,
|
||||||
1315, 1310, 1314, 1218, 1221, 1220, 1222, 1223, 1317, 1313, 1225, 1402, 1401,
|
1315, 1310, 1314, 1218, 1221, 1220, 1222, 1223, 1317, 1313, 1225, 1402, 1401, 1404, 1403
|
||||||
];
|
];
|
||||||
|
|
||||||
pub async fn on_get_avatar_data_cs_req(
|
pub async fn on_get_avatar_data_cs_req(
|
||||||
|
|||||||
@ -267,7 +267,7 @@ async fn create_battle_info(caster_id: u32, skill_index: u32) -> SceneBattleInfo
|
|||||||
max_sp: 10_000,
|
max_sp: 10_000,
|
||||||
}),
|
}),
|
||||||
}),
|
}),
|
||||||
// skill_info: vec![],
|
skill_info: Vec::with_capacity(0)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -280,8 +280,8 @@ async fn create_battle_info(caster_id: u32, skill_index: u32) -> SceneBattleInfo
|
|||||||
player_detail_info: Some(RogueMagicBattleUnitInfo {
|
player_detail_info: Some(RogueMagicBattleUnitInfo {
|
||||||
item: Some(Item::BattleRogueMagicData(BattleRogueMagicData {
|
item: Some(Item::BattleRogueMagicData(BattleRogueMagicData {
|
||||||
round_cnt: Some(BattleRogueMagicRoundCount {
|
round_cnt: Some(BattleRogueMagicRoundCount {
|
||||||
jnejloobmad: 3,
|
gpojenhaiba: 3,
|
||||||
jfaidmkbmof: 0,
|
kljklbmlefo: 0,
|
||||||
}),
|
}),
|
||||||
battle_scepter_list: player
|
battle_scepter_list: player
|
||||||
.battle_config
|
.battle_config
|
||||||
@ -321,7 +321,7 @@ async fn create_battle_info(caster_id: u32, skill_index: u32) -> SceneBattleInfo
|
|||||||
.collect(),
|
.collect(),
|
||||||
})),
|
})),
|
||||||
}),
|
}),
|
||||||
scepter: Some(Hnpkkiadpid { mokbhfdehnf: 5 }),
|
scepter: Some(Plgjihifpag { egmebanhhnf: 5 }),
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -9,14 +9,14 @@ use crate::{
|
|||||||
use super::*;
|
use super::*;
|
||||||
|
|
||||||
const SERVER_UID: u32 = 727;
|
const SERVER_UID: u32 = 727;
|
||||||
const SERVER_HEAD_ICON: u32 = 201008;
|
const SERVER_HEAD_ICON: u32 = 201402;
|
||||||
const SERVER_CHAT_BUBBLE_ID: u32 = 220005;
|
const SERVER_CHAT_BUBBLE_ID: u32 = 220005;
|
||||||
const SERVER_CHAT_HISTORY: [&str; 5] = [
|
const SERVER_CHAT_HISTORY: [&str; 5] = [
|
||||||
"'dvd' render a dvd bouncing effect. you need to put the image into your game folder, with name \"image.png\"",
|
"'sync' to synchronize stats between json and in-game view",
|
||||||
"'sync'",
|
|
||||||
"'mc {mc_id}' mc_id can be set from 8001 to 8008",
|
"'mc {mc_id}' mc_id can be set from 8001 to 8008",
|
||||||
"'march {march_id}' march_id can be set 1001 or 1224",
|
"'march {march_id}' march_id can be set 1001 or 1224",
|
||||||
"available command:",
|
"available commands:",
|
||||||
|
"visit srtools.pages.dev to configure the PS! (you configure relics, equipment, monsters from there)"
|
||||||
];
|
];
|
||||||
|
|
||||||
pub async fn on_get_friend_login_info_cs_req(
|
pub async fn on_get_friend_login_info_cs_req(
|
||||||
@ -90,6 +90,7 @@ pub async fn on_send_msg_cs_req(
|
|||||||
from_uid: SERVER_UID,
|
from_uid: SERVER_UID,
|
||||||
to_uid: 25,
|
to_uid: 25,
|
||||||
chat_type: body.chat_type,
|
chat_type: body.chat_type,
|
||||||
|
hnbepabnbng: body.hnbepabnbng.clone(),
|
||||||
})
|
})
|
||||||
.await
|
.await
|
||||||
.unwrap();
|
.unwrap();
|
||||||
@ -121,18 +122,25 @@ pub async fn on_send_msg_cs_req(
|
|||||||
from_uid: SERVER_UID,
|
from_uid: SERVER_UID,
|
||||||
to_uid: 25,
|
to_uid: 25,
|
||||||
chat_type: body.chat_type,
|
chat_type: body.chat_type,
|
||||||
|
hnbepabnbng: body.hnbepabnbng.clone(),
|
||||||
})
|
})
|
||||||
.await
|
.await
|
||||||
.unwrap();
|
.unwrap();
|
||||||
}
|
}
|
||||||
"march" => {
|
"march" => {
|
||||||
let march_type = MultiPathAvatar::from(
|
let mut march_type = MultiPathAvatar::from(
|
||||||
args.first()
|
args.first()
|
||||||
.unwrap_or(&"")
|
.unwrap_or(&"")
|
||||||
.parse::<u32>()
|
.parse::<u32>()
|
||||||
.unwrap_or(json.march_type as u32),
|
.unwrap_or(json.march_type as u32),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
if march_type != MultiPathAvatar::MarchPreservation
|
||||||
|
&& march_type != MultiPathAvatar::MarchHunt
|
||||||
|
{
|
||||||
|
march_type = MultiPathAvatar::MarchHunt
|
||||||
|
}
|
||||||
|
|
||||||
json.march_type = march_type;
|
json.march_type = march_type;
|
||||||
json.save().await;
|
json.save().await;
|
||||||
|
|
||||||
@ -152,6 +160,7 @@ pub async fn on_send_msg_cs_req(
|
|||||||
from_uid: SERVER_UID,
|
from_uid: SERVER_UID,
|
||||||
to_uid: 25,
|
to_uid: 25,
|
||||||
chat_type: body.chat_type,
|
chat_type: body.chat_type,
|
||||||
|
hnbepabnbng: body.hnbepabnbng.clone(),
|
||||||
})
|
})
|
||||||
.await
|
.await
|
||||||
.unwrap();
|
.unwrap();
|
||||||
|
|||||||
@ -113,7 +113,10 @@ async fn refresh_lineup(session: &mut PlayerSession, player: &FreesrData) {
|
|||||||
})),
|
})),
|
||||||
})
|
})
|
||||||
.collect(),
|
.collect(),
|
||||||
|
bccgjihncdn: Vec::with_capacity(0),
|
||||||
}],
|
}],
|
||||||
|
floor_id: 0, // TODO!
|
||||||
|
gfhglffhfbd: 0,
|
||||||
})
|
})
|
||||||
.await
|
.await
|
||||||
.unwrap();
|
.unwrap();
|
||||||
|
|||||||
@ -110,7 +110,6 @@ dummy! {
|
|||||||
GetPlayerBoardData,
|
GetPlayerBoardData,
|
||||||
GetActivityScheduleConfig,
|
GetActivityScheduleConfig,
|
||||||
GetMissionData,
|
GetMissionData,
|
||||||
GetMissionEventData,
|
|
||||||
GetChallenge,
|
GetChallenge,
|
||||||
GetCurChallenge,
|
GetCurChallenge,
|
||||||
GetRogueInfo,
|
GetRogueInfo,
|
||||||
|
|||||||
@ -1,9 +1,6 @@
|
|||||||
use std::collections::HashMap;
|
use std::collections::HashMap;
|
||||||
|
|
||||||
use crate::{
|
use crate::net::tools::{FreesrData, MultiPathAvatar};
|
||||||
net::tools::{FreesrData, MultiPathAvatar},
|
|
||||||
util::cur_timestamp_ms,
|
|
||||||
};
|
|
||||||
|
|
||||||
use super::*;
|
use super::*;
|
||||||
|
|
||||||
@ -27,8 +24,8 @@ pub async fn on_player_heart_beat_cs_req(
|
|||||||
res.download_data = Some(ClientDownloadData {
|
res.download_data = Some(ClientDownloadData {
|
||||||
version: 51,
|
version: 51,
|
||||||
time: res.server_time_ms as i64,
|
time: res.server_time_ms as i64,
|
||||||
data: rbase64::decode("bG9jYWwgZnVuY3Rpb24gYmV0YV90ZXh0KG9iaikKICAgIGxvY2FsIGdhbWVPYmplY3QgPSBDUy5Vbml0eUVuZ2luZS5HYW1lT2JqZWN0LkZpbmQoIlVJUm9vdC9BYm92ZURpYWxvZy9CZXRhSGludERpYWxvZyhDbG9uZSkiKQoKICAgIGlmIGdhbWVPYmplY3QgdGhlbgogICAgICAgIGxvY2FsIHRleHRDb21wb25lbnQgPSBnYW1lT2JqZWN0OkdldENvbXBvbmVudEluQ2hpbGRyZW4odHlwZW9mKENTLlJQRy5DbGllbnQuTG9jYWxpemVkVGV4dCkpCgogICAgICAgIGlmIHRleHRDb21wb25lbnQgdGhlbgogICAgICAgICAgICB0ZXh0Q29tcG9uZW50LnRleHQgPSAiUm9iaW5TUiBpcyBhIGZyZWUgYW5kIG9wZW4gc291cmNlIHNvZnR3YXJlLiBkaXNjb3JkLmdnL3JldmVyc2Vkcm9vbXMiCiAgICAgICAgZW5kCiAgICBlbHNlCiAgICBlbmQKZW5kCgpiZXRhX3RleHQoKQ==").unwrap(),
|
data: rbase64::decode("bG9jYWwgZnVuY3Rpb24gYmV0YV90ZXh0KG9iaikKICAgIGxvY2FsIGdhbWVPYmplY3QgPSBDUy5Vbml0eUVuZ2luZS5HYW1lT2JqZWN0LkZpbmQoIlVJUm9vdC9BYm92ZURpYWxvZy9CZXRhSGludERpYWxvZyhDbG9uZSkiKQogICAgaWYgZ2FtZU9iamVjdCB0aGVuCiAgICAgICAgbG9jYWwgdGV4dENvbXBvbmVudCA9IGdhbWVPYmplY3Q6R2V0Q29tcG9uZW50SW5DaGlsZHJlbih0eXBlb2YoQ1MuUlBHLkNsaWVudC5Mb2NhbGl6ZWRUZXh0KSkKICAgICAgICBpZiB0ZXh0Q29tcG9uZW50IHRoZW4KICAgICAgICAgICAgdGV4dENvbXBvbmVudC50ZXh0ID0gIiIKICAgICAgICBlbmQKICAgIGVuZAplbmQKCmxvY2FsIGZ1bmN0aW9uIHZlcnNpb25fdGV4dChvYmopCiAgICBsb2NhbCBnYW1lT2JqZWN0ID0gQ1MuVW5pdHlFbmdpbmUuR2FtZU9iamVjdC5GaW5kKCJWZXJzaW9uVGV4dCIpCiAgICBpZiBnYW1lT2JqZWN0IHRoZW4KICAgICAgICBsb2NhbCB0ZXh0Q29tcG9uZW50ID0gZ2FtZU9iamVjdDpHZXRDb21wb25lbnRJbkNoaWxkcmVuKHR5cGVvZihDUy5SUEcuQ2xpZW50LkxvY2FsaXplZFRleHQpKQogICAgICAgIGlmIHRleHRDb21wb25lbnQgdGhlbgogICAgICAgICAgICB0ZXh0Q29tcG9uZW50LnRleHQgPSAiPGNvbG9yPSMwMGUxZmY+Um9iaW5TUiE8L2NvbG9yPiIKICAgICAgICBlbmQKICAgIGVuZAplbmQKCnZlcnNpb25fdGV4dCgpCmJldGFfdGV4dCgpCg==").unwrap(),
|
||||||
ghkpbpdfijh: 0
|
haehhcpoapp: 0
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -98,6 +95,7 @@ pub async fn on_get_multi_path_avatar_info_cs_req(
|
|||||||
.find(|v| v.equip_avatar == *mp_type as u32)
|
.find(|v| v.equip_avatar == *mp_type as u32)
|
||||||
.map(|v| v.internal_uid)
|
.map(|v| v.internal_uid)
|
||||||
.unwrap_or_default(),
|
.unwrap_or_default(),
|
||||||
|
dressed_skin_id: 0,
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
.collect();
|
.collect();
|
||||||
|
|||||||
@ -368,7 +368,7 @@ async fn load_scene(
|
|||||||
scene_info.entity_group_list.push(SceneEntityGroupInfo {
|
scene_info.entity_group_list.push(SceneEntityGroupInfo {
|
||||||
state: 0,
|
state: 0,
|
||||||
group_id: 0,
|
group_id: 0,
|
||||||
gbnnlkibhon: HashMap::new(),
|
hejamoojbcj: HashMap::with_capacity(0),
|
||||||
entity_list: json
|
entity_list: json
|
||||||
.lineups
|
.lineups
|
||||||
.iter()
|
.iter()
|
||||||
|
|||||||
@ -219,4 +219,5 @@ trait_handler! {
|
|||||||
DoGacha;
|
DoGacha;
|
||||||
PlayerLoginFinish;
|
PlayerLoginFinish;
|
||||||
RelicRecommend;
|
RelicRecommend;
|
||||||
|
// SetClientPaused;
|
||||||
}
|
}
|
||||||
|
|||||||
63916
proto/out/_.rs
63916
proto/out/_.rs
File diff suppressed because it is too large
Load Diff
@ -39,24 +39,26 @@ pub async fn query_gateway(parameters: Query<QueryGatewayParameters>) -> String
|
|||||||
retcode: 0,
|
retcode: 0,
|
||||||
ip: String::from("127.0.0.1"),
|
ip: String::from("127.0.0.1"),
|
||||||
port: 23301,
|
port: 23301,
|
||||||
asset_bundle_url: config.asset_bundle_url.clone(),
|
video_bundle_version_update_url: config.asset_bundle_url.clone(),
|
||||||
ex_resource_url: config.ex_resource_url.clone(),
|
design_data_bundle_version_update_url: config.ex_resource_url.clone(),
|
||||||
lua_url: config.lua_url.clone(),
|
lua_bundle_version_update_url: config.lua_url.clone(),
|
||||||
ifix_version: String::from("0"),
|
i_fix_patch_revision: String::from("0"),
|
||||||
unk1: true,
|
enable_video_bundle_version_update: true,
|
||||||
unk2: true,
|
enable_design_data_bundle_version_update: true,
|
||||||
unk3: true,
|
enable_upload_battle_log: true,
|
||||||
unk4: true,
|
network_diagnostic: true,
|
||||||
unk5: true,
|
close_redeem_code: true,
|
||||||
unk6: true,
|
android_middle_package_enable: true,
|
||||||
unk7: true,
|
ejcmkocjnkg: true,
|
||||||
|
event_tracking_open: true,
|
||||||
|
nehifogigfc: true,
|
||||||
|
cdn_ipv_6_enable: 1,
|
||||||
..Default::default()
|
..Default::default()
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
Gateserver {
|
Gateserver {
|
||||||
retcode: 9,
|
retcode: 9,
|
||||||
msg: format!("forbidden version: {} or invalid bind", parameters.version),
|
login_white_msg: format!("forbidden version: {} or invalid bind", parameters.version),
|
||||||
..Default::default()
|
..Default::default()
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@ -1,14 +1,14 @@
|
|||||||
{
|
{
|
||||||
"CNBETAWin2.5.51": {
|
"CNBETAWin3.0.51": {
|
||||||
"asset_bundle_url": "",
|
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_9191572_33717c67eee7",
|
||||||
"ex_resource_url": "",
|
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_9194543_a2c963cc027a",
|
||||||
"lua_url": "",
|
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_9188077_6eddb96c0602",
|
||||||
"ifix_url": ""
|
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_0_40d2ce0253"
|
||||||
},
|
},
|
||||||
"CNBETAWin2.5.52": {
|
"OSBETAWin3.0.51": {
|
||||||
"asset_bundle_url": "",
|
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_9191572_33717c67eee7",
|
||||||
"ex_resource_url": "",
|
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_9194543_a2c963cc027a",
|
||||||
"lua_url": "",
|
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_9188077_6eddb96c0602",
|
||||||
"ifix_url": ""
|
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_0_40d2ce0253"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,8 +1,14 @@
|
|||||||
{
|
{
|
||||||
"OSBETAWin2.6.51": {
|
"CNBETAWin3.0.51": {
|
||||||
"asset_bundle_url": "",
|
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_9191572_33717c67eee7",
|
||||||
"ex_resource_url": "",
|
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_9194543_a2c963cc027a",
|
||||||
"lua_url": "",
|
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_9188077_6eddb96c0602",
|
||||||
"ifix_url": ""
|
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_0_40d2ce0253"
|
||||||
}
|
},
|
||||||
|
"OSBETAWin3.0.51": {
|
||||||
|
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_9191572_33717c67eee7",
|
||||||
|
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_9194543_a2c963cc027a",
|
||||||
|
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_9188077_6eddb96c0602",
|
||||||
|
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_0_40d2ce0253"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user