1.4 Walking simulator, rest of features incoming during weekend.
Any question from anyone trying to run from this commit will be ignored and blocked.
This commit is contained in:
parent
395f249207
commit
85fbc933ba
51 changed files with 4705067 additions and 181971 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -1,3 +1,4 @@
|
||||||
|
.idea
|
||||||
/target
|
/target
|
||||||
/hotpatch.toml
|
/hotpatch.toml
|
||||||
/configserver.toml
|
/configserver.toml
|
||||||
|
|
|
@ -2,5 +2,5 @@ FROM alpine:3.20
|
||||||
ARG MICROSERVICE
|
ARG MICROSERVICE
|
||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
COPY --from=shorekeeper-builder:1.3.0-SNAPSHOT /app/target/release/$MICROSERVICE ./service
|
COPY --from=camellya-builder:1.3.0-SNAPSHOT /app/target/release/$MICROSERVICE ./service
|
||||||
CMD ["./service"]
|
CMD ["./service"]
|
|
@ -2,8 +2,16 @@
|
||||||
"default": {
|
"default": {
|
||||||
"CdnUrl": [
|
"CdnUrl": [
|
||||||
{
|
{
|
||||||
"url": "http://127.0.0.1:10002/prod/client/",
|
"url": "https://cdn-huoshan-cn-mc.aki-game.com/prod/client/",
|
||||||
"weight": "2323"
|
"weight": "2323"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "https://cdn-qiniu-cn-mc.aki-game.com/prod/client/",
|
||||||
|
"weight": "1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "https://cdn-qcloud-cn-mc.aki-game.com/prod/client/",
|
||||||
|
"weight": "5443"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"SecondaryUrl": [],
|
"SecondaryUrl": [],
|
||||||
|
@ -32,13 +40,13 @@
|
||||||
"GmOpen": false,
|
"GmOpen": false,
|
||||||
"IosAuditFirstDownloadTip": false,
|
"IosAuditFirstDownloadTip": false,
|
||||||
"NoticeUrl": "http://127.0.0.1:10001/notice",
|
"NoticeUrl": "http://127.0.0.1:10001/notice",
|
||||||
"MixUri": "rODM5DcqOhYsIOtsEuZWNGFa2guZgl57",
|
"MixUri": "fcQrWOPC2RkghpzsAE2kyGWD37QTm2mR",
|
||||||
"ResUri": "rODM5DcqOhYsIOtsEuZWNGFa2guZgl57",
|
"ResUri": "fcQrWOPC2RkghpzsAE2kyGWD37QTm2mR",
|
||||||
"LoginServers": [
|
"LoginServers": [
|
||||||
{
|
{
|
||||||
"id": "f9e0fc655c1931bc03ad976e9fc14473",
|
"id": "f9e0fc655c1931bc03ad976e9fc14473",
|
||||||
"ip": "http://127.0.0.1:5500",
|
"ip": "http://127.0.0.1:5500",
|
||||||
"name": "Shorekeeper"
|
"name": "Camellya"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"PrivateServers": {
|
"PrivateServers": {
|
||||||
|
|
|
@ -1,60 +1,44 @@
|
||||||
{
|
{
|
||||||
"PackageVersion": "1.3.0",
|
"PackageVersion": "1.4.0",
|
||||||
"LauncherVersion": "1.3.9",
|
"LauncherVersion": "1.4.0",
|
||||||
"ResourceVersion": "1.3.9",
|
"ResourceVersion": "1.4.3",
|
||||||
"LauncherIndexSha1": {
|
"LauncherIndexSha1": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
|
||||||
"1.3.1": "90FDF17EA0B4015D43C344CB7229E76AB32549DD",
|
|
||||||
"1.3.2": "C9A587AB1FA6CA57CD23E0FB3F0103BFDCAA8E37",
|
|
||||||
"1.3.3": "1C7AF02F13DBE69637DB43039E2FFB8C9AD9A04B",
|
|
||||||
"1.3.4": "DA50F315041E216568A7713074C6475F6AB4530E",
|
|
||||||
"1.3.5": "EA9C6F6D5E920F47F96D8F8BC366A4CED62A0346",
|
|
||||||
"1.3.6": "8CA7E6573A52B16CFAA29E996D389918B6829E7A",
|
|
||||||
"1.3.7": "FCAAED58E5983027A82F52C350418CCE7BD531D2",
|
|
||||||
"1.3.8": "91D6231B3F4C9A6605B79E23D0C02F9790DD6BCF",
|
|
||||||
"1.3.9": "B36BD648AB2A637A4E087B7B115A6CCBDAEBDF9A"
|
|
||||||
},
|
|
||||||
"ResourceIndexSha1": {
|
"ResourceIndexSha1": {
|
||||||
"1.3.1": "2D635E549EB6F99659571D72741B62249473A77A",
|
"1.4.1": "0C747E444EC6DBA11D0C57B34E2638DE5182029F",
|
||||||
"1.3.2": "C5814A80EA3E7D80D4CFBCD884D1FD158BF0AD9D",
|
"1.4.2": "41751A94DBD406653DB52262E85BB716E45D9864",
|
||||||
"1.3.3": "1E0F05333B09A9215B4AA5C437BFC7DC4014E348",
|
"1.4.3": "424EDFD97BA8699CBC2CB9E27D3FCBB6F7C70806"
|
||||||
"1.3.4": "6155D492540A99ECF0DA06D2B7EEBFE36231FBC2",
|
|
||||||
"1.3.5": "1E60C8F60CA1AAA9955441B4F4265C8288B95F33",
|
|
||||||
"1.3.6": "AA10A8DD1025D5033E291060C686B816513ADCAD",
|
|
||||||
"1.3.7": "A9881305EBD3DC5A6892D49BDAF540F56EE56232",
|
|
||||||
"1.3.8": "261CA25DAD6877DF3C57DA39947130867FCC09CE",
|
|
||||||
"1.3.9": "88A9E40631FC1C11A91A61CB3F4BE8C13C5E2BD3"
|
|
||||||
},
|
},
|
||||||
"ChangeList": "2333675",
|
"ChangeList": "2585778",
|
||||||
"CompatibleChangeLists": [],
|
"CompatibleChangeLists": [],
|
||||||
"Versions": [
|
"Versions": [
|
||||||
{
|
{
|
||||||
"Name": "en",
|
"Name": "en",
|
||||||
"Version": "1.3.0",
|
"Version": "1.4.0",
|
||||||
"IndexSha1": {
|
"IndexSha1": {
|
||||||
"1.3.0": "6FB5B66EF8B3EECBBBEBE74A82BC23E3FC35450B"
|
"1.4.0": "34F9AC326B3E81E972B93094E43751967A6A3396"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Name": "ja",
|
"Name": "ja",
|
||||||
"Version": "1.3.0",
|
"Version": "1.4.0",
|
||||||
"IndexSha1": {
|
"IndexSha1": {
|
||||||
"1.3.0": "E4DA1960DB36CE8166C042AD8B9AF98C1A9119F3"
|
"1.4.0": "3233223428D586FBC0A2EC817F4E94DDD10C646F"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Name": "ko",
|
"Name": "ko",
|
||||||
"Version": "1.3.0",
|
"Version": "1.4.0",
|
||||||
"IndexSha1": {
|
"IndexSha1": {
|
||||||
"1.3.0": "498B379E95FC617385CCD832B8C359FA5AC220CE"
|
"1.4.0": "3CC0312BDFFF5FA4D3F5256E2618D0EF6AA84912"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Name": "zh",
|
"Name": "zh",
|
||||||
"Version": "1.3.0",
|
"Version": "1.4.0",
|
||||||
"IndexSha1": {
|
"IndexSha1": {
|
||||||
"1.3.0": "CC58C357A80E7B3846264918197FC3ECAA1FE190"
|
"1.4.0": "2F3AD1412C6991FE0E146C5E2F6F86D8D9F44A5D"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"UpdateTime": 1725869509
|
"UpdateTime": 1729243476
|
||||||
}
|
}
|
150539
assets/logic/BinData/BaseProperty.json
Normal file
150539
assets/logic/BinData/BaseProperty.json
Normal file
File diff suppressed because it is too large
Load diff
246
assets/logic/BinData/ExploreTools.json
Normal file
246
assets/logic/BinData/ExploreTools.json
Normal file
|
@ -0,0 +1,246 @@
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"PhantomSkillId": 1004,
|
||||||
|
"Name": "ExploreTools_1004_Name",
|
||||||
|
"SkillType": 1,
|
||||||
|
"CurrentSkillInfo": "ExploreTools_1004_CurrentSkillInfo",
|
||||||
|
"HelpId": 0,
|
||||||
|
"Icon": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT3.SP_IconT3",
|
||||||
|
"BackGround": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT3.SP_IconT3",
|
||||||
|
"BattleViewIcon": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT3.SP_IconT3",
|
||||||
|
"SortId": 3,
|
||||||
|
"AutoFill": true,
|
||||||
|
"ShowUnlock": false,
|
||||||
|
"SkillGroupId": 1,
|
||||||
|
"IsUseInPhantomTeam": false,
|
||||||
|
"Cost": {},
|
||||||
|
"Authorization": {},
|
||||||
|
"SummonConfigId": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"PhantomSkillId": 1001,
|
||||||
|
"Name": "ExploreTools_1001_Name",
|
||||||
|
"SkillType": 1,
|
||||||
|
"CurrentSkillInfo": "ExploreTools_1001_CurrentSkillInfo",
|
||||||
|
"HelpId": 0,
|
||||||
|
"Icon": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT6.SP_IconT6",
|
||||||
|
"BackGround": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT6.SP_IconT6",
|
||||||
|
"BattleViewIcon": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT6.SP_IconT6",
|
||||||
|
"SortId": 1,
|
||||||
|
"AutoFill": true,
|
||||||
|
"ShowUnlock": false,
|
||||||
|
"SkillGroupId": 1,
|
||||||
|
"IsUseInPhantomTeam": false,
|
||||||
|
"Cost": {},
|
||||||
|
"Authorization": {},
|
||||||
|
"SummonConfigId": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"PhantomSkillId": 1003,
|
||||||
|
"Name": "ExploreTools_1003_Name",
|
||||||
|
"SkillType": 1,
|
||||||
|
"CurrentSkillInfo": "ExploreTools_1003_CurrentSkillInfo",
|
||||||
|
"HelpId": 0,
|
||||||
|
"Icon": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT1.SP_IconT1",
|
||||||
|
"BackGround": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT1.SP_IconT1",
|
||||||
|
"BattleViewIcon": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT1.SP_IconT1",
|
||||||
|
"SortId": 4,
|
||||||
|
"AutoFill": true,
|
||||||
|
"ShowUnlock": false,
|
||||||
|
"SkillGroupId": 1,
|
||||||
|
"IsUseInPhantomTeam": false,
|
||||||
|
"Cost": {},
|
||||||
|
"Authorization": {},
|
||||||
|
"SummonConfigId": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"PhantomSkillId": 1005,
|
||||||
|
"Name": "ExploreTools_1005_Name",
|
||||||
|
"SkillType": 2,
|
||||||
|
"CurrentSkillInfo": "ExploreTools_1005_CurrentSkillInfo",
|
||||||
|
"HelpId": 0,
|
||||||
|
"Icon": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT2.SP_IconT2",
|
||||||
|
"BackGround": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT2.SP_IconT2",
|
||||||
|
"BattleViewIcon": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT2.SP_IconT2",
|
||||||
|
"SortId": 5,
|
||||||
|
"AutoFill": false,
|
||||||
|
"ShowUnlock": false,
|
||||||
|
"SkillGroupId": 1,
|
||||||
|
"IsUseInPhantomTeam": false,
|
||||||
|
"Cost": {},
|
||||||
|
"Authorization": {},
|
||||||
|
"SummonConfigId": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"PhantomSkillId": 1006,
|
||||||
|
"Name": "ExploreTools_1006_Name",
|
||||||
|
"SkillType": 2,
|
||||||
|
"CurrentSkillInfo": "ExploreTools_1006_CurrentSkillInfo",
|
||||||
|
"HelpId": 0,
|
||||||
|
"Icon": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT5.SP_IconT5",
|
||||||
|
"BackGround": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT5.SP_IconT5",
|
||||||
|
"BattleViewIcon": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT5.SP_IconT5",
|
||||||
|
"SortId": 6,
|
||||||
|
"AutoFill": false,
|
||||||
|
"ShowUnlock": false,
|
||||||
|
"SkillGroupId": 1,
|
||||||
|
"IsUseInPhantomTeam": false,
|
||||||
|
"Cost": {},
|
||||||
|
"Authorization": {},
|
||||||
|
"SummonConfigId": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"PhantomSkillId": 1007,
|
||||||
|
"Name": "ExploreTools_1007_Name",
|
||||||
|
"SkillType": 1,
|
||||||
|
"CurrentSkillInfo": "ExploreTools_1007_CurrentSkillInfo",
|
||||||
|
"HelpId": 0,
|
||||||
|
"Icon": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT29.SP_IconT29",
|
||||||
|
"BackGround": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT29.SP_IconT29",
|
||||||
|
"BattleViewIcon": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT29.SP_IconT29",
|
||||||
|
"SortId": 7,
|
||||||
|
"AutoFill": false,
|
||||||
|
"ShowUnlock": false,
|
||||||
|
"SkillGroupId": 1,
|
||||||
|
"IsUseInPhantomTeam": false,
|
||||||
|
"Cost": {},
|
||||||
|
"Authorization": {},
|
||||||
|
"SummonConfigId": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"PhantomSkillId": 1009,
|
||||||
|
"Name": "ExploreTools_1009_Name",
|
||||||
|
"SkillType": 1,
|
||||||
|
"CurrentSkillInfo": "ExploreTools_1009_CurrentSkillInfo",
|
||||||
|
"HelpId": 0,
|
||||||
|
"Icon": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT9.SP_IconT9",
|
||||||
|
"BackGround": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT9.SP_IconT9",
|
||||||
|
"BattleViewIcon": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT9.SP_IconT9",
|
||||||
|
"SortId": 9,
|
||||||
|
"AutoFill": false,
|
||||||
|
"ShowUnlock": false,
|
||||||
|
"SkillGroupId": 1,
|
||||||
|
"IsUseInPhantomTeam": true,
|
||||||
|
"Cost": {},
|
||||||
|
"Authorization": {},
|
||||||
|
"SummonConfigId": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"PhantomSkillId": 3001,
|
||||||
|
"Name": "ExploreTools_1009_Name",
|
||||||
|
"SkillType": 3,
|
||||||
|
"CurrentSkillInfo": "ExploreTools_1009_CurrentSkillInfo",
|
||||||
|
"HelpId": 0,
|
||||||
|
"Icon": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT9.SP_IconT9",
|
||||||
|
"BackGround": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT9.SP_IconT9",
|
||||||
|
"BattleViewIcon": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT9.SP_IconT9",
|
||||||
|
"SortId": 10,
|
||||||
|
"AutoFill": false,
|
||||||
|
"ShowUnlock": false,
|
||||||
|
"SkillGroupId": 1,
|
||||||
|
"IsUseInPhantomTeam": false,
|
||||||
|
"Cost": {},
|
||||||
|
"Authorization": {},
|
||||||
|
"SummonConfigId": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"PhantomSkillId": 3002,
|
||||||
|
"Name": "ExploreTools_1009_Name",
|
||||||
|
"SkillType": 3,
|
||||||
|
"CurrentSkillInfo": "ExploreTools_1009_CurrentSkillInfo",
|
||||||
|
"HelpId": 0,
|
||||||
|
"Icon": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT9.SP_IconT9",
|
||||||
|
"BackGround": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT9.SP_IconT9",
|
||||||
|
"BattleViewIcon": "/Game/Aki/UI/UIResources/UiSkillswitching/Atlas/SP_SkillswitchingItemNone.SP_SkillswitchingItemNone",
|
||||||
|
"SortId": 10,
|
||||||
|
"AutoFill": false,
|
||||||
|
"ShowUnlock": false,
|
||||||
|
"SkillGroupId": 1,
|
||||||
|
"IsUseInPhantomTeam": false,
|
||||||
|
"Cost": {},
|
||||||
|
"Authorization": {},
|
||||||
|
"SummonConfigId": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"PhantomSkillId": 1010,
|
||||||
|
"Name": "ExploreTools_1010_Name",
|
||||||
|
"SkillType": 1,
|
||||||
|
"CurrentSkillInfo": "ExploreTools_1010_CurrentSkillInfo",
|
||||||
|
"HelpId": 30,
|
||||||
|
"Icon": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT30.SP_IconT30",
|
||||||
|
"BackGround": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT30.SP_IconT30",
|
||||||
|
"BattleViewIcon": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT30.SP_IconT30",
|
||||||
|
"SortId": 11,
|
||||||
|
"AutoFill": true,
|
||||||
|
"ShowUnlock": false,
|
||||||
|
"SkillGroupId": 1,
|
||||||
|
"IsUseInPhantomTeam": false,
|
||||||
|
"Cost": {
|
||||||
|
"10808": 1
|
||||||
|
},
|
||||||
|
"Authorization": {},
|
||||||
|
"SummonConfigId": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"PhantomSkillId": 1011,
|
||||||
|
"Name": "ExploreTools_1011_Name",
|
||||||
|
"SkillType": 1,
|
||||||
|
"CurrentSkillInfo": "ExploreTools_1011_CurrentSkillInfo",
|
||||||
|
"HelpId": 28,
|
||||||
|
"Icon": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT32.SP_IconT32",
|
||||||
|
"BackGround": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT32.SP_IconT32",
|
||||||
|
"BattleViewIcon": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT32.SP_IconT32",
|
||||||
|
"SortId": 12,
|
||||||
|
"AutoFill": true,
|
||||||
|
"ShowUnlock": false,
|
||||||
|
"SkillGroupId": 1,
|
||||||
|
"IsUseInPhantomTeam": false,
|
||||||
|
"Cost": {
|
||||||
|
"10807": 1
|
||||||
|
},
|
||||||
|
"Authorization": {
|
||||||
|
"1": 10805,
|
||||||
|
"900": 10805
|
||||||
|
},
|
||||||
|
"SummonConfigId": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"PhantomSkillId": 1012,
|
||||||
|
"Name": "ExploreTools_1012_Name",
|
||||||
|
"SkillType": 1,
|
||||||
|
"CurrentSkillInfo": "ExploreTools_1012_CurrentSkillInfo",
|
||||||
|
"HelpId": 29,
|
||||||
|
"Icon": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT31.SP_IconT31",
|
||||||
|
"BackGround": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT31.SP_IconT31",
|
||||||
|
"BattleViewIcon": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT31.SP_IconT31",
|
||||||
|
"SortId": 13,
|
||||||
|
"AutoFill": true,
|
||||||
|
"ShowUnlock": false,
|
||||||
|
"SkillGroupId": 1,
|
||||||
|
"IsUseInPhantomTeam": false,
|
||||||
|
"Cost": {},
|
||||||
|
"Authorization": {
|
||||||
|
"1": 10806,
|
||||||
|
"900": 10806
|
||||||
|
},
|
||||||
|
"SummonConfigId": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"PhantomSkillId": 1013,
|
||||||
|
"Name": "ExploreTools_1013_Name",
|
||||||
|
"SkillType": 1,
|
||||||
|
"CurrentSkillInfo": "ExploreTools_1013_CurrentSkillInfo",
|
||||||
|
"HelpId": 0,
|
||||||
|
"Icon": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT34.SP_IconT34",
|
||||||
|
"BackGround": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT34.SP_IconT34",
|
||||||
|
"BattleViewIcon": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT34.SP_IconT34",
|
||||||
|
"SortId": 14,
|
||||||
|
"AutoFill": true,
|
||||||
|
"ShowUnlock": false,
|
||||||
|
"SkillGroupId": 1,
|
||||||
|
"IsUseInPhantomTeam": false,
|
||||||
|
"Cost": {},
|
||||||
|
"Authorization": {},
|
||||||
|
"SummonConfigId": 24000022
|
||||||
|
}
|
||||||
|
]
|
1058
assets/logic/BinData/FunctionCondition.json
Normal file
1058
assets/logic/BinData/FunctionCondition.json
Normal file
File diff suppressed because it is too large
Load diff
53394
assets/logic/BinData/InstanceDungeon.json
Normal file
53394
assets/logic/BinData/InstanceDungeon.json
Normal file
File diff suppressed because it is too large
Load diff
4044
assets/logic/BinData/RoleInfo.json
Normal file
4044
assets/logic/BinData/RoleInfo.json
Normal file
File diff suppressed because it is too large
Load diff
6192
assets/logic/BinData/WeaponConf.json
Normal file
6192
assets/logic/BinData/WeaponConf.json
Normal file
File diff suppressed because it is too large
Load diff
345078
assets/logic/Textmaps/de/multi_text/MultiText.json
Normal file
345078
assets/logic/Textmaps/de/multi_text/MultiText.json
Normal file
File diff suppressed because one or more lines are too long
345078
assets/logic/Textmaps/en/multi_text/MultiText.json
Normal file
345078
assets/logic/Textmaps/en/multi_text/MultiText.json
Normal file
File diff suppressed because one or more lines are too long
345078
assets/logic/Textmaps/es/multi_text/MultiText.json
Normal file
345078
assets/logic/Textmaps/es/multi_text/MultiText.json
Normal file
File diff suppressed because one or more lines are too long
345078
assets/logic/Textmaps/fr/multi_text/MultiText.json
Normal file
345078
assets/logic/Textmaps/fr/multi_text/MultiText.json
Normal file
File diff suppressed because one or more lines are too long
345078
assets/logic/Textmaps/id/multi_text/MultiText.json
Normal file
345078
assets/logic/Textmaps/id/multi_text/MultiText.json
Normal file
File diff suppressed because it is too large
Load diff
345078
assets/logic/Textmaps/ja/multi_text/MultiText.json
Normal file
345078
assets/logic/Textmaps/ja/multi_text/MultiText.json
Normal file
File diff suppressed because one or more lines are too long
345078
assets/logic/Textmaps/ko/multi_text/MultiText.json
Normal file
345078
assets/logic/Textmaps/ko/multi_text/MultiText.json
Normal file
File diff suppressed because one or more lines are too long
345078
assets/logic/Textmaps/pt/multi_text/MultiText.json
Normal file
345078
assets/logic/Textmaps/pt/multi_text/MultiText.json
Normal file
File diff suppressed because it is too large
Load diff
345078
assets/logic/Textmaps/ru/multi_text/MultiText.json
Normal file
345078
assets/logic/Textmaps/ru/multi_text/MultiText.json
Normal file
File diff suppressed because it is too large
Load diff
345078
assets/logic/Textmaps/th/multi_text/MultiText.json
Normal file
345078
assets/logic/Textmaps/th/multi_text/MultiText.json
Normal file
File diff suppressed because it is too large
Load diff
345078
assets/logic/Textmaps/vi/multi_text/MultiText.json
Normal file
345078
assets/logic/Textmaps/vi/multi_text/MultiText.json
Normal file
File diff suppressed because it is too large
Load diff
345078
assets/logic/Textmaps/zh-Hans/multi_text/MultiText.json
Normal file
345078
assets/logic/Textmaps/zh-Hans/multi_text/MultiText.json
Normal file
File diff suppressed because one or more lines are too long
345078
assets/logic/Textmaps/zh-Hant/multi_text/MultiText.json
Normal file
345078
assets/logic/Textmaps/zh-Hant/multi_text/MultiText.json
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load diff
|
@ -1,246 +0,0 @@
|
||||||
[
|
|
||||||
{
|
|
||||||
"PhantomSkillId": 1004,
|
|
||||||
"Name": "ExploreTools_1004_Name",
|
|
||||||
"SkillType": 1,
|
|
||||||
"CurrentSkillInfo": "ExploreTools_1004_CurrentSkillInfo",
|
|
||||||
"HelpId": 0,
|
|
||||||
"Icon": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT3.SP_IconT3",
|
|
||||||
"BackGround": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT3.SP_IconT3",
|
|
||||||
"BattleViewIcon": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT3.SP_IconT3",
|
|
||||||
"SortId": 3,
|
|
||||||
"AutoFill": true,
|
|
||||||
"ShowUnlock": false,
|
|
||||||
"SkillGroupId": 1,
|
|
||||||
"IsUseInPhantomTeam": false,
|
|
||||||
"Cost": {},
|
|
||||||
"Authorization": {},
|
|
||||||
"SummonConfigId": 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"PhantomSkillId": 1001,
|
|
||||||
"Name": "ExploreTools_1001_Name",
|
|
||||||
"SkillType": 1,
|
|
||||||
"CurrentSkillInfo": "ExploreTools_1001_CurrentSkillInfo",
|
|
||||||
"HelpId": 0,
|
|
||||||
"Icon": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT6.SP_IconT6",
|
|
||||||
"BackGround": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT6.SP_IconT6",
|
|
||||||
"BattleViewIcon": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT6.SP_IconT6",
|
|
||||||
"SortId": 1,
|
|
||||||
"AutoFill": true,
|
|
||||||
"ShowUnlock": false,
|
|
||||||
"SkillGroupId": 1,
|
|
||||||
"IsUseInPhantomTeam": false,
|
|
||||||
"Cost": {},
|
|
||||||
"Authorization": {},
|
|
||||||
"SummonConfigId": 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"PhantomSkillId": 1003,
|
|
||||||
"Name": "ExploreTools_1003_Name",
|
|
||||||
"SkillType": 1,
|
|
||||||
"CurrentSkillInfo": "ExploreTools_1003_CurrentSkillInfo",
|
|
||||||
"HelpId": 0,
|
|
||||||
"Icon": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT1.SP_IconT1",
|
|
||||||
"BackGround": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT1.SP_IconT1",
|
|
||||||
"BattleViewIcon": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT1.SP_IconT1",
|
|
||||||
"SortId": 4,
|
|
||||||
"AutoFill": true,
|
|
||||||
"ShowUnlock": false,
|
|
||||||
"SkillGroupId": 1,
|
|
||||||
"IsUseInPhantomTeam": false,
|
|
||||||
"Cost": {},
|
|
||||||
"Authorization": {},
|
|
||||||
"SummonConfigId": 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"PhantomSkillId": 1005,
|
|
||||||
"Name": "ExploreTools_1005_Name",
|
|
||||||
"SkillType": 2,
|
|
||||||
"CurrentSkillInfo": "ExploreTools_1005_CurrentSkillInfo",
|
|
||||||
"HelpId": 0,
|
|
||||||
"Icon": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT2.SP_IconT2",
|
|
||||||
"BackGround": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT2.SP_IconT2",
|
|
||||||
"BattleViewIcon": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT2.SP_IconT2",
|
|
||||||
"SortId": 5,
|
|
||||||
"AutoFill": false,
|
|
||||||
"ShowUnlock": false,
|
|
||||||
"SkillGroupId": 1,
|
|
||||||
"IsUseInPhantomTeam": false,
|
|
||||||
"Cost": {},
|
|
||||||
"Authorization": {},
|
|
||||||
"SummonConfigId": 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"PhantomSkillId": 1006,
|
|
||||||
"Name": "ExploreTools_1006_Name",
|
|
||||||
"SkillType": 2,
|
|
||||||
"CurrentSkillInfo": "ExploreTools_1006_CurrentSkillInfo",
|
|
||||||
"HelpId": 0,
|
|
||||||
"Icon": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT5.SP_IconT5",
|
|
||||||
"BackGround": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT5.SP_IconT5",
|
|
||||||
"BattleViewIcon": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT5.SP_IconT5",
|
|
||||||
"SortId": 6,
|
|
||||||
"AutoFill": false,
|
|
||||||
"ShowUnlock": false,
|
|
||||||
"SkillGroupId": 1,
|
|
||||||
"IsUseInPhantomTeam": false,
|
|
||||||
"Cost": {},
|
|
||||||
"Authorization": {},
|
|
||||||
"SummonConfigId": 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"PhantomSkillId": 1007,
|
|
||||||
"Name": "ExploreTools_1007_Name",
|
|
||||||
"SkillType": 1,
|
|
||||||
"CurrentSkillInfo": "ExploreTools_1007_CurrentSkillInfo",
|
|
||||||
"HelpId": 0,
|
|
||||||
"Icon": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT29.SP_IconT29",
|
|
||||||
"BackGround": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT29.SP_IconT29",
|
|
||||||
"BattleViewIcon": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT29.SP_IconT29",
|
|
||||||
"SortId": 7,
|
|
||||||
"AutoFill": false,
|
|
||||||
"ShowUnlock": false,
|
|
||||||
"SkillGroupId": 1,
|
|
||||||
"IsUseInPhantomTeam": false,
|
|
||||||
"Cost": {},
|
|
||||||
"Authorization": {},
|
|
||||||
"SummonConfigId": 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"PhantomSkillId": 1009,
|
|
||||||
"Name": "ExploreTools_1009_Name",
|
|
||||||
"SkillType": 1,
|
|
||||||
"CurrentSkillInfo": "ExploreTools_1009_CurrentSkillInfo",
|
|
||||||
"HelpId": 0,
|
|
||||||
"Icon": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT9.SP_IconT9",
|
|
||||||
"BackGround": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT9.SP_IconT9",
|
|
||||||
"BattleViewIcon": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT9.SP_IconT9",
|
|
||||||
"SortId": 9,
|
|
||||||
"AutoFill": false,
|
|
||||||
"ShowUnlock": false,
|
|
||||||
"SkillGroupId": 1,
|
|
||||||
"IsUseInPhantomTeam": true,
|
|
||||||
"Cost": {},
|
|
||||||
"Authorization": {},
|
|
||||||
"SummonConfigId": 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"PhantomSkillId": 3001,
|
|
||||||
"Name": "ExploreTools_1009_Name",
|
|
||||||
"SkillType": 3,
|
|
||||||
"CurrentSkillInfo": "ExploreTools_1009_CurrentSkillInfo",
|
|
||||||
"HelpId": 0,
|
|
||||||
"Icon": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT9.SP_IconT9",
|
|
||||||
"BackGround": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT9.SP_IconT9",
|
|
||||||
"BattleViewIcon": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT9.SP_IconT9",
|
|
||||||
"SortId": 10,
|
|
||||||
"AutoFill": false,
|
|
||||||
"ShowUnlock": false,
|
|
||||||
"SkillGroupId": 1,
|
|
||||||
"IsUseInPhantomTeam": false,
|
|
||||||
"Cost": {},
|
|
||||||
"Authorization": {},
|
|
||||||
"SummonConfigId": 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"PhantomSkillId": 3002,
|
|
||||||
"Name": "ExploreTools_1009_Name",
|
|
||||||
"SkillType": 3,
|
|
||||||
"CurrentSkillInfo": "ExploreTools_1009_CurrentSkillInfo",
|
|
||||||
"HelpId": 0,
|
|
||||||
"Icon": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT9.SP_IconT9",
|
|
||||||
"BackGround": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT9.SP_IconT9",
|
|
||||||
"BattleViewIcon": "/Game/Aki/UI/UIResources/UiSkillswitching/Atlas/SP_SkillswitchingItemNone.SP_SkillswitchingItemNone",
|
|
||||||
"SortId": 10,
|
|
||||||
"AutoFill": false,
|
|
||||||
"ShowUnlock": false,
|
|
||||||
"SkillGroupId": 1,
|
|
||||||
"IsUseInPhantomTeam": false,
|
|
||||||
"Cost": {},
|
|
||||||
"Authorization": {},
|
|
||||||
"SummonConfigId": 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"PhantomSkillId": 1010,
|
|
||||||
"Name": "ExploreTools_1010_Name",
|
|
||||||
"SkillType": 1,
|
|
||||||
"CurrentSkillInfo": "ExploreTools_1010_CurrentSkillInfo",
|
|
||||||
"HelpId": 30,
|
|
||||||
"Icon": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT30.SP_IconT30",
|
|
||||||
"BackGround": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT30.SP_IconT30",
|
|
||||||
"BattleViewIcon": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT30.SP_IconT30",
|
|
||||||
"SortId": 11,
|
|
||||||
"AutoFill": true,
|
|
||||||
"ShowUnlock": false,
|
|
||||||
"SkillGroupId": 1,
|
|
||||||
"IsUseInPhantomTeam": false,
|
|
||||||
"Cost": {
|
|
||||||
"10808": 1
|
|
||||||
},
|
|
||||||
"Authorization": {},
|
|
||||||
"SummonConfigId": 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"PhantomSkillId": 1011,
|
|
||||||
"Name": "ExploreTools_1011_Name",
|
|
||||||
"SkillType": 1,
|
|
||||||
"CurrentSkillInfo": "ExploreTools_1011_CurrentSkillInfo",
|
|
||||||
"HelpId": 28,
|
|
||||||
"Icon": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT32.SP_IconT32",
|
|
||||||
"BackGround": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT32.SP_IconT32",
|
|
||||||
"BattleViewIcon": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT32.SP_IconT32",
|
|
||||||
"SortId": 12,
|
|
||||||
"AutoFill": true,
|
|
||||||
"ShowUnlock": false,
|
|
||||||
"SkillGroupId": 1,
|
|
||||||
"IsUseInPhantomTeam": false,
|
|
||||||
"Cost": {
|
|
||||||
"10807": 1
|
|
||||||
},
|
|
||||||
"Authorization": {
|
|
||||||
"1": 10805,
|
|
||||||
"900": 10805
|
|
||||||
},
|
|
||||||
"SummonConfigId": 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"PhantomSkillId": 1012,
|
|
||||||
"Name": "ExploreTools_1012_Name",
|
|
||||||
"SkillType": 1,
|
|
||||||
"CurrentSkillInfo": "ExploreTools_1012_CurrentSkillInfo",
|
|
||||||
"HelpId": 29,
|
|
||||||
"Icon": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT31.SP_IconT31",
|
|
||||||
"BackGround": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT31.SP_IconT31",
|
|
||||||
"BattleViewIcon": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT31.SP_IconT31",
|
|
||||||
"SortId": 13,
|
|
||||||
"AutoFill": true,
|
|
||||||
"ShowUnlock": false,
|
|
||||||
"SkillGroupId": 1,
|
|
||||||
"IsUseInPhantomTeam": false,
|
|
||||||
"Cost": {},
|
|
||||||
"Authorization": {
|
|
||||||
"1": 10806,
|
|
||||||
"900": 10806
|
|
||||||
},
|
|
||||||
"SummonConfigId": 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"PhantomSkillId": 1013,
|
|
||||||
"Name": "ExploreTools_1013_Name",
|
|
||||||
"SkillType": 1,
|
|
||||||
"CurrentSkillInfo": "ExploreTools_1013_CurrentSkillInfo",
|
|
||||||
"HelpId": 0,
|
|
||||||
"Icon": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT34.SP_IconT34",
|
|
||||||
"BackGround": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT34.SP_IconT34",
|
|
||||||
"BattleViewIcon": "/Game/Aki/UI/UIResources/Common/Atlas/SkillIcon/SkillIconNor/SP_IconT34.SP_IconT34",
|
|
||||||
"SortId": 14,
|
|
||||||
"AutoFill": true,
|
|
||||||
"ShowUnlock": false,
|
|
||||||
"SkillGroupId": 1,
|
|
||||||
"IsUseInPhantomTeam": false,
|
|
||||||
"Cost": {},
|
|
||||||
"Authorization": {},
|
|
||||||
"SummonConfigId": 24000022
|
|
||||||
}
|
|
||||||
]
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
16
builder.bat
16
builder.bat
|
@ -1,12 +1,12 @@
|
||||||
docker build -t shorekeeper-builder:1.3.0-SNAPSHOT -f Dockerfile-builder .
|
docker build -t camellya-builder:1.3.0-SNAPSHOT -f Dockerfile-builder .
|
||||||
|
|
||||||
docker build -t shorekeeper-config-server:1.3.0-SNAPSHOT --build-arg MICROSERVICE=config-server -f Dockerfile-service .
|
docker build -t camellya-config-server:1.3.0-SNAPSHOT --build-arg MICROSERVICE=config-server -f Dockerfile-service .
|
||||||
docker build -t shorekeeper-hotpatch-server:1.3.0-SNAPSHOT --build-arg MICROSERVICE=hotpatch-server -f Dockerfile-service .
|
docker build -t camellya-hotpatch-server:1.3.0-SNAPSHOT --build-arg MICROSERVICE=hotpatch-server -f Dockerfile-service .
|
||||||
docker build -t shorekeeper-login-server:1.3.0-SNAPSHOT --build-arg MICROSERVICE=login-server -f Dockerfile-service .
|
docker build -t camellya-login-server:1.3.0-SNAPSHOT --build-arg MICROSERVICE=login-server -f Dockerfile-service .
|
||||||
docker build -t shorekeeper-gateway-server:1.3.0-SNAPSHOT --build-arg MICROSERVICE=gateway-server -f Dockerfile-service .
|
docker build -t camellya-gateway-server:1.3.0-SNAPSHOT --build-arg MICROSERVICE=gateway-server -f Dockerfile-service .
|
||||||
docker build -t shorekeeper-game-server:1.3.0-SNAPSHOT --build-arg MICROSERVICE=game-server -f Dockerfile-service .
|
docker build -t camellya-game-server:1.3.0-SNAPSHOT --build-arg MICROSERVICE=game-server -f Dockerfile-service .
|
||||||
|
|
||||||
docker rmi shorekeeper-builder:1.3.0-SNAPSHOT
|
docker rmi camellya-builder:1.3.0-SNAPSHOT
|
||||||
|
|
||||||
: Persistence for the application
|
: Persistence for the application
|
||||||
docker volume create shorekeeper-postgres-vol
|
docker volume create camellya-postgres-vol
|
16
builder.sh
16
builder.sh
|
@ -1,12 +1,12 @@
|
||||||
docker build -t shorekeeper-builder:1.3.0-SNAPSHOT -f Dockerfile-builder .
|
docker build -t camellya-builder:1.3.0-SNAPSHOT -f Dockerfile-builder .
|
||||||
|
|
||||||
docker build -t shorekeeper-config-server:1.3.0-SNAPSHOT --build-arg MICROSERVICE=config-server -f Dockerfile-service .
|
docker build -t camellya-config-server:1.3.0-SNAPSHOT --build-arg MICROSERVICE=config-server -f Dockerfile-service .
|
||||||
docker build -t shorekeeper-hotpatch-server:1.3.0-SNAPSHOT --build-arg MICROSERVICE=hotpatch-server -f Dockerfile-service .
|
docker build -t camellya-hotpatch-server:1.3.0-SNAPSHOT --build-arg MICROSERVICE=hotpatch-server -f Dockerfile-service .
|
||||||
docker build -t shorekeeper-login-server:1.3.0-SNAPSHOT --build-arg MICROSERVICE=login-server -f Dockerfile-service .
|
docker build -t camellya-login-server:1.3.0-SNAPSHOT --build-arg MICROSERVICE=login-server -f Dockerfile-service .
|
||||||
docker build -t shorekeeper-gateway-server:1.3.0-SNAPSHOT --build-arg MICROSERVICE=gateway-server -f Dockerfile-service .
|
docker build -t camellya-gateway-server:1.3.0-SNAPSHOT --build-arg MICROSERVICE=gateway-server -f Dockerfile-service .
|
||||||
docker build -t shorekeeper-game-server:1.3.0-SNAPSHOT --build-arg MICROSERVICE=game-server -f Dockerfile-service .
|
docker build -t camellya-game-server:1.3.0-SNAPSHOT --build-arg MICROSERVICE=game-server -f Dockerfile-service .
|
||||||
|
|
||||||
docker rmi shorekeeper-builder:1.3.0-SNAPSHOT
|
docker rmi camellya-builder:1.3.0-SNAPSHOT
|
||||||
|
|
||||||
# Persistence for the application
|
# Persistence for the application
|
||||||
docker volume create shorekeeper-postgres-vol
|
docker volume create camellya-postgres-vol
|
13
docker-compose-hotpatch.yml
Normal file
13
docker-compose-hotpatch.yml
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
name: camellya-ps
|
||||||
|
|
||||||
|
services:
|
||||||
|
camellya-hotpatch-server:
|
||||||
|
image: camellya-hotpatch-server:1.3.0-SNAPSHOT
|
||||||
|
depends_on:
|
||||||
|
camellya-postgres:
|
||||||
|
condition: service_healthy
|
||||||
|
ports:
|
||||||
|
- '10002:10002'
|
||||||
|
volumes:
|
||||||
|
- "./docker/hotpatch.toml:/app/hotpatch.toml"
|
||||||
|
- "./assets/hotpatch:/app/assets/hotpatch"
|
|
@ -1,39 +1,29 @@
|
||||||
name: shorekeeper-ps
|
name: camellya-ps
|
||||||
|
|
||||||
services:
|
services:
|
||||||
shorekeeper-config-server:
|
camellya-config-server:
|
||||||
image: shorekeeper-config-server:1.3.0-SNAPSHOT
|
image: camellya-config-server:1.3.0-SNAPSHOT
|
||||||
depends_on:
|
depends_on:
|
||||||
shorekeeper-postgres:
|
camellya-postgres:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
ports:
|
ports:
|
||||||
- '10001:10001'
|
- '10001:10001'
|
||||||
volumes:
|
volumes:
|
||||||
- "./docker/configserver.toml:/app/configserver.toml"
|
- "./docker/configserver.toml:/app/configserver.toml"
|
||||||
- "./assets/config:/app/assets/config"
|
- "./assets/config:/app/assets/config"
|
||||||
shorekeeper-hotpatch-server:
|
camellya-login-server:
|
||||||
image: shorekeeper-hotpatch-server:1.3.0-SNAPSHOT
|
image: camellya-login-server:1.3.0-SNAPSHOT
|
||||||
depends_on:
|
depends_on:
|
||||||
shorekeeper-postgres:
|
camellya-postgres:
|
||||||
condition: service_healthy
|
|
||||||
ports:
|
|
||||||
- '10002:10002'
|
|
||||||
volumes:
|
|
||||||
- "./docker/hotpatch.toml:/app/hotpatch.toml"
|
|
||||||
- "./assets/hotpatch:/app/assets/hotpatch"
|
|
||||||
shorekeeper-login-server:
|
|
||||||
image: shorekeeper-login-server:1.3.0-SNAPSHOT
|
|
||||||
depends_on:
|
|
||||||
shorekeeper-postgres:
|
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
ports:
|
ports:
|
||||||
- '5500:5500'
|
- '5500:5500'
|
||||||
volumes:
|
volumes:
|
||||||
- "./docker/loginserver.toml:/app/loginserver.toml"
|
- "./docker/loginserver.toml:/app/loginserver.toml"
|
||||||
shorekeeper-gateway-server:
|
camellya-gateway-server:
|
||||||
image: shorekeeper-gateway-server:1.3.0-SNAPSHOT
|
image: camellya-gateway-server:1.3.0-SNAPSHOT
|
||||||
depends_on:
|
depends_on:
|
||||||
shorekeeper-postgres:
|
camellya-postgres:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
ports:
|
ports:
|
||||||
# Uncomment this if you want to have manual access
|
# Uncomment this if you want to have manual access
|
||||||
|
@ -41,10 +31,10 @@ services:
|
||||||
- '7777:7777/udp'
|
- '7777:7777/udp'
|
||||||
volumes:
|
volumes:
|
||||||
- "./docker/gateway.toml:/app/gateway.toml"
|
- "./docker/gateway.toml:/app/gateway.toml"
|
||||||
shorekeeper-game-server:
|
camellya-game-server:
|
||||||
image: shorekeeper-game-server:1.3.0-SNAPSHOT
|
image: camellya-game-server:1.3.0-SNAPSHOT
|
||||||
depends_on:
|
depends_on:
|
||||||
shorekeeper-postgres:
|
camellya-postgres:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
# Uncomment this if you want to have manual access
|
# Uncomment this if you want to have manual access
|
||||||
# ports:
|
# ports:
|
||||||
|
@ -52,12 +42,12 @@ services:
|
||||||
volumes:
|
volumes:
|
||||||
- "./docker/gameserver.toml:/app/gameserver.toml"
|
- "./docker/gameserver.toml:/app/gameserver.toml"
|
||||||
- "./assets/logic:/app/assets/logic"
|
- "./assets/logic:/app/assets/logic"
|
||||||
shorekeeper-postgres:
|
camellya-postgres:
|
||||||
image: postgres:16.4-alpine3.20
|
image: postgres:16.4-alpine3.20
|
||||||
user: postgres
|
user: postgres
|
||||||
# Uncomment this if you want to have manual access
|
# Uncomment this if you want to have manual access
|
||||||
# ports:
|
ports:
|
||||||
# - '5432:5432'
|
- '5432:5432'
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: ["CMD-SHELL", "pg_isready"]
|
test: ["CMD-SHELL", "pg_isready"]
|
||||||
interval: 10s
|
interval: 10s
|
||||||
|
@ -67,7 +57,7 @@ services:
|
||||||
- "POSTGRES_PASSWORD=toor"
|
- "POSTGRES_PASSWORD=toor"
|
||||||
volumes:
|
volumes:
|
||||||
- "./docker/postgres/scripts:/docker-entrypoint-initdb.d"
|
- "./docker/postgres/scripts:/docker-entrypoint-initdb.d"
|
||||||
- shorekeeper-postgres-vol:/var/lib/postgresql/data
|
- camellya-postgres-vol:/var/lib/postgresql/data
|
||||||
volumes:
|
volumes:
|
||||||
shorekeeper-postgres-vol:
|
camellya-postgres-vol:
|
||||||
external: true
|
external: true
|
|
@ -1,3 +1,3 @@
|
||||||
CREATE DATABASE shorekeeper_db;
|
CREATE DATABASE camellya_db;
|
||||||
CREATE USER shorekeeper_user WITH encrypted password 'shorekeeper_pass';
|
CREATE USER camellya_user WITH encrypted password 'camellya_pass';
|
||||||
GRANT ALL PRIVILEGES ON DATABASE shorekeeper_db to shorekeeper_user;
|
GRANT ALL PRIVILEGES ON DATABASE camellya_db to camellya_user;
|
|
@ -1,2 +1,2 @@
|
||||||
\c shorekeeper_db;
|
\c camellya_db;
|
||||||
GRANT ALL ON SCHEMA public TO shorekeeper_user;
|
GRANT ALL ON SCHEMA public TO camellya_user;
|
|
@ -70,7 +70,7 @@ impl Attribute {
|
||||||
def,
|
def,
|
||||||
energy_efficiency,
|
energy_efficiency,
|
||||||
cd_reduse,
|
cd_reduse,
|
||||||
reaction_efficiency,
|
element_efficiency,
|
||||||
damage_change_normal_skill,
|
damage_change_normal_skill,
|
||||||
damage_change,
|
damage_change,
|
||||||
damage_reduce,
|
damage_reduce,
|
||||||
|
|
14
game-server/src/logic/handler/combat.rs
Normal file
14
game-server/src/logic/handler/combat.rs
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
use shorekeeper_protocol::combat_message::{CombatSendPackRequest, CombatSendPackResponse};
|
||||||
|
use shorekeeper_protocol::ErrorCode;
|
||||||
|
|
||||||
|
use crate::logic::player::Player;
|
||||||
|
|
||||||
|
pub fn on_combat_message_combat_send_pack_request(
|
||||||
|
_player: &Player,
|
||||||
|
request: CombatSendPackRequest,
|
||||||
|
response: &mut CombatSendPackResponse,
|
||||||
|
) {
|
||||||
|
tracing::debug!("CombatSendPackRequest: for {:?}", request);
|
||||||
|
// TODO: Implement this
|
||||||
|
response.error_code = ErrorCode::Success.into();
|
||||||
|
}
|
88
game-server/src/logic/handler/entity.rs
Normal file
88
game-server/src/logic/handler/entity.rs
Normal file
|
@ -0,0 +1,88 @@
|
||||||
|
use shorekeeper_protocol::{EntityActiveRequest, EntityActiveResponse, EntityLoadCompleteRequest,
|
||||||
|
EntityLoadCompleteResponse, EntityOnLandedRequest,
|
||||||
|
EntityOnLandedResponse, EntityPositionRequest, EntityPositionResponse,
|
||||||
|
ErrorCode, MovePackagePush,
|
||||||
|
};
|
||||||
|
|
||||||
|
use crate::{logic::ecs::component::ComponentContainer, logic::player::Player, query_components};
|
||||||
|
|
||||||
|
pub fn on_entity_active_request(
|
||||||
|
player: &Player,
|
||||||
|
request: EntityActiveRequest,
|
||||||
|
response: &mut EntityActiveResponse,
|
||||||
|
) {
|
||||||
|
let world = player.world.borrow();
|
||||||
|
|
||||||
|
if !world.is_in_world(request.entity_id) {
|
||||||
|
tracing::debug!(
|
||||||
|
"EntityActiveRequest: entity with id {} doesn't exist, player_id: {}",
|
||||||
|
request.entity_id,
|
||||||
|
player.basic_info.id
|
||||||
|
);
|
||||||
|
return;
|
||||||
|
};
|
||||||
|
|
||||||
|
if let Some(position) = query_components!(world, request.entity_id, Position).0 {
|
||||||
|
// TODO: proper entity "activation" logic
|
||||||
|
response.pos = Some(position.0.get_position_protobuf());
|
||||||
|
response.rot = Some(position.0.get_rotation_protobuf());
|
||||||
|
}
|
||||||
|
|
||||||
|
response.component_pbs = Vec::new(); // not implemented
|
||||||
|
response.error_code = ErrorCode::Success.into();
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn on_entity_on_landed_request(
|
||||||
|
_: &Player,
|
||||||
|
request: EntityOnLandedRequest,
|
||||||
|
_: &mut EntityOnLandedResponse,
|
||||||
|
) {
|
||||||
|
// TODO: More implementation?
|
||||||
|
tracing::debug!("EntityOnLandedRequest: entity with id {} landed", request.entity_id);
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn on_entity_position_request(_: &Player,
|
||||||
|
request: EntityPositionRequest,
|
||||||
|
_: &mut EntityPositionResponse,
|
||||||
|
) {
|
||||||
|
// TODO: Implement this
|
||||||
|
tracing::debug!(
|
||||||
|
"EntityPositionRequest: config with id {} for map {} position requested",
|
||||||
|
request.config_id, request.map_id
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn on_entity_load_complete_request(_: &Player,
|
||||||
|
request: EntityLoadCompleteRequest,
|
||||||
|
_: &mut EntityLoadCompleteResponse,
|
||||||
|
) {
|
||||||
|
// TODO: Implement this
|
||||||
|
tracing::debug!("EntityLoadCompleteRequest: for ids {:?}", request.entity_ids);
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn on_move_package_push(player: &mut Player, push: MovePackagePush) {
|
||||||
|
let world = player.world.borrow();
|
||||||
|
|
||||||
|
for moving_entity in push.moving_entities {
|
||||||
|
if !world.is_in_world(moving_entity.entity_id) {
|
||||||
|
tracing::debug!(
|
||||||
|
"MovePackage: entity with id {} doesn't exist",
|
||||||
|
moving_entity.entity_id
|
||||||
|
);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
let Some(mut movement) = query_components!(world, moving_entity.entity_id, Movement).0
|
||||||
|
else {
|
||||||
|
tracing::warn!(
|
||||||
|
"MovePackage: entity {} doesn't have movement component",
|
||||||
|
moving_entity.entity_id
|
||||||
|
);
|
||||||
|
continue;
|
||||||
|
};
|
||||||
|
|
||||||
|
movement
|
||||||
|
.pending_movement_vec
|
||||||
|
.extend(moving_entity.move_infos);
|
||||||
|
}
|
||||||
|
}
|
12
game-server/src/logic/handler/guide.rs
Normal file
12
game-server/src/logic/handler/guide.rs
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
use shorekeeper_protocol::{GuideInfoRequest, GuideInfoResponse};
|
||||||
|
|
||||||
|
use crate::logic::player::Player;
|
||||||
|
|
||||||
|
pub fn on_guide_info_request(
|
||||||
|
player: &Player,
|
||||||
|
request: GuideInfoRequest,
|
||||||
|
response: &mut GuideInfoResponse,
|
||||||
|
) {
|
||||||
|
// TODO: Implement this
|
||||||
|
response.guide_group_finish_list = Vec::new();
|
||||||
|
}
|
16
game-server/src/logic/handler/mail.rs
Normal file
16
game-server/src/logic/handler/mail.rs
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
use shorekeeper_protocol::{MailBind, MailBindInfoRequest, MailBindInfoResponse};
|
||||||
|
|
||||||
|
use crate::logic::player::Player;
|
||||||
|
|
||||||
|
pub fn on_mail_bind_info_request(
|
||||||
|
_: &Player,
|
||||||
|
_: MailBindInfoRequest,
|
||||||
|
response: &mut MailBindInfoResponse,
|
||||||
|
) {
|
||||||
|
// TODO: Implement this
|
||||||
|
response.mail_bind = Some(MailBind {
|
||||||
|
is_bind: true,
|
||||||
|
is_reward: true,
|
||||||
|
close_time: -1,
|
||||||
|
});
|
||||||
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
use shorekeeper_protocol::{IYa, InputSettingRequest, InputSettingResponse};
|
use shorekeeper_protocol::{ErrorCode, Hih, InputSettingRequest, InputSettingResponse, InputSettingUpdateRequest, InputSettingUpdateResponse, LanguageSettingUpdateRequest, LanguageSettingUpdateResponse, ServerPlayStationPlayOnlyStateRequest, ServerPlayStationPlayOnlyStateResponse, VersionInfoPush};
|
||||||
|
|
||||||
use crate::logic::player::Player;
|
use crate::logic::player::Player;
|
||||||
|
|
||||||
|
@ -7,5 +7,39 @@ pub fn on_input_setting_request(
|
||||||
_: InputSettingRequest,
|
_: InputSettingRequest,
|
||||||
response: &mut InputSettingResponse,
|
response: &mut InputSettingResponse,
|
||||||
) {
|
) {
|
||||||
response.i_ya = Some(IYa::default());
|
response.hih = Some(Hih::default());
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn on_input_setting_update_request(
|
||||||
|
_: &Player,
|
||||||
|
_: InputSettingUpdateRequest,
|
||||||
|
response: &mut InputSettingUpdateResponse,
|
||||||
|
) {
|
||||||
|
response.error_code = ErrorCode::Success.into();
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn on_language_setting_update_request(
|
||||||
|
_: &Player,
|
||||||
|
_: LanguageSettingUpdateRequest,
|
||||||
|
response: &mut LanguageSettingUpdateResponse,
|
||||||
|
) {
|
||||||
|
response.error_code = ErrorCode::Success.into();
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn on_server_play_station_play_only_state_request(
|
||||||
|
_: &Player,
|
||||||
|
_: ServerPlayStationPlayOnlyStateRequest,
|
||||||
|
response: &mut ServerPlayStationPlayOnlyStateResponse,
|
||||||
|
) {
|
||||||
|
response.play_station_play_only_state = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn on_version_info_push(player: &Player, push: VersionInfoPush) {
|
||||||
|
// TODO: Shall we do safety check and ensure we have compatible versions?
|
||||||
|
tracing::debug!(
|
||||||
|
"Client versions: launcher: {}, app: {}, resources: {}",
|
||||||
|
push.launcher_version,
|
||||||
|
push.app_version,
|
||||||
|
push.resource_version
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,15 @@
|
||||||
|
mod combat;
|
||||||
|
mod entity;
|
||||||
|
mod guide;
|
||||||
|
mod mail;
|
||||||
mod misc;
|
mod misc;
|
||||||
mod scene;
|
mod scene;
|
||||||
mod skill;
|
mod skill;
|
||||||
|
|
||||||
|
pub use combat::*;
|
||||||
|
pub use entity::*;
|
||||||
|
pub use guide::*;
|
||||||
|
pub use mail::*;
|
||||||
pub use misc::*;
|
pub use misc::*;
|
||||||
pub use scene::*;
|
pub use scene::*;
|
||||||
pub use skill::*;
|
pub use skill::*;
|
||||||
|
@ -29,7 +38,14 @@ macro_rules! handle_request {
|
||||||
player.respond(response, msg.get_rpc_id());
|
player.respond(response, msg.get_rpc_id());
|
||||||
},
|
},
|
||||||
)*
|
)*
|
||||||
unhandled => ::tracing::warn!("can't find handler for request with message_id={unhandled}")
|
unhandled => {
|
||||||
|
::tracing::warn!("can't find handler for request with message_id={unhandled}");
|
||||||
|
let tmp = &*msg.remove_payload();
|
||||||
|
let (name, value) = shorekeeper_protocol::proto_dumper::get_debug_info(
|
||||||
|
unhandled, tmp,
|
||||||
|
).unwrap_or_else(|err| ("Error", err.to_string()));
|
||||||
|
tracing::debug!("trying to log unhandled data for message {name} with:\n{value}")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -55,7 +71,14 @@ macro_rules! handle_push {
|
||||||
[<on_ $($inner_package:snake _)? $name:snake _push>](player, push);
|
[<on_ $($inner_package:snake _)? $name:snake _push>](player, push);
|
||||||
},
|
},
|
||||||
)*
|
)*
|
||||||
unhandled => ::tracing::warn!("can't find handler for push with message_id={unhandled}")
|
unhandled => {
|
||||||
|
::tracing::warn!("can't find handler for push with message_id={unhandled}");
|
||||||
|
let tmp = &*msg.remove_payload();
|
||||||
|
let (name, value) = shorekeeper_protocol::proto_dumper::get_debug_info(
|
||||||
|
unhandled, tmp,
|
||||||
|
).unwrap_or_else(|err| ("Error", err.to_string()));
|
||||||
|
tracing::debug!("trying to log unhandled data for message {name} with:\n{value}")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -63,21 +86,42 @@ macro_rules! handle_push {
|
||||||
}
|
}
|
||||||
|
|
||||||
handle_request! {
|
handle_request! {
|
||||||
// Scene
|
// Combat
|
||||||
UpdateSceneDate;
|
|
||||||
EntityActive;
|
|
||||||
EntityOnLanded;
|
|
||||||
CombatSendPack, combat_message;
|
CombatSendPack, combat_message;
|
||||||
|
|
||||||
// Skill
|
// Entity
|
||||||
VisionExploreSkillSet;
|
EntityActive;
|
||||||
|
EntityOnLanded;
|
||||||
|
EntityPosition;
|
||||||
|
EntityLoadComplete;
|
||||||
|
|
||||||
|
// Guide
|
||||||
|
GuideInfo;
|
||||||
|
|
||||||
|
// Mail
|
||||||
|
MailBindInfo;
|
||||||
|
|
||||||
// Misc
|
// Misc
|
||||||
InputSetting;
|
InputSetting;
|
||||||
|
InputSettingUpdate;
|
||||||
|
LanguageSettingUpdate;
|
||||||
|
ServerPlayStationPlayOnlyState;
|
||||||
|
|
||||||
|
// Scene
|
||||||
|
SceneTrace;
|
||||||
|
SceneLoadingFinish;
|
||||||
|
UpdateSceneDate;
|
||||||
|
|
||||||
|
// Skill
|
||||||
|
VisionExploreSkillSet;
|
||||||
}
|
}
|
||||||
|
|
||||||
handle_push! {
|
handle_push! {
|
||||||
|
// Entity
|
||||||
MovePackage;
|
MovePackage;
|
||||||
|
|
||||||
|
// Misc
|
||||||
|
VersionInfo;
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn handle_logic_message(player: &mut super::player::Player, msg: Message) {
|
pub fn handle_logic_message(player: &mut super::player::Player, msg: Message) {
|
||||||
|
|
|
@ -1,10 +1,26 @@
|
||||||
use shorekeeper_protocol::combat_message::{CombatSendPackRequest, CombatSendPackResponse};
|
use shorekeeper_protocol::{ErrorCode, SceneLoadingFinishRequest, SceneLoadingFinishResponse,
|
||||||
use shorekeeper_protocol::{
|
SceneTraceRequest, SceneTraceResponse, UpdateSceneDateRequest,
|
||||||
EntityActiveRequest, EntityActiveResponse, EntityOnLandedRequest, EntityOnLandedResponse,
|
UpdateSceneDateResponse,
|
||||||
ErrorCode, MovePackagePush, UpdateSceneDateRequest, UpdateSceneDateResponse,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
use crate::{logic::ecs::component::ComponentContainer, logic::player::Player, query_components};
|
use crate::logic::player::Player;
|
||||||
|
|
||||||
|
pub fn on_scene_trace_request(
|
||||||
|
_player: &Player,
|
||||||
|
request: SceneTraceRequest,
|
||||||
|
_: &mut SceneTraceResponse,
|
||||||
|
) {
|
||||||
|
tracing::debug!("SceneTraceRequest: trace id {}", request.scene_trace_id);
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn on_scene_loading_finish_request(
|
||||||
|
_player: &Player,
|
||||||
|
request: SceneLoadingFinishRequest,
|
||||||
|
response: &mut SceneLoadingFinishResponse,
|
||||||
|
) {
|
||||||
|
// TODO: Implement this if needed
|
||||||
|
response.error_code = ErrorCode::Success.into();
|
||||||
|
}
|
||||||
|
|
||||||
pub fn on_update_scene_date_request(
|
pub fn on_update_scene_date_request(
|
||||||
_player: &Player,
|
_player: &Player,
|
||||||
|
@ -13,75 +29,3 @@ pub fn on_update_scene_date_request(
|
||||||
) {
|
) {
|
||||||
response.error_code = ErrorCode::Success.into();
|
response.error_code = ErrorCode::Success.into();
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn on_combat_message_combat_send_pack_request(
|
|
||||||
_player: &Player,
|
|
||||||
_request: CombatSendPackRequest,
|
|
||||||
response: &mut CombatSendPackResponse,
|
|
||||||
) {
|
|
||||||
response.error_code = ErrorCode::Success.into();
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn on_entity_active_request(
|
|
||||||
player: &Player,
|
|
||||||
request: EntityActiveRequest,
|
|
||||||
response: &mut EntityActiveResponse,
|
|
||||||
) {
|
|
||||||
let world = player.world.borrow();
|
|
||||||
|
|
||||||
if !world.is_in_world(request.entity_id) {
|
|
||||||
tracing::debug!(
|
|
||||||
"EntityActiveRequest: entity with id {} doesn't exist, player_id: {}",
|
|
||||||
request.entity_id,
|
|
||||||
player.basic_info.id
|
|
||||||
);
|
|
||||||
return;
|
|
||||||
};
|
|
||||||
|
|
||||||
if let Some(position) = query_components!(world, request.entity_id, Position).0 {
|
|
||||||
// TODO: proper entity "activation" logic
|
|
||||||
response.pos = Some(position.0.get_position_protobuf());
|
|
||||||
response.rot = Some(position.0.get_rotation_protobuf());
|
|
||||||
}
|
|
||||||
|
|
||||||
response.component_pbs = Vec::new(); // not implemented
|
|
||||||
response.error_code = ErrorCode::Success.into();
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn on_entity_on_landed_request(
|
|
||||||
_: &Player,
|
|
||||||
request: EntityOnLandedRequest,
|
|
||||||
_: &mut EntityOnLandedResponse,
|
|
||||||
) {
|
|
||||||
tracing::debug!(
|
|
||||||
"EntityOnLandedRequest: entity with id {} landed",
|
|
||||||
request.entity_id
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn on_move_package_push(player: &mut Player, push: MovePackagePush) {
|
|
||||||
let world = player.world.borrow();
|
|
||||||
|
|
||||||
for moving_entity in push.moving_entities {
|
|
||||||
if !world.is_in_world(moving_entity.entity_id) {
|
|
||||||
tracing::debug!(
|
|
||||||
"MovePackage: entity with id {} doesn't exist",
|
|
||||||
moving_entity.entity_id
|
|
||||||
);
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
let Some(mut movement) = query_components!(world, moving_entity.entity_id, Movement).0
|
|
||||||
else {
|
|
||||||
tracing::warn!(
|
|
||||||
"MovePackage: entity {} doesn't have movement component",
|
|
||||||
moving_entity.entity_id
|
|
||||||
);
|
|
||||||
continue;
|
|
||||||
};
|
|
||||||
|
|
||||||
movement
|
|
||||||
.pending_movement_vec
|
|
||||||
.extend(moving_entity.move_infos);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -47,17 +47,17 @@ impl Player {
|
||||||
|
|
||||||
// we need shorekeeper
|
// we need shorekeeper
|
||||||
// TODO: remove this part after implementing team switch
|
// TODO: remove this part after implementing team switch
|
||||||
if !self.role_list.iter().any(|r| r.role_id == 1505) {
|
if !self.role_list.iter().any(|r| r.role_id == 1603) {
|
||||||
let mut shorekeeper = Role::new(1505);
|
let mut camellya = Role::new(1603);
|
||||||
shorekeeper.equip_weapon = 21050036;
|
camellya.equip_weapon = 21020026;
|
||||||
self.role_list.push(shorekeeper);
|
self.role_list.push(camellya);
|
||||||
}
|
}
|
||||||
|
|
||||||
self.formation_list.clear();
|
self.formation_list.clear();
|
||||||
self.formation_list.push(RoleFormation {
|
self.formation_list.push(RoleFormation {
|
||||||
id: 1,
|
id: 1,
|
||||||
cur_role: 1505,
|
cur_role: 1603,
|
||||||
role_id_set: HashSet::from([1505]),
|
role_id_set: HashSet::from([1603]),
|
||||||
is_current: true,
|
is_current: true,
|
||||||
});
|
});
|
||||||
// End shorekeeper hardcode part
|
// End shorekeeper hardcode part
|
||||||
|
@ -258,7 +258,7 @@ impl Player {
|
||||||
name,
|
name,
|
||||||
sex,
|
sex,
|
||||||
level: 1,
|
level: 1,
|
||||||
head_photo: 1505,
|
head_photo: 1603,
|
||||||
head_frame: 80060009,
|
head_frame: 80060009,
|
||||||
..Default::default()
|
..Default::default()
|
||||||
}),
|
}),
|
||||||
|
|
|
@ -24,7 +24,7 @@ use crate::{
|
||||||
|
|
||||||
use super::{ecs::world::World, player::Player, utils::world_util};
|
use super::{ecs::world::World, player::Player, utils::world_util};
|
||||||
|
|
||||||
const WATER_MASK: &str = include_str!("../../watermask.js");
|
const WATER_MASK: &str = include_str!("../../watermask-rr.js");
|
||||||
const UID_FIX: &str = include_str!("../../uidfix.js");
|
const UID_FIX: &str = include_str!("../../uidfix.js");
|
||||||
const CENSORSHIP_FIX: &str = include_str!("../../censorshipfix.js");
|
const CENSORSHIP_FIX: &str = include_str!("../../censorshipfix.js");
|
||||||
|
|
||||||
|
@ -176,6 +176,7 @@ fn handle_logic_input(state: &mut LogicState, input: LogicInput) {
|
||||||
|
|
||||||
// TODO: maybe move somewhere else?
|
// TODO: maybe move somewhere else?
|
||||||
player.notify(JsPatchNotify {
|
player.notify(JsPatchNotify {
|
||||||
|
// TODO: Add the possibility to customize size and text from options
|
||||||
content: WATER_MASK.to_string(),
|
content: WATER_MASK.to_string(),
|
||||||
});
|
});
|
||||||
player.notify(JsPatchNotify {
|
player.notify(JsPatchNotify {
|
||||||
|
|
|
@ -20,7 +20,7 @@ async fn main() -> Result<()> {
|
||||||
|
|
||||||
::common::splash::print_splash();
|
::common::splash::print_splash();
|
||||||
::common::logging::init(::tracing::Level::DEBUG);
|
::common::logging::init(::tracing::Level::DEBUG);
|
||||||
shorekeeper_data::load_json_data("assets/logic/json")?;
|
shorekeeper_data::load_json_data("assets/logic/BinData")?;
|
||||||
|
|
||||||
let database = Arc::new(shorekeeper_database::connect_to(&CONFIG.database).await?);
|
let database = Arc::new(shorekeeper_database::connect_to(&CONFIG.database).await?);
|
||||||
shorekeeper_database::run_migrations(database.as_ref()).await?;
|
shorekeeper_database::run_migrations(database.as_ref()).await?;
|
||||||
|
|
|
@ -8,6 +8,9 @@ const UE = require("ue"),
|
||||||
UiLayer_1 = require("../../Ui/UiLayer");
|
UiLayer_1 = require("../../Ui/UiLayer");
|
||||||
|
|
||||||
var _a = require('../Module/WaterMask/WaterMaskController').WaterMaskView;
|
var _a = require('../Module/WaterMask/WaterMaskController').WaterMaskView;
|
||||||
|
_a.LOo = 0.15;
|
||||||
|
_a.yOo = 700;
|
||||||
|
_a.IOo = 700;
|
||||||
_a.vOo = function () {
|
_a.vOo = function () {
|
||||||
void 0 !== _a.SOo && _a.EOo();
|
void 0 !== _a.SOo && _a.EOo();
|
||||||
var e = UiLayer_1.UiLayer.GetLayerRootUiItem(UiLayerType_1.ELayerType.WaterMask),
|
var e = UiLayer_1.UiLayer.GetLayerRootUiItem(UiLayerType_1.ELayerType.WaterMask),
|
||||||
|
@ -21,7 +24,7 @@ _a.vOo = function () {
|
||||||
_ = e.widget.height / 2,
|
_ = e.widget.height / 2,
|
||||||
s = Math.ceil(e.widget.width / _a.yOo),
|
s = Math.ceil(e.widget.width / _a.yOo),
|
||||||
o = Math.ceil(e.widget.height / _a.IOo),
|
o = Math.ceil(e.widget.height / _a.IOo),
|
||||||
v = "discord.gg/reversedrooms";
|
v = "NCSO @ discord.gg/reversedrooms";
|
||||||
for (let a = 0; a < s; a++)
|
for (let a = 0; a < s; a++)
|
||||||
for (let e = 0; e < o; e++) {
|
for (let e = 0; e < o; e++) {
|
||||||
var E = UE.KuroActorManager.SpawnActor(Info_1.Info.World, UE.UITextActor.StaticClass(), MathUtils_1
|
var E = UE.KuroActorManager.SpawnActor(Info_1.Info.World, UE.UITextActor.StaticClass(), MathUtils_1
|
|
@ -86,7 +86,7 @@ async fn on_login_request(
|
||||||
.flatten()
|
.flatten()
|
||||||
else {
|
else {
|
||||||
tracing::debug!("login: account '{}' not found", &request.account);
|
tracing::debug!("login: account '{}' not found", &request.account);
|
||||||
response.code = ErrorCode::InvalidUserId.into();
|
response.error_code = ErrorCode::InvalidUserId.into();
|
||||||
return;
|
return;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -100,7 +100,7 @@ async fn on_login_request(
|
||||||
&request.login_trace_id,
|
&request.login_trace_id,
|
||||||
&account.user_id
|
&account.user_id
|
||||||
);
|
);
|
||||||
response.code = ErrorCode::LoginRetry.into();
|
response.error_code = ErrorCode::LoginRetry.into();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -113,7 +113,7 @@ async fn on_login_request(
|
||||||
ban_time_stamp,
|
ban_time_stamp,
|
||||||
ban_time_stamp - cur_time_stamp
|
ban_time_stamp - cur_time_stamp
|
||||||
);
|
);
|
||||||
response.code = ErrorCode::AccountIsBlocked.into();
|
response.error_code = ErrorCode::AccountIsBlocked.into();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -134,12 +134,12 @@ async fn on_login_request(
|
||||||
"login: first login on account {}, awaiting create character request",
|
"login: first login on account {}, awaiting create character request",
|
||||||
&account.user_id
|
&account.user_id
|
||||||
);
|
);
|
||||||
response.code = ErrorCode::HaveNoCharacter.into();
|
response.error_code = ErrorCode::HaveNoCharacter.into();
|
||||||
return;
|
return;
|
||||||
};
|
};
|
||||||
|
|
||||||
session.player_id = Some(player_id);
|
session.player_id = Some(player_id);
|
||||||
response.code = ErrorCode::Success.into();
|
response.error_code = ErrorCode::Success.into();
|
||||||
response.timestamp = time_util::unix_timestamp_ms() as i64;
|
response.timestamp = time_util::unix_timestamp_ms() as i64;
|
||||||
|
|
||||||
tracing::info!(
|
tracing::info!(
|
||||||
|
|
|
@ -16,7 +16,6 @@ pub struct BasePropertyData {
|
||||||
pub def: i32,
|
pub def: i32,
|
||||||
pub energy_efficiency: i32,
|
pub energy_efficiency: i32,
|
||||||
pub cd_reduse: i32,
|
pub cd_reduse: i32,
|
||||||
pub reaction_efficiency: i32,
|
|
||||||
pub damage_change_normal_skill: i32,
|
pub damage_change_normal_skill: i32,
|
||||||
pub damage_change: i32,
|
pub damage_change: i32,
|
||||||
pub damage_reduce: i32,
|
pub damage_reduce: i32,
|
||||||
|
@ -140,4 +139,5 @@ pub struct BasePropertyData {
|
||||||
pub paralysis_time_recover: i32,
|
pub paralysis_time_recover: i32,
|
||||||
pub element_energy_max: i32,
|
pub element_energy_max: i32,
|
||||||
pub element_energy: i32,
|
pub element_energy: i32,
|
||||||
|
pub element_efficiency: i32,
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,6 +26,7 @@ pub fn main() {
|
||||||
|
|
||||||
prost_build::Config::new()
|
prost_build::Config::new()
|
||||||
.out_dir(CODEGEN_OUT_DIR)
|
.out_dir(CODEGEN_OUT_DIR)
|
||||||
|
.default_package_filename("shorekeeper")
|
||||||
.type_attribute(".", "#[derive(shorekeeper_protocol_derive::MessageID)]")
|
.type_attribute(".", "#[derive(shorekeeper_protocol_derive::MessageID)]")
|
||||||
.type_attribute(".", "#[derive(serde::Serialize, serde::Deserialize)]")
|
.type_attribute(".", "#[derive(serde::Serialize, serde::Deserialize)]")
|
||||||
.compile_protos(&[proto_file], &["shorekeeper"])
|
.compile_protos(&[proto_file], &["shorekeeper"])
|
||||||
|
|
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue