diff --git a/game_server/packet/handlers/GeneralActivityGetScheduleReq.py b/game_server/packet/handlers/GeneralActivityGetScheduleReq.py index 3775895..4f26834 100644 --- a/game_server/packet/handlers/GeneralActivityGetScheduleReq.py +++ b/game_server/packet/handlers/GeneralActivityGetScheduleReq.py @@ -3,24 +3,26 @@ from game_server.net.session import Session from game_server.resource import ResourceManager from game_server.resource.configdb.avatar_tutorial import AvatarTutorialData from game_server.resource.configdb.activity_tower import ActivityTowerData -from game_server.utils import get_unix_in_seconds +from utils.time import get_unix_in_seconds from lib.proto import ( GeneralActivityGetScheduleReq, GeneralActivityGetScheduleRsp, - GeneralActivityScheduleInfo + GeneralActivityScheduleInfo, ) -async def handle(session: Session, msg: GeneralActivityGetScheduleReq) -> betterproto.Message: +async def handle( + session: Session, msg: GeneralActivityGetScheduleReq +) -> betterproto.Message: schedule_list = [] for tutorial in ResourceManager.instance().values(AvatarTutorialData): schedule_list.append( GeneralActivityScheduleInfo( activity_id=tutorial.ActivityID, - settle_time=int(get_unix_in_seconds()+3600*24*7), - end_time=int(get_unix_in_seconds()+3600*24*7), - end_day_time=int(get_unix_in_seconds()+3600*24*7) + settle_time=int(get_unix_in_seconds() + 3600 * 24 * 7), + end_time=int(get_unix_in_seconds() + 3600 * 24 * 7), + end_day_time=int(get_unix_in_seconds() + 3600 * 24 * 7), ) ) @@ -28,13 +30,10 @@ async def handle(session: Session, msg: GeneralActivityGetScheduleReq) -> better schedule_list.append( GeneralActivityScheduleInfo( activity_id=tower.ActivityID, - settle_time=int(get_unix_in_seconds()+3600*24*7), - end_time=int(get_unix_in_seconds()+3600*24*7), - end_day_time=int(get_unix_in_seconds()+3600*24*7) + settle_time=int(get_unix_in_seconds() + 3600 * 24 * 7), + end_time=int(get_unix_in_seconds() + 3600 * 24 * 7), + end_day_time=int(get_unix_in_seconds() + 3600 * 24 * 7), ) ) - return GeneralActivityGetScheduleRsp( - retcode=0, - schedule_list=schedule_list - ) + return GeneralActivityGetScheduleRsp(retcode=0, schedule_list=schedule_list) diff --git a/game_server/packet/handlers/GetBuffEffectReq.py b/game_server/packet/handlers/GetBuffEffectReq.py index 1f292f0..0f5e4e8 100644 --- a/game_server/packet/handlers/GetBuffEffectReq.py +++ b/game_server/packet/handlers/GetBuffEffectReq.py @@ -1,22 +1,15 @@ - import betterproto from game_server.net.session import Session -from game_server.utils import get_unix_in_seconds -from lib.proto import ( - GetBuffEffectReq, - GetBuffEffectRsp, - BuffEffect -) +from utils.time import get_unix_in_seconds +from lib.proto import GetBuffEffectReq, GetBuffEffectRsp, BuffEffect + async def handle(session: Session, msg: GetBuffEffectReq) -> betterproto.Message: return GetBuffEffectRsp( retcode=0, effect_list=[ - BuffEffect( - effect_id=i, - end_time=int(get_unix_in_seconds()+3600*24*7) - ) + BuffEffect(effect_id=i, end_time=int(get_unix_in_seconds() + 3600 * 24 * 7)) for i in msg.effect_id_list ], - aura_effect_list=msg.effect_id_list[:] + aura_effect_list=msg.effect_id_list[:], ) diff --git a/game_server/packet/handlers/GetConfigReq.py b/game_server/packet/handlers/GetConfigReq.py index ae54397..8f3dcd2 100644 --- a/game_server/packet/handlers/GetConfigReq.py +++ b/game_server/packet/handlers/GetConfigReq.py @@ -1,9 +1,10 @@ import betterproto from game_server.net.session import Session -from lib.proto import GetConfigReq,GetConfigRsp,GetConfigRspAntiCheatStageCheckConfig -from game_server.utils import get_unix_in_seconds +from lib.proto import GetConfigReq, GetConfigRsp, GetConfigRspAntiCheatStageCheckConfig +from utils.time import get_unix_in_seconds from pprint import pprint + async def handle(session: Session, msg: GetConfigReq) -> betterproto.Message: # rsp = GetConfigRsp( # retcode=0, @@ -38,8 +39,9 @@ async def handle(session: Session, msg: GetConfigReq) -> betterproto.Message: # is_resistance_open=True, # next_day_begin_time=get_unix_in_seconds() + (604800 // 7) # ) - byte_array = bytes.fromhex("080010e802203c287830c070389e95a2a306403248940160e8077819fa0105089407100afa010608ce08109802fa010608cf08109802fa010608d008109802fa010508d208103cfa010608d408109802fa010608d508109601fa010608d60810c801fa010608d70810c801fa010508d8081078fa010608db08109802fa010508a7391064fa0105089e3a100afa010508a83d100afa010708fdfa0610c801fa0106089cfb061008fa010608a6fc06100afa01060888fd06100afa01060898fd061008fa010608e7ff06100afa010608ebff061008fa010608818007100afa010608a48307100afa010608a98307100afa010608ba8307100afa010608df83071008fa010608e283071008fa010608ef83071008fa0106089c8b07100afa0106089a9007100afa010608c4a2071008fa010608c9b107100afa010608d1b107100afa010608d2b107100afa010608ceb307100afa010608d2b307100afa01060892d207100afa010608dbde07100afa010608dcde07100afa0106089ce640106482020a6f76657273656173303188021a9a02160802105018c0e494a30620c0bcafa40628c91a28ad1b9a0211080410d80418c0e494a30620c0bcafa406a00278a802a0bfc6fa05b002a0a8d6fa05b80202c802ff93ebdc03d00280cab5ee01e802fa36f00205f80280a3059203bb02089a2210021884e1f8ee052084dddadf0728003818420130480f50636212444c435f426f7867616368615f5469746c656a275370726974654f75747075742f53686f7054616249636f6e732f49636f6e53686f70476163686172416576656e742f496d6d6564696174656c792f4163746976697479506167652f332e35535068756e74696e6767616368615f62616e6e65725f74727565636f6c6f727a00820115332e35535068756e74696e6767616368615f4465738801ce029201386576656e742f496d6d6564696174656c792f4163746976697479506167652f332e35535068756e74696e675f62675f74727565636f6c6f729a01406576656e742f496d6d6564696174656c792f4163746976697479506167652f332e35535068756e74696e6767616368615f7469746c655f74727565636f6c6f72aa010092036608af28102e18a0c9f38e0620bf8bc1bc08280042013048505063620d352e365455504f5f7469746c656a1c5370726974654f75747075742f42502f352e365f5475506f5f54616272007a0082010b352e365455504f5f6465738801bc059201009a0100aa01009203ad0208b72810021880d7fd8e0620bf979ad30728003823420130481950636211352e34646c6367616368615f7469746c656a275370726974654f75747075742f53686f7054616249636f6e732f49636f6e53686f704761636861723d6576656e742f496d6d6564696174656c792f4163746976697479506167652f352e345f444c433267616368615f62616e6e65725f74727565636f6c6f727a0082010f352e34646c6367616368615f446573880182079201396576656e742f496d6d6564696174656c792f4163746976697479506167652f352e345f444c433267616368615f62675f74727565636f6c6f729a013c6576656e742f496d6d6564696174656c792f4163746976697479506167652f352e345f444c433267616368615f7469746c655f74727565636f6c6f72aa010092039102089d2b100318c0b2cca10620bff0a9a30628003839420130480a5063620f352e36425053686f705f5469746c656a2e6576656e742f496d6d6564696174656c792f42502f636f6e73745f53686f7054616230345f74727565636f6c6f72723f6576656e742f496d6d6564696174656c792f42502f53686f702f362e355f362e365f425053686f7042616e6e65725f62616e6e65725f74727565636f6c6f727a008201008801ca0992013b6576656e742f496d6d6564696174656c792f42502f53686f702f362e355f362e365f425053686f7042616e6e65725f62675f74727565636f6c6f729a01215370726974654f75747075742f42502f42505f42616e6e65725f546f756d696e67a00193b93baa01009203ab03089f2b100418c0e494a30620c0bcafa4062800389e86073880a7293881a7293882a7293883a7293884a7293885a7293886a7293887a7293888a7293889a729388aa729388ba729388ca729388da729388ea729388fa7293890a7293891a729420134480950636217362e3653686f7070696e674461797330315f7469746c656a3f6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f53686f7070696e674461797330315f7461625f74727565636f6c6f7272426576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f53686f7070696e674461797330315f62616e6e65725f74727565636f6c6f727a00820111362e3653686f7070696e6730315f4465738801d00f92013e6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f53686f7070696e674461797330315f62675f74727565636f6c6f729a01416576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f53686f7070696e674461797330315f7469746c655f74727565636f6c6f72a001afd207aa01009203e10208a02b100318c0e494a30620c0bcafa40628003816420130481450636217362e3653686f7070696e674461797330325f7469746c656a3f6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f53686f7070696e674461797330325f7461625f74727565636f6c6f7272426576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f53686f7070696e674461797330325f62616e6e65725f74727565636f6c6f727a00820111362e3653686f7070696e6730325f4465738801cf0f92013e6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f53686f7070696e674461797330325f62675f74727565636f6c6f729a01416576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f53686f7070696e674461797330325f7469746c655f74727565636f6c6f72a001afd207aa01009203e10208a12b100318c0e494a30620c0bcafa4062800382d420130481450636217362e3653686f7070696e674461797330335f7469746c656a3f6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f53686f7070696e674461797330325f7461625f74727565636f6c6f7272426576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f53686f7070696e674461797330335f62616e6e65725f74727565636f6c6f727a00820111362e3653686f7070696e6730335f4465738801ce0f92013e6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f53686f7070696e674461797330335f62675f74727565636f6c6f729a01416576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f53686f7070696e674461797330335f7469746c655f74727565636f6c6f72a001b0d207aa01009203df0208a22b101a18c0e494a30620c0bcafa4062800380d420130481450636217362e3653686f7070696e674461797330345f7469746c656a3f6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f53686f7070696e674461797330345f7461625f74727565636f6c6f7272426576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f53686f7070696e674461797330345f62616e6e65725f74727565636f6c6f727a00820111362e3653686f7070696e6730345f4465738801cd0f92013e6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f53686f7070696e674461797330345f62675f74727565636f6c6f729a01416576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f53686f7070696e674461797330345f7469746c655f74727565636f6c6f72a00106aa01009203d00208a42b100418c0d2e5a30620c0bcafa4062800389c8607420134481450636211362e365f573344726573735f5469746c656a386576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f573344726573735f5461625f74727565636f6c6f72723b6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f573344726573735f42616e6e65725f74727565636f6c6f727a183c747970653d22377c31342220746578743d22474f222f3e82010d362e365f44726573735f4465738801f80a9201376576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f573344726573735f42475f74727565636f6c6f729a013a6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f573344726573735f5469746c655f74727565636f6c6f72aa01009203d20208a52b100418c0e494a30620bfafe0a3062800389d8607420134481450636211362e365f573144726573735f5469746c656a386576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f573144726573735f5461625f74727565636f6c6f72723b6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f573144726573735f42616e6e65725f74727565636f6c6f727a183c747970653d22377c31342220746578743d22474f222f3e82010f362e365f573144726573735f4465738801f80a9201376576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f573144726573735f42475f74727565636f6c6f729a013a6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f573144726573735f5469746c655f74727565636f6c6f72aa01009203dd0208a62b101518c0bcafa40620bfb1d4a406280038848c0638858c06420130481450636216352e385f73686f7070696e67646179735f7469746c656a386576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f536372617463685f5461625f74727565636f6c6f72723a6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f536372617463685f496d6167655f74727565636f6c6f727a183c747970653d2239317c312220746578743d22474f222f3e820113332e3673686f7070696e67646179735f4465738801f80a9201376576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f536372617463685f42475f74727565636f6c6f729a01396576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f536372617463685f546578745f74727565636f6c6f72aa01009203be0308a72b100418c0e494a30620bfbcafa406280038daae0538e5ae0538dbae0538e6ae0538dcae0538ddae0538deae0538dfae0538e7ae0538e8ae0538e9ae0538eaae0538e0ae0538e1ae0538e2ae0538e3ae0538ebae0538ecae0538edae0538eeae0538fbf74038fcf740420130481e50636213362e365f4368617261637465725f7469746c656a3e6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f43686172616374657253686f775f7461625f74727565636f6c6f72723d6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f4368617261637465725f62616e6e65725f74727565636f6c6f727a203c747970653d2236337c34303030303138312220746578743d22474f22202f3e820111362e365f4368617261637465725f6465738801b0099201396576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f4368617261637465725f62675f74727565636f6c6f729a013c6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f4368617261637465725f7469746c655f74727565636f6c6f72aa01009203ec0208aa2b100418c0e494a30620bfbcafa406280038d6ae0538d7ae0538d8ae0538d9ae05420130483250636212362e365f4558576561706f6e5f7469746c656a396576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f4558576561706f6e5f7461625f74727565636f6c6f72723c6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f4558576561706f6e5f62616e6e65725f74727565636f6c6f727a1f3c747970653d22313030377c31313835312220746578743d22474f22202f3e820110362e365f4558576561706f6e5f4465738801ad099201386576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f4558576561706f6e5f62675f74727565636f6c6f729a013c6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f4558576561706f6e5f746974696c655f74727565636f6c6f72aa01009203e10208ab2b100318c1bcafa40620c0b1d4a40628003816420130481450636217362e3653686f7070696e674461797330325f7469746c656a3f6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f53686f7070696e674461797330325f7461625f74727565636f6c6f7272426576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f53686f7070696e674461797330325f62616e6e65725f74727565636f6c6f727a00820111362e3653686f7070696e6730325f4465738801f80a92013e6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f53686f7070696e674461797330325f62675f74727565636f6c6f729a01416576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f53686f7070696e674461797330325f7469746c655f74727565636f6c6f72a001afd207aa01009203e10208ac2b100318c1bcafa40620c0b1d4a4062800382d420130481450636217362e3653686f7070696e674461797330335f7469746c656a3f6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f53686f7070696e674461797330325f7461625f74727565636f6c6f7272426576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f53686f7070696e674461797330335f62616e6e65725f74727565636f6c6f727a00820111362e3653686f7070696e6730335f4465738801f70a92013e6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f53686f7070696e674461797330335f62675f74727565636f6c6f729a01416576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f53686f7070696e674461797330335f7469746c655f74727565636f6c6f72a001b0d207aa01009203df0208ad2b100318c0ddc0a30620c0c78aa40628003820420130481450636211332e3374696d6573686f705f7469746c656a396576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f54696d6553686f705f5461625f74727565636f6c6f72723c6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f54696d6553686f705f42616e6e65725f74727565636f6c6f727a183c747970653d2239317c352220746578743d22474f222f3e82010f332e3374696d6573686f705f4465738801a0069201386576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f54696d6553686f705f42475f74727565636f6c6f729a013b6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f54696d6553686f705f5469746c655f74727565636f6c6f72a00105a001af3aa001f437aa01009203af0308ae2b100418c0e494a30620c0a2f2a4062800389ea929389fa92938a0a92938a1a92938a2a92938a3a92938a4a92938a5a92938a6a92938a7a92938a8a92938a9a92938aaa92938aba92938aca92938ada92938aea929420130481950636210362e3677656c666172655f7469746c656a3f6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f77656c666172656d697373696f6e5f7461625f74727565636f6c6f7272426576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f77656c666172656d697373696f6e5f62616e6e65725f74727565636f6c6f727a1b3c747970653d2236347c353535312220746578743d22474f222f3e82010e362e3677656c666172655f6465738801aa0b92013e6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f77656c666172656d697373696f6e5f62675f74727565636f6c6f729a01416576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f77656c666172656d697373696f6e5f7469746c655f74727565636f6c6f72aa01009203ee0208af2b100318c0e494a30620c09797a50628003834420130481950636214362e3677656c6661726573686f705f7469746c656a3c6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f77656c6661726573686f705f7461625f74727565636f6c6f72723f6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f77656c6661726573686f705f62616e6e65725f74727565636f6c6f727a1b3c747970653d2236347c353535302220746578743d22474f222f3e820112362e3677656c6661726573686f705f6465738801a90b92013b6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f77656c6661726573686f705f62675f74727565636f6c6f729a013e6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f77656c6661726573686f705f7469746c655f74727565636f6c6f72a001da8007aa01009203950308b02b100418a0e1a9a40620bfa2f2a4062800388ea929388fa9293890a9293891a9293892a9293893a9293894a9293895a9293896a9293897a9293898a9293899a929389aa929389ba929389ca929389da929420130483250636212362e335f57617665527573685f7469746c656a396576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f57617665527573685f7461625f74727565636f6c6f72723c6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f57617665527573685f62616e6e65725f74727565636f6c6f727a193c747970653d223134327c302220746578743d22474f222f3e820110362e335f57617665527573685f4465738801880e9201386576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f57617665527573685f62675f74727565636f6c6f729a013b6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f57617665527573685f7469746c655f74727565636f6c6f72aa01009203e20208b12b100418c0e494a306209f99aba306280038afa929420131481e50636211362e365f4d61696e4f57315f7469746c656a3b6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f4d61696e5374616765315f7461625f74727565636f6c6f72723e6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f4d61696e5374616765315f62616e6e65725f74727565636f6c6f727a193c747970653d2239347c33372220746578743d22474f222f3e820112362e365f4d61696e5374616765315f4465738801c10c92013a6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f4d61696e5374616765315f62675f74727565636f6c6f729a013d6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f4d61696e5374616765315f7469746c655f74727565636f6c6f72aa01009203e20208b22b100418a099aba306209f8ed0a306280038b0a929420131481e50636211362e365f4d61696e4f57315f7469746c656a3b6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f4d61696e5374616765325f7461625f74727565636f6c6f72723e6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f4d61696e5374616765325f62616e6e65725f74727565636f6c6f727a193c747970653d2239347c33372220746578743d22474f222f3e820112362e365f4d61696e5374616765325f4465738801c10c92013a6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f4d61696e5374616765325f62675f74727565636f6c6f729a013d6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f4d61696e5374616765325f7469746c655f74727565636f6c6f72aa01009203e20208b32b100418a08ed0a30620bfa2f2a406280038b1a929420131481e50636211362e365f4d61696e4f57315f7469746c656a3b6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f4d61696e5374616765335f7461625f74727565636f6c6f72723e6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f4d61696e5374616765335f62616e6e65725f74727565636f6c6f727a193c747970653d2239347c33372220746578743d22474f222f3e820112362e365f4d61696e5374616765335f4465738801c10c92013a6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f4d61696e5374616765335f62675f74727565636f6c6f729a013d6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f4d61696e5374616765335f7469746c655f74727565636f6c6f72aa01009203800308b42b100418c0e494a30620bfa2f2a406280038b2a92938b3a92938b4a92938b5a92938b7a92938b9a92938cfaa2938d0aa2938d1aa2938d2aa29420130481e50636210362e365f4d61696e4f575f7469746c656a3a6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f4d61696e53746167655f7461625f74727565636f6c6f72723d6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f4d61696e53746167655f62616e6e65725f74727565636f6c6f727a193c747970653d2239347c33372220746578743d22474f222f3e820111362e365f4d61696e53746167655f4465738801c00c9201396576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f4d61696e53746167655f62675f74727565636f6c6f729a013c6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f4d61696e53746167655f7469746c655f74727565636f6c6f72aa01009203d50308b52b100418a0b1d5a30620c0a2f2a40628003882aa293883aa293884aa293887aa293888aa293889aa29388aaa29388baa29388caa29388daa29388eaa29388faa293890aa293891aa293892aa293893aa293894aa293895aa293896aa293897aa293898aa293899aa29389aaa29389baa29389caa29389daa293885aa293886aa29420130481e5063620f362e36747269706c655f7469746c656a3e6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f747269706c656d697373696f6e5f7461625f74727565636f6c6f7272416576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f747269706c656d697373696f6e5f62616e6e65725f74727565636f6c6f727a1b3c747970653d2238317c393038302220746578743d22474f222f3e82010d362e36747269706c655f6465738801a40d92013d6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f747269706c656d697373696f6e5f62675f74727565636f6c6f729a01406576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f747269706c656d697373696f6e5f7469746c655f74727565636f6c6f72aa01009203e80208b62b100318a0b1d5a30620c09797a50628003847420130481e50636213362e36747269706c6573686f705f7469746c656a3b6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f747269706c6573686f705f7461625f74727565636f6c6f72723e6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f747269706c6573686f705f62616e6e65725f74727565636f6c6f727a1b3c747970653d2238317c393038302220746578743d22474f222f3e820111362e36747269706c6573686f705f6465738801a30d92013a6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f747269706c6573686f705f62675f74727565636f6c6f729a013d6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f747269706c6573686f705f7469746c655f74727565636f6c6f72a001eddd07aa010092038c0208bb2b100318c0f0a9a30620bfae87a5062800383b420130480a5063620f352e36425053686f705f5469746c656a2e6576656e742f496d6d6564696174656c792f42502f636f6e73745f53686f7054616230345f74727565636f6c6f72723f6576656e742f496d6d6564696174656c792f42502f53686f702f362e365f362e375f425053686f7042616e6e65725f62616e6e65725f74727565636f6c6f727a008201008801ca0992013b6576656e742f496d6d6564696174656c792f42502f53686f702f362e365f362e375f425053686f7042616e6e65725f62675f74727565636f6c6f729a01215370726974654f75747075742f42502f42505f42616e6e65725f546f756d696e67aa010092039e0408bc2b100418c0d0f1a20620c0f0a9a30628003896a205420135481450636216362e355f362e365f53686f77506167655f7469746c656a3d6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e355f362e365f53686f77506167655f7461625f74727565636f6c6f7272406576656e742f496d6d6564696174656c792f4163746976697479506167652f362e355f362e365f53686f77506167655f62616e6e65725f74727565636f6c6f727ac5013c747970653d22776562766965772220746578743d22474f2220687265663d2268747470733a2f2f6163742e686f796f76657273652e636f6d2f70757a7a6c652f6268332f6532303233303531317072657669657730315f3739382f696e6465782e68746d6c3f67616d655f62697a3d6268335f6f73267369676e5f747970653d3226617574686b65795f7665723d3126617574685f61707069643d6532303233303531317072657669657730312677696e5f6d6f64653d66756c6c73637265656e222f3e820114362e355f362e365f53686f77506167655f4465738801840792013c6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e355f362e365f53686f77506167655f62675f74727565636f6c6f729a013f6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e355f362e365f53686f77506167655f7469746c655f74727565636f6c6f72aa01009203d20208bd2b100418c0ddc0a30620bfc78aa4062800389f8607420134481450636211362e365f573244726573735f5469746c656a386576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f573244726573735f5461625f74727565636f6c6f72723b6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f573244726573735f42616e6e65725f74727565636f6c6f727a183c747970653d2239317c352220746578743d22474f222f3e82010f362e365f573244726573735f4465738801f70a9201376576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f573244726573735f42475f74727565636f6c6f729a013a6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f573244726573735f5469746c655f74727565636f6c6f72aa01009203ff0208a77f100418c0dd9d9e0620bfe3a0ad062800389bf740420131480f50636211362e335f4d656469614a575f7469746c656a3a6576656e742f496d6d6564696174656c792f4163746976697479506167652f636f6e73745f4d656469614a575f7461625f74727565636f6c6f72723d6576656e742f496d6d6564696174656c792f4163746976697479506167652f636f6e73745f4d656469614a575f62616e6e65725f74727565636f6c6f727a3d3c747970653d2262726f777365722220746578743d22474f2220687265663d2268747470733a2f2f686f796f2e6c696e6b2f3031586f42424164222f3e82010f362e335f4d656469614a575f4465738801ac029201396576656e742f496d6d6564696174656c792f4163746976697479506167652f636f6e73745f4d656469614a575f62675f74727565636f6c6f729a013c6576656e742f496d6d6564696174656c792f4163746976697479506167652f636f6e73745f4d656469614a575f7469746c655f74727565636f6c6f72aa01009a030708882710c193389a030708c03e10c293389a030708c86510c393389a030808a09c0110c493389a030808b0ea0110c59338a00314a803c0b9aec905b003c0a493cc05ba031541726d616461416374697669747942746e5f446563c00301c8033cd00332d8030ae00300e80319f00301f803ed40f803ee40f803ef40f803f04080043688041e900432980419a2040c080010001800200028003000a2040d080110cd021814200328053003a2040d0802109a0518282007280a3007a2040d080310e707183c200a280f300aa8044bb00405c00464c80414d004901cd8048c0180050a880532900519a0051eaa05910708d1f40808d2f40808d3f40808d4f40808d5f40808d6f40808d7f40808d8f40808d9f40808daf40808dbf40808dcf40808ddf40808def40808dff40808e0f40808e1f40808e2f40808e3f40808e4f40808e5f40808e6f40808e7f40808e8f40808e9f40808eaf40808ebf40808ecf40808edf40808eef40808eff40808f0f40808f1f40808f2f40808f3f40808f4f40808f5f40808f6f40808f7f40808f8f40808f9f40808faf40808fbf40808fcf40808fdf40808fef40808fff4080880f5080881f5080882f5080883f5080884f5080885f5080886f5080887f5080888f5080889f508088af508088bf508088cf508088df508088ef508088ff5080890f5080891f5080892f5080893f5080894f5080895f5080896f5080897f5080898f5080899f508089af508089bf508089cf508089df508089ef508089ff50808a0f50808a1f50808a2f50808a3f50808a4f50808a5f50808a6f50808a7f50808a8f50808a9f50808aaf50808abf50808acf50808adf50808aef50808aff50808b0f50808b1f50808b2f50808b3f50808b4f5080899f608089af608089bf608089cf608089df608089ef608089ff60808a0f60808a1f60808a2f60808a3f60808a4f60808a5f60808a9ab0908aaab0908abab0908acab0908adab0908aeab0908afab0908b0ab0908b1ab0908b2ab0908b3ab0908b4ab0908b5ab0908b6ab0908b7ab0908b8ab0908b9ab0908baab0908bbab0908bcab0908bdab0908beab0908bfab0908c0ab0908c1ab0908c2ab0908c3ab0908c4ab0908c5ab0908c6ab0908c7ab09089daf09089eaf09089faf0908a0af0908a1af0908a2af0908a3af0908a4af0908a5af0908a6af0908a7af0908a8af0908a9af0908aaaf0908abaf0908acaf0908adaf0908aeaf0908cefa360895fb3608c9bb0908ddbb0908e7bb090884dc0a0885dc0a0886dc0a0887dc0a0888dc0a0889dc0a088adc0a088bdc0a088cdc0a088ddc0a088edc0a088fdc0a0890dc0a0891dc0a0892dc0a0893dc0a0894dc0a0895dc0a0896dc0a0897dc0a0898dc0a0899dc0a089adc0a089bdc0a089cdc0a089ddc0a089edc0a089fdc0a08a0dc0a08a1dc0a08a2dc0a08a3dc0a08a4dc0a08a5dc0a08a6dc0a08a7dc0a08ac88f50408b088f50408b488f50408b888f50408bd88f50408be88f50408bf88f50408c088f50408c188f50408c288f50408c388f50408e697930508ca98930508ae99930508929a93051004100f10141015101810191020100a100b1023102110251024b80501c00501d005c0cda4a306") - + byte_array = bytes.fromhex( + "080010e802203c287830c070389e95a2a306403248940160e8077819fa0105089407100afa010608ce08109802fa010608cf08109802fa010608d008109802fa010508d208103cfa010608d408109802fa010608d508109601fa010608d60810c801fa010608d70810c801fa010508d8081078fa010608db08109802fa010508a7391064fa0105089e3a100afa010508a83d100afa010708fdfa0610c801fa0106089cfb061008fa010608a6fc06100afa01060888fd06100afa01060898fd061008fa010608e7ff06100afa010608ebff061008fa010608818007100afa010608a48307100afa010608a98307100afa010608ba8307100afa010608df83071008fa010608e283071008fa010608ef83071008fa0106089c8b07100afa0106089a9007100afa010608c4a2071008fa010608c9b107100afa010608d1b107100afa010608d2b107100afa010608ceb307100afa010608d2b307100afa01060892d207100afa010608dbde07100afa010608dcde07100afa0106089ce640106482020a6f76657273656173303188021a9a02160802105018c0e494a30620c0bcafa40628c91a28ad1b9a0211080410d80418c0e494a30620c0bcafa406a00278a802a0bfc6fa05b002a0a8d6fa05b80202c802ff93ebdc03d00280cab5ee01e802fa36f00205f80280a3059203bb02089a2210021884e1f8ee052084dddadf0728003818420130480f50636212444c435f426f7867616368615f5469746c656a275370726974654f75747075742f53686f7054616249636f6e732f49636f6e53686f70476163686172416576656e742f496d6d6564696174656c792f4163746976697479506167652f332e35535068756e74696e6767616368615f62616e6e65725f74727565636f6c6f727a00820115332e35535068756e74696e6767616368615f4465738801ce029201386576656e742f496d6d6564696174656c792f4163746976697479506167652f332e35535068756e74696e675f62675f74727565636f6c6f729a01406576656e742f496d6d6564696174656c792f4163746976697479506167652f332e35535068756e74696e6767616368615f7469746c655f74727565636f6c6f72aa010092036608af28102e18a0c9f38e0620bf8bc1bc08280042013048505063620d352e365455504f5f7469746c656a1c5370726974654f75747075742f42502f352e365f5475506f5f54616272007a0082010b352e365455504f5f6465738801bc059201009a0100aa01009203ad0208b72810021880d7fd8e0620bf979ad30728003823420130481950636211352e34646c6367616368615f7469746c656a275370726974654f75747075742f53686f7054616249636f6e732f49636f6e53686f704761636861723d6576656e742f496d6d6564696174656c792f4163746976697479506167652f352e345f444c433267616368615f62616e6e65725f74727565636f6c6f727a0082010f352e34646c6367616368615f446573880182079201396576656e742f496d6d6564696174656c792f4163746976697479506167652f352e345f444c433267616368615f62675f74727565636f6c6f729a013c6576656e742f496d6d6564696174656c792f4163746976697479506167652f352e345f444c433267616368615f7469746c655f74727565636f6c6f72aa010092039102089d2b100318c0b2cca10620bff0a9a30628003839420130480a5063620f352e36425053686f705f5469746c656a2e6576656e742f496d6d6564696174656c792f42502f636f6e73745f53686f7054616230345f74727565636f6c6f72723f6576656e742f496d6d6564696174656c792f42502f53686f702f362e355f362e365f425053686f7042616e6e65725f62616e6e65725f74727565636f6c6f727a008201008801ca0992013b6576656e742f496d6d6564696174656c792f42502f53686f702f362e355f362e365f425053686f7042616e6e65725f62675f74727565636f6c6f729a01215370726974654f75747075742f42502f42505f42616e6e65725f546f756d696e67a00193b93baa01009203ab03089f2b100418c0e494a30620c0bcafa4062800389e86073880a7293881a7293882a7293883a7293884a7293885a7293886a7293887a7293888a7293889a729388aa729388ba729388ca729388da729388ea729388fa7293890a7293891a729420134480950636217362e3653686f7070696e674461797330315f7469746c656a3f6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f53686f7070696e674461797330315f7461625f74727565636f6c6f7272426576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f53686f7070696e674461797330315f62616e6e65725f74727565636f6c6f727a00820111362e3653686f7070696e6730315f4465738801d00f92013e6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f53686f7070696e674461797330315f62675f74727565636f6c6f729a01416576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f53686f7070696e674461797330315f7469746c655f74727565636f6c6f72a001afd207aa01009203e10208a02b100318c0e494a30620c0bcafa40628003816420130481450636217362e3653686f7070696e674461797330325f7469746c656a3f6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f53686f7070696e674461797330325f7461625f74727565636f6c6f7272426576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f53686f7070696e674461797330325f62616e6e65725f74727565636f6c6f727a00820111362e3653686f7070696e6730325f4465738801cf0f92013e6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f53686f7070696e674461797330325f62675f74727565636f6c6f729a01416576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f53686f7070696e674461797330325f7469746c655f74727565636f6c6f72a001afd207aa01009203e10208a12b100318c0e494a30620c0bcafa4062800382d420130481450636217362e3653686f7070696e674461797330335f7469746c656a3f6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f53686f7070696e674461797330325f7461625f74727565636f6c6f7272426576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f53686f7070696e674461797330335f62616e6e65725f74727565636f6c6f727a00820111362e3653686f7070696e6730335f4465738801ce0f92013e6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f53686f7070696e674461797330335f62675f74727565636f6c6f729a01416576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f53686f7070696e674461797330335f7469746c655f74727565636f6c6f72a001b0d207aa01009203df0208a22b101a18c0e494a30620c0bcafa4062800380d420130481450636217362e3653686f7070696e674461797330345f7469746c656a3f6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f53686f7070696e674461797330345f7461625f74727565636f6c6f7272426576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f53686f7070696e674461797330345f62616e6e65725f74727565636f6c6f727a00820111362e3653686f7070696e6730345f4465738801cd0f92013e6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f53686f7070696e674461797330345f62675f74727565636f6c6f729a01416576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f53686f7070696e674461797330345f7469746c655f74727565636f6c6f72a00106aa01009203d00208a42b100418c0d2e5a30620c0bcafa4062800389c8607420134481450636211362e365f573344726573735f5469746c656a386576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f573344726573735f5461625f74727565636f6c6f72723b6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f573344726573735f42616e6e65725f74727565636f6c6f727a183c747970653d22377c31342220746578743d22474f222f3e82010d362e365f44726573735f4465738801f80a9201376576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f573344726573735f42475f74727565636f6c6f729a013a6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f573344726573735f5469746c655f74727565636f6c6f72aa01009203d20208a52b100418c0e494a30620bfafe0a3062800389d8607420134481450636211362e365f573144726573735f5469746c656a386576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f573144726573735f5461625f74727565636f6c6f72723b6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f573144726573735f42616e6e65725f74727565636f6c6f727a183c747970653d22377c31342220746578743d22474f222f3e82010f362e365f573144726573735f4465738801f80a9201376576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f573144726573735f42475f74727565636f6c6f729a013a6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f573144726573735f5469746c655f74727565636f6c6f72aa01009203dd0208a62b101518c0bcafa40620bfb1d4a406280038848c0638858c06420130481450636216352e385f73686f7070696e67646179735f7469746c656a386576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f536372617463685f5461625f74727565636f6c6f72723a6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f536372617463685f496d6167655f74727565636f6c6f727a183c747970653d2239317c312220746578743d22474f222f3e820113332e3673686f7070696e67646179735f4465738801f80a9201376576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f536372617463685f42475f74727565636f6c6f729a01396576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f536372617463685f546578745f74727565636f6c6f72aa01009203be0308a72b100418c0e494a30620bfbcafa406280038daae0538e5ae0538dbae0538e6ae0538dcae0538ddae0538deae0538dfae0538e7ae0538e8ae0538e9ae0538eaae0538e0ae0538e1ae0538e2ae0538e3ae0538ebae0538ecae0538edae0538eeae0538fbf74038fcf740420130481e50636213362e365f4368617261637465725f7469746c656a3e6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f43686172616374657253686f775f7461625f74727565636f6c6f72723d6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f4368617261637465725f62616e6e65725f74727565636f6c6f727a203c747970653d2236337c34303030303138312220746578743d22474f22202f3e820111362e365f4368617261637465725f6465738801b0099201396576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f4368617261637465725f62675f74727565636f6c6f729a013c6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f4368617261637465725f7469746c655f74727565636f6c6f72aa01009203ec0208aa2b100418c0e494a30620bfbcafa406280038d6ae0538d7ae0538d8ae0538d9ae05420130483250636212362e365f4558576561706f6e5f7469746c656a396576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f4558576561706f6e5f7461625f74727565636f6c6f72723c6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f4558576561706f6e5f62616e6e65725f74727565636f6c6f727a1f3c747970653d22313030377c31313835312220746578743d22474f22202f3e820110362e365f4558576561706f6e5f4465738801ad099201386576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f4558576561706f6e5f62675f74727565636f6c6f729a013c6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f4558576561706f6e5f746974696c655f74727565636f6c6f72aa01009203e10208ab2b100318c1bcafa40620c0b1d4a40628003816420130481450636217362e3653686f7070696e674461797330325f7469746c656a3f6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f53686f7070696e674461797330325f7461625f74727565636f6c6f7272426576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f53686f7070696e674461797330325f62616e6e65725f74727565636f6c6f727a00820111362e3653686f7070696e6730325f4465738801f80a92013e6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f53686f7070696e674461797330325f62675f74727565636f6c6f729a01416576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f53686f7070696e674461797330325f7469746c655f74727565636f6c6f72a001afd207aa01009203e10208ac2b100318c1bcafa40620c0b1d4a4062800382d420130481450636217362e3653686f7070696e674461797330335f7469746c656a3f6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f53686f7070696e674461797330325f7461625f74727565636f6c6f7272426576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f53686f7070696e674461797330335f62616e6e65725f74727565636f6c6f727a00820111362e3653686f7070696e6730335f4465738801f70a92013e6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f53686f7070696e674461797330335f62675f74727565636f6c6f729a01416576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f53686f7070696e674461797330335f7469746c655f74727565636f6c6f72a001b0d207aa01009203df0208ad2b100318c0ddc0a30620c0c78aa40628003820420130481450636211332e3374696d6573686f705f7469746c656a396576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f54696d6553686f705f5461625f74727565636f6c6f72723c6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f54696d6553686f705f42616e6e65725f74727565636f6c6f727a183c747970653d2239317c352220746578743d22474f222f3e82010f332e3374696d6573686f705f4465738801a0069201386576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f54696d6553686f705f42475f74727565636f6c6f729a013b6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f54696d6553686f705f5469746c655f74727565636f6c6f72a00105a001af3aa001f437aa01009203af0308ae2b100418c0e494a30620c0a2f2a4062800389ea929389fa92938a0a92938a1a92938a2a92938a3a92938a4a92938a5a92938a6a92938a7a92938a8a92938a9a92938aaa92938aba92938aca92938ada92938aea929420130481950636210362e3677656c666172655f7469746c656a3f6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f77656c666172656d697373696f6e5f7461625f74727565636f6c6f7272426576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f77656c666172656d697373696f6e5f62616e6e65725f74727565636f6c6f727a1b3c747970653d2236347c353535312220746578743d22474f222f3e82010e362e3677656c666172655f6465738801aa0b92013e6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f77656c666172656d697373696f6e5f62675f74727565636f6c6f729a01416576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f77656c666172656d697373696f6e5f7469746c655f74727565636f6c6f72aa01009203ee0208af2b100318c0e494a30620c09797a50628003834420130481950636214362e3677656c6661726573686f705f7469746c656a3c6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f77656c6661726573686f705f7461625f74727565636f6c6f72723f6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f77656c6661726573686f705f62616e6e65725f74727565636f6c6f727a1b3c747970653d2236347c353535302220746578743d22474f222f3e820112362e3677656c6661726573686f705f6465738801a90b92013b6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f77656c6661726573686f705f62675f74727565636f6c6f729a013e6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f77656c6661726573686f705f7469746c655f74727565636f6c6f72a001da8007aa01009203950308b02b100418a0e1a9a40620bfa2f2a4062800388ea929388fa9293890a9293891a9293892a9293893a9293894a9293895a9293896a9293897a9293898a9293899a929389aa929389ba929389ca929389da929420130483250636212362e335f57617665527573685f7469746c656a396576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f57617665527573685f7461625f74727565636f6c6f72723c6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f57617665527573685f62616e6e65725f74727565636f6c6f727a193c747970653d223134327c302220746578743d22474f222f3e820110362e335f57617665527573685f4465738801880e9201386576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f57617665527573685f62675f74727565636f6c6f729a013b6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f57617665527573685f7469746c655f74727565636f6c6f72aa01009203e20208b12b100418c0e494a306209f99aba306280038afa929420131481e50636211362e365f4d61696e4f57315f7469746c656a3b6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f4d61696e5374616765315f7461625f74727565636f6c6f72723e6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f4d61696e5374616765315f62616e6e65725f74727565636f6c6f727a193c747970653d2239347c33372220746578743d22474f222f3e820112362e365f4d61696e5374616765315f4465738801c10c92013a6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f4d61696e5374616765315f62675f74727565636f6c6f729a013d6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f4d61696e5374616765315f7469746c655f74727565636f6c6f72aa01009203e20208b22b100418a099aba306209f8ed0a306280038b0a929420131481e50636211362e365f4d61696e4f57315f7469746c656a3b6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f4d61696e5374616765325f7461625f74727565636f6c6f72723e6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f4d61696e5374616765325f62616e6e65725f74727565636f6c6f727a193c747970653d2239347c33372220746578743d22474f222f3e820112362e365f4d61696e5374616765325f4465738801c10c92013a6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f4d61696e5374616765325f62675f74727565636f6c6f729a013d6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f4d61696e5374616765325f7469746c655f74727565636f6c6f72aa01009203e20208b32b100418a08ed0a30620bfa2f2a406280038b1a929420131481e50636211362e365f4d61696e4f57315f7469746c656a3b6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f4d61696e5374616765335f7461625f74727565636f6c6f72723e6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f4d61696e5374616765335f62616e6e65725f74727565636f6c6f727a193c747970653d2239347c33372220746578743d22474f222f3e820112362e365f4d61696e5374616765335f4465738801c10c92013a6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f4d61696e5374616765335f62675f74727565636f6c6f729a013d6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f4d61696e5374616765335f7469746c655f74727565636f6c6f72aa01009203800308b42b100418c0e494a30620bfa2f2a406280038b2a92938b3a92938b4a92938b5a92938b7a92938b9a92938cfaa2938d0aa2938d1aa2938d2aa29420130481e50636210362e365f4d61696e4f575f7469746c656a3a6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f4d61696e53746167655f7461625f74727565636f6c6f72723d6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f4d61696e53746167655f62616e6e65725f74727565636f6c6f727a193c747970653d2239347c33372220746578743d22474f222f3e820111362e365f4d61696e53746167655f4465738801c00c9201396576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f4d61696e53746167655f62675f74727565636f6c6f729a013c6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f4d61696e53746167655f7469746c655f74727565636f6c6f72aa01009203d50308b52b100418a0b1d5a30620c0a2f2a40628003882aa293883aa293884aa293887aa293888aa293889aa29388aaa29388baa29388caa29388daa29388eaa29388faa293890aa293891aa293892aa293893aa293894aa293895aa293896aa293897aa293898aa293899aa29389aaa29389baa29389caa29389daa293885aa293886aa29420130481e5063620f362e36747269706c655f7469746c656a3e6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f747269706c656d697373696f6e5f7461625f74727565636f6c6f7272416576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f747269706c656d697373696f6e5f62616e6e65725f74727565636f6c6f727a1b3c747970653d2238317c393038302220746578743d22474f222f3e82010d362e36747269706c655f6465738801a40d92013d6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f747269706c656d697373696f6e5f62675f74727565636f6c6f729a01406576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f747269706c656d697373696f6e5f7469746c655f74727565636f6c6f72aa01009203e80208b62b100318a0b1d5a30620c09797a50628003847420130481e50636213362e36747269706c6573686f705f7469746c656a3b6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f747269706c6573686f705f7461625f74727565636f6c6f72723e6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f747269706c6573686f705f62616e6e65725f74727565636f6c6f727a1b3c747970653d2238317c393038302220746578743d22474f222f3e820111362e36747269706c6573686f705f6465738801a30d92013a6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f747269706c6573686f705f62675f74727565636f6c6f729a013d6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f747269706c6573686f705f7469746c655f74727565636f6c6f72a001eddd07aa010092038c0208bb2b100318c0f0a9a30620bfae87a5062800383b420130480a5063620f352e36425053686f705f5469746c656a2e6576656e742f496d6d6564696174656c792f42502f636f6e73745f53686f7054616230345f74727565636f6c6f72723f6576656e742f496d6d6564696174656c792f42502f53686f702f362e365f362e375f425053686f7042616e6e65725f62616e6e65725f74727565636f6c6f727a008201008801ca0992013b6576656e742f496d6d6564696174656c792f42502f53686f702f362e365f362e375f425053686f7042616e6e65725f62675f74727565636f6c6f729a01215370726974654f75747075742f42502f42505f42616e6e65725f546f756d696e67aa010092039e0408bc2b100418c0d0f1a20620c0f0a9a30628003896a205420135481450636216362e355f362e365f53686f77506167655f7469746c656a3d6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e355f362e365f53686f77506167655f7461625f74727565636f6c6f7272406576656e742f496d6d6564696174656c792f4163746976697479506167652f362e355f362e365f53686f77506167655f62616e6e65725f74727565636f6c6f727ac5013c747970653d22776562766965772220746578743d22474f2220687265663d2268747470733a2f2f6163742e686f796f76657273652e636f6d2f70757a7a6c652f6268332f6532303233303531317072657669657730315f3739382f696e6465782e68746d6c3f67616d655f62697a3d6268335f6f73267369676e5f747970653d3226617574686b65795f7665723d3126617574685f61707069643d6532303233303531317072657669657730312677696e5f6d6f64653d66756c6c73637265656e222f3e820114362e355f362e365f53686f77506167655f4465738801840792013c6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e355f362e365f53686f77506167655f62675f74727565636f6c6f729a013f6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e355f362e365f53686f77506167655f7469746c655f74727565636f6c6f72aa01009203d20208bd2b100418c0ddc0a30620bfc78aa4062800389f8607420134481450636211362e365f573244726573735f5469746c656a386576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f573244726573735f5461625f74727565636f6c6f72723b6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f573244726573735f42616e6e65725f74727565636f6c6f727a183c747970653d2239317c352220746578743d22474f222f3e82010f362e365f573244726573735f4465738801f70a9201376576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f573244726573735f42475f74727565636f6c6f729a013a6576656e742f496d6d6564696174656c792f4163746976697479506167652f362e365f573244726573735f5469746c655f74727565636f6c6f72aa01009203ff0208a77f100418c0dd9d9e0620bfe3a0ad062800389bf740420131480f50636211362e335f4d656469614a575f7469746c656a3a6576656e742f496d6d6564696174656c792f4163746976697479506167652f636f6e73745f4d656469614a575f7461625f74727565636f6c6f72723d6576656e742f496d6d6564696174656c792f4163746976697479506167652f636f6e73745f4d656469614a575f62616e6e65725f74727565636f6c6f727a3d3c747970653d2262726f777365722220746578743d22474f2220687265663d2268747470733a2f2f686f796f2e6c696e6b2f3031586f42424164222f3e82010f362e335f4d656469614a575f4465738801ac029201396576656e742f496d6d6564696174656c792f4163746976697479506167652f636f6e73745f4d656469614a575f62675f74727565636f6c6f729a013c6576656e742f496d6d6564696174656c792f4163746976697479506167652f636f6e73745f4d656469614a575f7469746c655f74727565636f6c6f72aa01009a030708882710c193389a030708c03e10c293389a030708c86510c393389a030808a09c0110c493389a030808b0ea0110c59338a00314a803c0b9aec905b003c0a493cc05ba031541726d616461416374697669747942746e5f446563c00301c8033cd00332d8030ae00300e80319f00301f803ed40f803ee40f803ef40f803f04080043688041e900432980419a2040c080010001800200028003000a2040d080110cd021814200328053003a2040d0802109a0518282007280a3007a2040d080310e707183c200a280f300aa8044bb00405c00464c80414d004901cd8048c0180050a880532900519a0051eaa05910708d1f40808d2f40808d3f40808d4f40808d5f40808d6f40808d7f40808d8f40808d9f40808daf40808dbf40808dcf40808ddf40808def40808dff40808e0f40808e1f40808e2f40808e3f40808e4f40808e5f40808e6f40808e7f40808e8f40808e9f40808eaf40808ebf40808ecf40808edf40808eef40808eff40808f0f40808f1f40808f2f40808f3f40808f4f40808f5f40808f6f40808f7f40808f8f40808f9f40808faf40808fbf40808fcf40808fdf40808fef40808fff4080880f5080881f5080882f5080883f5080884f5080885f5080886f5080887f5080888f5080889f508088af508088bf508088cf508088df508088ef508088ff5080890f5080891f5080892f5080893f5080894f5080895f5080896f5080897f5080898f5080899f508089af508089bf508089cf508089df508089ef508089ff50808a0f50808a1f50808a2f50808a3f50808a4f50808a5f50808a6f50808a7f50808a8f50808a9f50808aaf50808abf50808acf50808adf50808aef50808aff50808b0f50808b1f50808b2f50808b3f50808b4f5080899f608089af608089bf608089cf608089df608089ef608089ff60808a0f60808a1f60808a2f60808a3f60808a4f60808a5f60808a9ab0908aaab0908abab0908acab0908adab0908aeab0908afab0908b0ab0908b1ab0908b2ab0908b3ab0908b4ab0908b5ab0908b6ab0908b7ab0908b8ab0908b9ab0908baab0908bbab0908bcab0908bdab0908beab0908bfab0908c0ab0908c1ab0908c2ab0908c3ab0908c4ab0908c5ab0908c6ab0908c7ab09089daf09089eaf09089faf0908a0af0908a1af0908a2af0908a3af0908a4af0908a5af0908a6af0908a7af0908a8af0908a9af0908aaaf0908abaf0908acaf0908adaf0908aeaf0908cefa360895fb3608c9bb0908ddbb0908e7bb090884dc0a0885dc0a0886dc0a0887dc0a0888dc0a0889dc0a088adc0a088bdc0a088cdc0a088ddc0a088edc0a088fdc0a0890dc0a0891dc0a0892dc0a0893dc0a0894dc0a0895dc0a0896dc0a0897dc0a0898dc0a0899dc0a089adc0a089bdc0a089cdc0a089ddc0a089edc0a089fdc0a08a0dc0a08a1dc0a08a2dc0a08a3dc0a08a4dc0a08a5dc0a08a6dc0a08a7dc0a08ac88f50408b088f50408b488f50408b888f50408bd88f50408be88f50408bf88f50408c088f50408c188f50408c288f50408c388f50408e697930508ca98930508ae99930508929a93051004100f10141015101810191020100a100b1023102110251024b80501c00501d005c0cda4a306" + ) ms = memoryview(byte_array) rsp = GetConfigRsp() @@ -48,7 +50,7 @@ async def handle(session: Session, msg: GetConfigReq) -> betterproto.Message: rsp.region_name = "overseas01" rsp.next_day_begin_time = int(get_unix_in_seconds() + 604800 / 7) - stage_ids = [146033,146056,146077,146078] + stage_ids = [146033, 146056, 146077, 146078] for id in stage_ids: rsp.anti_cheat_stage_check_config.check_stage_id_list.append(id) diff --git a/game_server/packet/handlers/GetFrameDataReq.py b/game_server/packet/handlers/GetFrameDataReq.py index 3655ad7..1f05438 100644 --- a/game_server/packet/handlers/GetFrameDataReq.py +++ b/game_server/packet/handlers/GetFrameDataReq.py @@ -2,23 +2,16 @@ import betterproto from game_server.net.session import Session from game_server.resource import ResourceManager from game_server.resource.configdb.frame_data import Frame_Data -from game_server.utils import get_unix_in_seconds -from lib.proto import ( - GetFrameDataReq, - GetFrameDataRsp, - FrameData -) - +from utils.time import get_unix_in_seconds +from lib.proto import GetFrameDataReq, GetFrameDataRsp, FrameData + async def handle(session: Session, msg: GetFrameDataReq) -> betterproto.Message: return GetFrameDataRsp( retcode=0, is_all=True, frame_list=[ - FrameData( - id=frame.id, - expire_time=get_unix_in_seconds() + 3600 * 24 * 7 - ) + FrameData(id=frame.id, expire_time=get_unix_in_seconds() + 3600 * 24 * 7) for frame in ResourceManager.instance().values(Frame_Data) - ] + ], ) diff --git a/game_server/packet/handlers/GetLoginActivityReq.py b/game_server/packet/handlers/GetLoginActivityReq.py index b3c0559..097bbba 100644 --- a/game_server/packet/handlers/GetLoginActivityReq.py +++ b/game_server/packet/handlers/GetLoginActivityReq.py @@ -1,11 +1,8 @@ import betterproto from game_server.net.session import Session -from game_server.utils import get_unix_in_seconds -from lib.proto import ( - GetLoginActivityReq, - GetLoginActivityRsp, - LoginActivityData -) +from utils.time import get_unix_in_seconds +from lib.proto import GetLoginActivityReq, GetLoginActivityRsp, LoginActivityData + async def handle(session: Session, msg: GetLoginActivityReq) -> betterproto.Message: return GetLoginActivityRsp( @@ -15,7 +12,7 @@ async def handle(session: Session, msg: GetLoginActivityReq) -> betterproto.Mess id=581, login_days=get_unix_in_seconds(), accept_time=get_unix_in_seconds(), - duration_end_time=get_unix_in_seconds() + 604800 * 2 + duration_end_time=get_unix_in_seconds() + 604800 * 2, ) - ] + ], ) diff --git a/game_server/packet/handlers/GetMainDataReq.py b/game_server/packet/handlers/GetMainDataReq.py index 6d6f4d9..a0cbd42 100644 --- a/game_server/packet/handlers/GetMainDataReq.py +++ b/game_server/packet/handlers/GetMainDataReq.py @@ -1,7 +1,14 @@ import betterproto from game_server.net.session import Session -from lib.proto import GetMainDataReq,GetMainDataRsp,WarshipAvatarData,ChatworldActivityInfo,WarshipThemeData -from game_server.utils import get_unix_in_seconds +from lib.proto import ( + GetMainDataReq, + GetMainDataRsp, + WarshipAvatarData, + ChatworldActivityInfo, + WarshipThemeData, +) +from utils.time import get_unix_in_seconds + async def handle(session: Session, msg: GetMainDataReq) -> betterproto.Message: return GetMainDataRsp( @@ -20,7 +27,7 @@ async def handle(session: Session, msg: GetMainDataReq) -> betterproto.Message: pay_hcoin=0, warship_avatar=WarshipAvatarData( warship_first_avatar_id=session.player.warship_avatar.warship_first_avatar_id, - warship_second_avatar_id=session.player.warship_avatar.warship_second_avatar_id + warship_second_avatar_id=session.player.warship_avatar.warship_second_avatar_id, ), self_desc=session.player.signature, use_frame_id=session.player.head_frame, @@ -31,19 +38,48 @@ async def handle(session: Session, msg: GetMainDataReq) -> betterproto.Message: equipment_size_limit=1000, open_panel_activity_list=[2], chatworld_activity_info=ChatworldActivityInfo( - is_has_npc_red_envelope=False, - treasure_schedule_id=0 + is_has_npc_red_envelope=False, treasure_schedule_id=0 ), is_allow_cost_senior_equip_on_cur_device=True, - type_list=[2, 3, 4, 5, 6, 7, 8, 9, 14, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36, 37, 38, 39], + type_list=[ + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 14, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 35, + 36, + 37, + 38, + 39, + ], level_lock_id=1, mcoin=100000, month_recharge_price=0, - warship_theme=WarshipThemeData( - warship_id=session.player.warship_id - ), + warship_theme=WarshipThemeData(warship_id=session.player.warship_id), total_login_days=1, next_evaluate_time=0, on_medal_id=0, - today_recharge_price=0 + today_recharge_price=0, ) diff --git a/game_server/packet/handlers/GetMissionDataReq.py b/game_server/packet/handlers/GetMissionDataReq.py index 4f31c85..6d166c3 100644 --- a/game_server/packet/handlers/GetMissionDataReq.py +++ b/game_server/packet/handlers/GetMissionDataReq.py @@ -2,28 +2,27 @@ import betterproto from game_server.net.session import Session from game_server.resource import ResourceManager from game_server.resource.configdb.mission_data import MissionData -from game_server.utils import get_unix_in_seconds +from utils.time import get_unix_in_seconds from lib.proto import ( GetMissionDataReq, GetMissionDataRsp, Mission, MissionStatus, ChallengeMissionData, - MainlineStepMission + MainlineStepMission, ) + async def handle(session: Session, msg: GetMissionDataReq) -> betterproto.Message: return GetMissionDataRsp( retcode=0, - challenge_mission=ChallengeMissionData( - is_unlock=True - ), - close_mission_list=[mission.id for mission in ResourceManager.instance().values(MissionData)], + challenge_mission=ChallengeMissionData(is_unlock=True), + close_mission_list=[ + mission.id for mission in ResourceManager.instance().values(MissionData) + ], is_all=True, is_in_activity=True, - mainline_step=MainlineStepMission( - is_update=True - ), + mainline_step=MainlineStepMission(is_update=True), mission_list=[ Mission( mission_id=mission.id, @@ -32,8 +31,8 @@ async def handle(session: Session, msg: GetMissionDataReq) -> betterproto.Messag progress=mission.totalProgress, begin_time=0, end_time=2073239999, - cycle_id=1 + cycle_id=1, ) for mission in ResourceManager.instance().values(MissionData) - ] + ], ) diff --git a/game_server/packet/handlers/GetOpenworldEndlessDataReq.py b/game_server/packet/handlers/GetOpenworldEndlessDataReq.py index 3744bfb..9bc61d6 100644 --- a/game_server/packet/handlers/GetOpenworldEndlessDataReq.py +++ b/game_server/packet/handlers/GetOpenworldEndlessDataReq.py @@ -1,13 +1,13 @@ import betterproto import random from game_server.net.session import Session -from game_server.utils import get_unix_in_seconds -from lib.proto import ( - GetOpenworldEndlessDataReq, - GetOpenworldEndlessDataRsp -) +from utils.time import get_unix_in_seconds +from lib.proto import GetOpenworldEndlessDataReq, GetOpenworldEndlessDataRsp -async def handle(session: Session, msg: GetOpenworldEndlessDataReq) -> betterproto.Message: + +async def handle( + session: Session, msg: GetOpenworldEndlessDataReq +) -> betterproto.Message: return GetOpenworldEndlessDataRsp( retcode=0, begin_time=0, @@ -15,5 +15,5 @@ async def handle(session: Session, msg: GetOpenworldEndlessDataReq) -> betterpro close_time=int(get_unix_in_seconds() + 3600 * 24 * 7 + 1200), random_seed=random.randint(1, 1000000), hard_level=msg.level, - type=msg.type + type=msg.type, ) diff --git a/game_server/packet/handlers/GetProductListReq.py b/game_server/packet/handlers/GetProductListReq.py index 47dc365..e95d4c0 100644 --- a/game_server/packet/handlers/GetProductListReq.py +++ b/game_server/packet/handlers/GetProductListReq.py @@ -1,11 +1,12 @@ import betterproto from game_server.net.session import Session -from game_server.utils import get_unix_in_seconds -from lib.proto import GetProductListReq,GetProductListRsp +from utils.time import get_unix_in_seconds +from lib.proto import GetProductListReq, GetProductListRsp + async def handle(session: Session, msg: GetProductListReq) -> betterproto.Message: return GetProductListRsp( retcode=0, next_random_box_product_refresh_time=int(get_unix_in_seconds() + 3600 * 24), - next_limit_product_refresh_time=int(get_unix_in_seconds() + 3600 * 24) + next_limit_product_refresh_time=int(get_unix_in_seconds() + 3600 * 24), ) diff --git a/game_server/packet/handlers/GetWeekDayActivityDataReq.py b/game_server/packet/handlers/GetWeekDayActivityDataReq.py index da96467..2422024 100644 --- a/game_server/packet/handlers/GetWeekDayActivityDataReq.py +++ b/game_server/packet/handlers/GetWeekDayActivityDataReq.py @@ -1,15 +1,18 @@ import betterproto from game_server.net.session import Session -from game_server.utils import get_unix_in_seconds +from utils.time import get_unix_in_seconds from lib.proto import ( GetWeekDayActivityDataReq, GetWeekDayActivityDataRsp, - WeekDayActivity + WeekDayActivity, ) -async def handle(session: Session, msg: GetWeekDayActivityDataReq) -> betterproto.Message: + +async def handle( + session: Session, msg: GetWeekDayActivityDataReq +) -> betterproto.Message: return GetWeekDayActivityDataRsp( - retcode=0, + retcode=0, activity_list=[ WeekDayActivity( activity_id=1003, @@ -18,7 +21,7 @@ async def handle(session: Session, msg: GetWeekDayActivityDataReq) -> betterprot begin_time=0, end_time=get_unix_in_seconds() + 3600 * 24 * 7, activity_begin_time=int(get_unix_in_seconds() * (10 / 8)), - force_open_time=0 + force_open_time=0, ) - ] + ], ) diff --git a/game_server/packet/handlers/SyncTimeReq.py b/game_server/packet/handlers/SyncTimeReq.py index 2f3584d..5f6a381 100644 --- a/game_server/packet/handlers/SyncTimeReq.py +++ b/game_server/packet/handlers/SyncTimeReq.py @@ -1,11 +1,8 @@ import betterproto from game_server.net.session import Session -from lib.proto import SyncTimeReq,SyncTimeRsp -from game_server.utils import get_unix_in_seconds +from lib.proto import SyncTimeReq, SyncTimeRsp +from utils.time import get_unix_in_seconds + async def handle(session: Session, msg: SyncTimeReq) -> betterproto.Message: - return SyncTimeRsp( - retcode=0, - cur_time=get_unix_in_seconds(), - seq=msg.seq - ) + return SyncTimeRsp(retcode=0, cur_time=get_unix_in_seconds(), seq=msg.seq) diff --git a/game_server/utils/__init__.py b/game_server/utils/__init__.py deleted file mode 100644 index d55a630..0000000 --- a/game_server/utils/__init__.py +++ /dev/null @@ -1,11 +0,0 @@ -import time as t -from time import time - -def cur_timestamp_ms(): - return int((time() * 1000)) - -def cur_timestamp_seconds(): - return int(time()) - -def get_unix_in_seconds(): - return int(t.time()) diff --git a/utils/time.py b/utils/time.py new file mode 100644 index 0000000..bef68be --- /dev/null +++ b/utils/time.py @@ -0,0 +1,4 @@ +import time + +def get_unix_in_seconds(): + return int(time.time())