let black do it's magic

This commit is contained in:
Hay1tsme committed 2023-03-09 11:38:58 -05:00
1 parent fa7206848c
commit a76bb94eb1
150 files changed
+8474 -4843

No files matched your search

+1 -1
View File
@@ -5,4 +5,4 @@ from titles.pokken.database import PokkenData
index = PokkenServlet
database = PokkenData
game_codes = [PokkenConstants.GAME_CODE]
current_schema_version = 1
current_schema_version = 1
+17 -10
View File
@@ -6,12 +6,13 @@ from core.config import CoreConfig
from titles.pokken.config import PokkenConfig
from titles.pokken.proto import jackal_pb2
class PokkenBase():
class PokkenBase:
def __init__(self, core_cfg: CoreConfig, game_cfg: PokkenConfig) -> None:
self.core_cfg = core_cfg
self.game_cfg = game_cfg
self.version = 0
def handle_noop(self, request: Any) -> bytes:
res = jackal_pb2.Response()
res.result = 1
@@ -25,7 +26,7 @@ class PokkenBase():
res.type = jackal_pb2.MessageType.PING
return res.SerializeToString()
def handle_register_pcb(self, request: jackal_pb2.RegisterPcbRequestData) -> bytes:
res = jackal_pb2.Response()
res.result = 1
@@ -37,20 +38,20 @@ class PokkenBase():
"MatchingServer": {
"host": f"https://{self.game_cfg.server.hostname}",
"port": self.game_cfg.server.port_matching,
"url": "/matching"
"url": "/matching",
},
"StunServer": {
"addr": self.game_cfg.server.hostname,
"port": self.game_cfg.server.port_stun
"port": self.game_cfg.server.port_stun,
},
"TurnServer": {
"addr": self.game_cfg.server.hostname,
"port": self.game_cfg.server.port_turn
"port": self.game_cfg.server.port_turn,
},
"AdmissionUrl": f"ws://{self.game_cfg.server.hostname}:{self.game_cfg.server.port_admission}",
"locationId": 123,
"logfilename": "JackalMatchingLibrary.log",
"biwalogfilename": "./biwa.log"
"biwalogfilename": "./biwa.log",
}
regist_pcb.bnp_baseuri = f"{self.core_cfg.title.hostname}/bna"
regist_pcb.biwa_setting = json.dumps(biwa_setting)
@@ -66,21 +67,27 @@ class PokkenBase():
return res.SerializeToString()
def handle_save_client_log(self, request: jackal_pb2.SaveClientLogRequestData) -> bytes:
def handle_save_client_log(
self, request: jackal_pb2.SaveClientLogRequestData
) -> bytes:
res = jackal_pb2.Response()
res.result = 1
res.type = jackal_pb2.MessageType.SAVE_CLIENT_LOG
return res.SerializeToString()
def handle_check_diagnosis(self, request: jackal_pb2.CheckDiagnosisRequestData) -> bytes:
def handle_check_diagnosis(
self, request: jackal_pb2.CheckDiagnosisRequestData
) -> bytes:
res = jackal_pb2.Response()
res.result = 1
res.type = jackal_pb2.MessageType.CHECK_DIAGNOSIS
return res.SerializeToString()
def handle_load_client_settings(self, request: jackal_pb2.CheckDiagnosisRequestData) -> bytes:
def handle_load_client_settings(
self, request: jackal_pb2.CheckDiagnosisRequestData
) -> bytes:
res = jackal_pb2.Response()
res.result = 1
res.type = jackal_pb2.MessageType.LOAD_CLIENT_SETTINGS
+38 -14
View File
@@ -1,48 +1,72 @@
from core.config import CoreConfig
class PokkenServerConfig():
class PokkenServerConfig:
def __init__(self, parent_config: "PokkenConfig"):
self.__config = parent_config
@property
def hostname(self) -> str:
return CoreConfig.get_config_field(self.__config, 'pokken', 'server', 'hostname', default="localhost")
return CoreConfig.get_config_field(
self.__config, "pokken", "server", "hostname", default="localhost"
)
@property
def enable(self) -> bool:
return CoreConfig.get_config_field(self.__config, 'pokken', 'server', 'enable', default=True)
return CoreConfig.get_config_field(
self.__config, "pokken", "server", "enable", default=True
)
@property
def loglevel(self) -> int:
return CoreConfig.str_to_loglevel(CoreConfig.get_config_field(self.__config, 'pokken', 'server', 'loglevel', default="info"))
return CoreConfig.str_to_loglevel(
CoreConfig.get_config_field(
self.__config, "pokken", "server", "loglevel", default="info"
)
)
@property
def port(self) -> int:
return CoreConfig.get_config_field(self.__config, 'pokken', 'server', 'port', default=9000)
return CoreConfig.get_config_field(
self.__config, "pokken", "server", "port", default=9000
)
@property
def port_matching(self) -> int:
return CoreConfig.get_config_field(self.__config, 'pokken', 'server', 'port_matching', default=9001)
return CoreConfig.get_config_field(
self.__config, "pokken", "server", "port_matching", default=9001
)
@property
def port_stun(self) -> int:
return CoreConfig.get_config_field(self.__config, 'pokken', 'server', 'port_stun', default=9002)
return CoreConfig.get_config_field(
self.__config, "pokken", "server", "port_stun", default=9002
)
@property
def port_turn(self) -> int:
return CoreConfig.get_config_field(self.__config, 'pokken', 'server', 'port_turn', default=9003)
return CoreConfig.get_config_field(
self.__config, "pokken", "server", "port_turn", default=9003
)
@property
def port_admission(self) -> int:
return CoreConfig.get_config_field(self.__config, 'pokken', 'server', 'port_admission', default=9004)
return CoreConfig.get_config_field(
self.__config, "pokken", "server", "port_admission", default=9004
)
@property
def ssl_cert(self) -> str:
return CoreConfig.get_config_field(self.__config, 'pokken', 'server', 'ssl_cert', default="cert/pokken.crt")
return CoreConfig.get_config_field(
self.__config, "pokken", "server", "ssl_cert", default="cert/pokken.crt"
)
@property
def ssl_key(self) -> str:
return CoreConfig.get_config_field(self.__config, 'pokken', 'server', 'ssl_key', default="cert/pokken.key")
return CoreConfig.get_config_field(
self.__config, "pokken", "server", "ssl_key", default="cert/pokken.key"
)
class PokkenConfig(dict):
def __init__(self) -> None:
+3 -3
View File
@@ -1,12 +1,12 @@
class PokkenConstants():
class PokkenConstants:
GAME_CODE = "SDAK"
CONFIG_NAME = "pokken.yaml"
VER_POKKEN = 0
VERSION_NAMES = ("Pokken Tournament")
VERSION_NAMES = "Pokken Tournament"
@classmethod
def game_ver_to_string(cls, ver: int):
return cls.VERSION_NAMES[ver]
return cls.VERSION_NAMES[ver]
+2 -1
View File
@@ -1,6 +1,7 @@
from core.data import Data
from core.config import CoreConfig
class PokkenData(Data):
def __init__(self, cfg: CoreConfig) -> None:
super().__init__(cfg)
super().__init__(cfg)
+61 -30
View File
@@ -14,6 +14,7 @@ from titles.pokken.config import PokkenConfig
from titles.pokken.base import PokkenBase
from titles.pokken.const import PokkenConstants
class PokkenServlet(resource.Resource):
def __init__(self, core_cfg: CoreConfig, cfg_dir: str) -> None:
self.isLeaf = True
@@ -27,79 +28,109 @@ class PokkenServlet(resource.Resource):
if not hasattr(self.logger, "inited"):
log_fmt_str = "[%(asctime)s] Pokken | %(levelname)s | %(message)s"
log_fmt = logging.Formatter(log_fmt_str)
fileHandler = TimedRotatingFileHandler("{0}/{1}.log".format(self.core_cfg.server.log_dir, "pokken"), encoding='utf8',
when="d", backupCount=10)
fileHandler = TimedRotatingFileHandler(
"{0}/{1}.log".format(self.core_cfg.server.log_dir, "pokken"),
encoding="utf8",
when="d",
backupCount=10,
)
fileHandler.setFormatter(log_fmt)
consoleHandler = logging.StreamHandler()
consoleHandler.setFormatter(log_fmt)
self.logger.addHandler(fileHandler)
self.logger.addHandler(consoleHandler)
self.logger.setLevel(self.game_cfg.server.loglevel)
coloredlogs.install(level=self.game_cfg.server.loglevel, logger=self.logger, fmt=log_fmt_str)
coloredlogs.install(
level=self.game_cfg.server.loglevel, logger=self.logger, fmt=log_fmt_str
)
self.logger.inited = True
self.base = PokkenBase(core_cfg, self.game_cfg)
@classmethod
def get_allnet_info(cls, game_code: str, core_cfg: CoreConfig, cfg_dir: str) -> Tuple[bool, str, str]:
def get_allnet_info(
cls, game_code: str, core_cfg: CoreConfig, cfg_dir: str
) -> Tuple[bool, str, str]:
game_cfg = PokkenConfig()
if path.exists(f"{cfg_dir}/{PokkenConstants.CONFIG_NAME}"):
game_cfg.update(yaml.safe_load(open(f"{cfg_dir}/{PokkenConstants.CONFIG_NAME}")))
game_cfg.update(
yaml.safe_load(open(f"{cfg_dir}/{PokkenConstants.CONFIG_NAME}"))
)
if not game_cfg.server.enable:
return (False, "", "")
if core_cfg.server.is_develop:
return (True, f"https://{game_cfg.server.hostname}:{game_cfg.server.port}/{game_code}/$v/", f"{game_cfg.server.hostname}:{game_cfg.server.port}/")
return (True, f"https://{game_cfg.server.hostname}/{game_code}/$v/", f"{game_cfg.server.hostname}/")
return (
True,
f"https://{game_cfg.server.hostname}:{game_cfg.server.port}/{game_code}/$v/",
f"{game_cfg.server.hostname}:{game_cfg.server.port}/",
)
return (
True,
f"https://{game_cfg.server.hostname}/{game_code}/$v/",
f"{game_cfg.server.hostname}/",
)
@classmethod
def get_mucha_info(cls, core_cfg: CoreConfig, cfg_dir: str) -> Tuple[bool, str, str]:
def get_mucha_info(
cls, core_cfg: CoreConfig, cfg_dir: str
) -> Tuple[bool, str, str]:
game_cfg = PokkenConfig()
if path.exists(f"{cfg_dir}/{PokkenConstants.CONFIG_NAME}"):
game_cfg.update(yaml.safe_load(open(f"{cfg_dir}/{PokkenConstants.CONFIG_NAME}")))
game_cfg.update(
yaml.safe_load(open(f"{cfg_dir}/{PokkenConstants.CONFIG_NAME}"))
)
if not game_cfg.server.enable:
return (False, "", "")
return (True, "PKFN")
def setup(self):
"""
There's currently no point in having this server on because Twisted
won't play ball with both the fact that it's TLSv1.1, and because the
won't play ball with both the fact that it's TLSv1.1, and because the
types of certs that pokken will accept are too flimsy for Twisted
so it will throw a fit. Currently leaving this here in case a bypass
is discovered in the future, but it's unlikly. For now, just use NGINX.
"""
if self.game_cfg.server.enable and self.core_cfg.server.is_develop:
if self.game_cfg.server.enable and self.core_cfg.server.is_develop:
key_exists = path.exists(self.game_cfg.server.ssl_key)
cert_exists = path.exists(self.game_cfg.server.ssl_cert)
if key_exists and cert_exists:
endpoints.serverFromString(reactor, f"ssl:{self.game_cfg.server.port}"\
f":interface={self.core_cfg.server.listen_address}:privateKey={self.game_cfg.server.ssl_key}:"\
f"certKey={self.game_cfg.server.ssl_cert}")\
.listen(server.Site(self))
self.logger.info(f"Pokken title server ready on port {self.game_cfg.server.port}")
endpoints.serverFromString(
reactor,
f"ssl:{self.game_cfg.server.port}"
f":interface={self.core_cfg.server.listen_address}:privateKey={self.game_cfg.server.ssl_key}:"
f"certKey={self.game_cfg.server.ssl_cert}",
).listen(server.Site(self))
self.logger.info(
f"Pokken title server ready on port {self.game_cfg.server.port}"
)
else:
self.logger.error(f"Could not find cert at {self.game_cfg.server.ssl_key} or key at {self.game_cfg.server.ssl_cert}, Pokken not running.")
self.logger.error(
f"Could not find cert at {self.game_cfg.server.ssl_key} or key at {self.game_cfg.server.ssl_cert}, Pokken not running."
)
def render_POST(self, request: Request, version: int = 0, endpoints: str = "") -> bytes:
def render_POST(
self, request: Request, version: int = 0, endpoints: str = ""
) -> bytes:
if endpoints == "":
endpoints = request.uri.decode()
if endpoints.startswith("/matching"):
self.logger.info("Matching request")
content = request.content.getvalue()
if content == b"":
self.logger.info("Empty request")
@@ -113,7 +144,7 @@ class PokkenServlet(resource.Resource):
return b""
endpoint = jackal_pb2.MessageType(pokken_request.type).name.lower()
self.logger.info(f"{endpoint} request")
handler = getattr(self.base, f"handle_{endpoint}", None)
+122 -122
View File
@@ -6,134 +6,134 @@ from google.protobuf.internal import builder as _builder
from google.protobuf import descriptor as _descriptor
from google.protobuf import descriptor_pool as _descriptor_pool
from google.protobuf import symbol_database as _symbol_database
# @@protoc_insertion_point(imports)
_sym_db = _symbol_database.Default()
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0cjackal.proto\x12\x0fjackal.protobuf\"\xae\x0b\n\x07Request\x12*\n\x04type\x18\x01 \x02(\x0e\x32\x1c.jackal.protobuf.MessageType\x12.\n\x04noop\x18\x02 \x01(\x0b\x32 .jackal.protobuf.NoopRequestData\x12.\n\x04ping\x18\x03 \x01(\x0b\x32 .jackal.protobuf.PingRequestData\x12=\n\x0cregister_pcb\x18\x04 \x01(\x0b\x32\'.jackal.protobuf.RegisterPcbRequestData\x12\x35\n\x08save_ads\x18\x05 \x01(\x0b\x32#.jackal.protobuf.SaveAdsRequestDataLine truncated
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(
b'\n\x0cjackal.proto\x12\x0fjackal.protobuf"\xae\x0b\n\x07Request\x12*\n\x04type\x18\x01 \x02(\x0e\x32\x1c.jackal.protobuf.MessageType\x12.\n\x04noop\x18\x02 \x01(\x0b\x32 .jackal.protobuf.NoopRequestData\x12.\n\x04ping\x18\x03 \x01(\x0b\x32 .jackal.protobuf.PingRequestData\x12=\n\x0cregister_pcb\x18\x04 \x01(\x0b\x32\'.jackal.protobuf.RegisterPcbRequestData\x12\x35\n\x08save_ads\x18\x05 \x01(\x0b\x32#.jackal.protobuf.SaveAdsRequestData\x12\x46\n\x11\x63heck_access_code\x18\x06 \x01(\x0b\x3Line truncated
)
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals())
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'jackal_pb2', globals())
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, "jackal_pb2", globals())
if _descriptor._USE_C_DESCRIPTORS == False:
DESCRIPTOR._options = None
_MESSAGETYPE._serialized_start=14623
_MESSAGETYPE._serialized_end=15057
_REQUEST._serialized_start=34
_REQUEST._serialized_end=1488
_RESPONSE._serialized_start=1491
_RESPONSE._serialized_end=2983
_NOOPREQUESTDATA._serialized_start=2985
_NOOPREQUESTDATA._serialized_end=3034
_NOOPRESPONSEDATA._serialized_start=3036
_NOOPRESPONSEDATA._serialized_end=3054
_PINGREQUESTDATA._serialized_start=3056
_PINGREQUESTDATA._serialized_end=3105
_PINGRESPONSEDATA._serialized_start=3107
_PINGRESPONSEDATA._serialized_end=3125
_REGISTERPCBREQUESTDATA._serialized_start=3128
_REGISTERPCBREQUESTDATA._serialized_end=3462
_REGISTERPCBRESPONSEDATA._serialized_start=3465
_REGISTERPCBRESPONSEDATA._serialized_end=3598
_SAVEADSREQUESTDATA._serialized_start=3601
_SAVEADSREQUESTDATA._serialized_end=3944
_SAVEADSREQUESTDATA_ADSPLAYTIME._serialized_start=3887
_SAVEADSREQUESTDATA_ADSPLAYTIME._serialized_end=3944
_SAVEADSRESPONSEDATA._serialized_start=3946
_SAVEADSRESPONSEDATA._serialized_end=3967
_CHECKACCESSCODEREQUESTDATA._serialized_start=3969
_CHECKACCESSCODEREQUESTDATA._serialized_end=4046
_CHECKACCESSCODERESPONSEDATA._serialized_start=4048
_CHECKACCESSCODERESPONSEDATA._serialized_end=4125
_SETBNPASSIDLOCKREQUESTDATA._serialized_start=4128
_SETBNPASSIDLOCKREQUESTDATA._serialized_end=4292
_SETBNPASSIDLOCKRESPONSEDATA._serialized_start=4294
_SETBNPASSIDLOCKRESPONSEDATA._serialized_end=4323
_LOADUSERREQUESTDATA._serialized_start=4326
_LOADUSERREQUESTDATA._serialized_end=4459
_LOADUSERRESPONSEDATA._serialized_start=4462
_LOADUSERRESPONSEDATA._serialized_end=6890
_LOADUSERRESPONSEDATA_POKEMONDATA._serialized_start=6522
_LOADUSERRESPONSEDATA_POKEMONDATA._serialized_end=6890
_SAVEUSERREQUESTDATA._serialized_start=6893
_SAVEUSERREQUESTDATA._serialized_end=8453
_SAVEUSERREQUESTDATA_BATTLEDATA._serialized_start=7948
_SAVEUSERREQUESTDATA_BATTLEDATA._serialized_end=8184
_SAVEUSERREQUESTDATA_POKEMONDATA._serialized_start=8187
_SAVEUSERREQUESTDATA_POKEMONDATA._serialized_end=8366
_SAVEUSERREQUESTDATA_REWARDDATA._serialized_start=8368
_SAVEUSERREQUESTDATA_REWARDDATA._serialized_end=8453
_SAVEUSERRESPONSEDATA._serialized_start=8455
_SAVEUSERRESPONSEDATA._serialized_end=8477
_CHECKDIAGNOSISREQUESTDATA._serialized_start=8479
_CHECKDIAGNOSISREQUESTDATA._serialized_end=8538
_CHECKDIAGNOSISRESPONSEDATA._serialized_start=8541
_CHECKDIAGNOSISRESPONSEDATA._serialized_end=8818
_CHECKDIAGNOSISRESPONSEDATA_DIAGNOSISDATA._serialized_start=8655
_CHECKDIAGNOSISRESPONSEDATA_DIAGNOSISDATA._serialized_end=8818
_SAVECLIENTLOGREQUESTDATA._serialized_start=8821
_SAVECLIENTLOGREQUESTDATA._serialized_end=9065
_SAVECLIENTLOGRESPONSEDATA._serialized_start=9067
_SAVECLIENTLOGRESPONSEDATA._serialized_end=9094
_PRELOADINFORMATIONREQUESTDATA._serialized_start=9096
_PRELOADINFORMATIONREQUESTDATA._serialized_end=9182
_PRELOADINFORMATIONRESPONSEDATA._serialized_start=9185
_PRELOADINFORMATIONRESPONSEDATA._serialized_end=9386
_LOADINFORMATIONREQUESTDATA._serialized_start=9388
_LOADINFORMATIONREQUESTDATA._serialized_end=9506
_LOADINFORMATIONRESPONSEDATA._serialized_start=9509
_LOADINFORMATIONRESPONSEDATA._serialized_end=9659
_PRESAVEREPLAYREQUESTDATA._serialized_start=9662
_PRESAVEREPLAYREQUESTDATA._serialized_end=9790
_PRESAVEREPLAYRESPONSEDATA._serialized_start=9792
_PRESAVEREPLAYRESPONSEDATA._serialized_end=9898
_SAVEREPLAYREQUESTDATA._serialized_start=9901
_SAVEREPLAYREQUESTDATA._serialized_end=10159
_SAVEREPLAYRESPONSEDATA._serialized_start=10161
_SAVEREPLAYRESPONSEDATA._serialized_end=10185
_SAVECHARGEREQUESTDATA._serialized_start=10188
_SAVECHARGEREQUESTDATA._serialized_end=10329
_SAVECHARGERESPONSEDATA._serialized_start=10331
_SAVECHARGERESPONSEDATA._serialized_end=10409
_CHECKRANKINGREQUESTDATA._serialized_start=10411
_CHECKRANKINGREQUESTDATA._serialized_end=10528
_CHECKRANKINGRESPONSEDATA._serialized_start=10530
_CHECKRANKINGRESPONSEDATA._serialized_end=10576
_LOADRANKINGREQUESTDATA._serialized_start=10578
_LOADRANKINGREQUESTDATA._serialized_end=10675
_LOADRANKINGRESPONSEDATA._serialized_start=10678
_LOADRANKINGRESPONSEDATA._serialized_end=11763
_LOADRANKINGRESPONSEDATA_TRAINERDATA._serialized_start=10907
_LOADRANKINGRESPONSEDATA_TRAINERDATA._serialized_end=11763
_SAVEINGAMELOGREQUESTDATA._serialized_start=11765
_SAVEINGAMELOGREQUESTDATA._serialized_end=11869
_SAVEINGAMELOGRESPONSEDATA._serialized_start=11871
_SAVEINGAMELOGRESPONSEDATA._serialized_end=11898
_PRELOADINFORMATIONATTRACTREQUESTDATA._serialized_start=11900
_PRELOADINFORMATIONATTRACTREQUESTDATA._serialized_end=11993
_PRELOADINFORMATIONATTRACTRESPONSEDATA._serialized_start=11996
_PRELOADINFORMATIONATTRACTRESPONSEDATA._serialized_end=12204
_LOADINFORMATIONATTRACTREQUESTDATA._serialized_start=12206
_LOADINFORMATIONATTRACTREQUESTDATA._serialized_end=12331
_LOADINFORMATIONATTRACTRESPONSEDATA._serialized_start=12334
_LOADINFORMATIONATTRACTRESPONSEDATA._serialized_end=12491
_LOADCLIENTSETTINGSREQUESTDATA._serialized_start=12493
_LOADCLIENTSETTINGSREQUESTDATA._serialized_end=12556
_LOADCLIENTSETTINGSRESPONSEDATA._serialized_start=12559
_LOADCLIENTSETTINGSRESPONSEDATA._serialized_end=14620
_LOADCLIENTSETTINGSRESPONSEDATA_EVENTINFO._serialized_start=13482
_LOADCLIENTSETTINGSRESPONSEDATA_EVENTINFO._serialized_end=13706
_LOADCLIENTSETTINGSRESPONSEDATA_BANNERINFO._serialized_start=13709
_LOADCLIENTSETTINGSRESPONSEDATA_BANNERINFO._serialized_end=13871
_LOADCLIENTSETTINGSRESPONSEDATA_ATTRACTINFO._serialized_start=13874
_LOADCLIENTSETTINGSRESPONSEDATA_ATTRACTINFO._serialized_end=14134
_LOADCLIENTSETTINGSRESPONSEDATA_INFOWINDOW._serialized_start=14137
_LOADCLIENTSETTINGSRESPONSEDATA_INFOWINDOW._serialized_end=14388
_LOADCLIENTSETTINGSRESPONSEDATA_LUCKYBONUS._serialized_start=14390
_LOADCLIENTSETTINGSRESPONSEDATA_LUCKYBONUS._serialized_end=14500
_LOADCLIENTSETTINGSRESPONSEDATA_SPECIALBONUS._serialized_start=14502
_LOADCLIENTSETTINGSRESPONSEDATA_SPECIALBONUS._serialized_end=14620
DESCRIPTOR._options = None
_MESSAGETYPE._serialized_start = 14623
_MESSAGETYPE._serialized_end = 15057
_REQUEST._serialized_start = 34
_REQUEST._serialized_end = 1488
_RESPONSE._serialized_start = 1491
_RESPONSE._serialized_end = 2983
_NOOPREQUESTDATA._serialized_start = 2985
_NOOPREQUESTDATA._serialized_end = 3034
_NOOPRESPONSEDATA._serialized_start = 3036
_NOOPRESPONSEDATA._serialized_end = 3054
_PINGREQUESTDATA._serialized_start = 3056
_PINGREQUESTDATA._serialized_end = 3105
_PINGRESPONSEDATA._serialized_start = 3107
_PINGRESPONSEDATA._serialized_end = 3125
_REGISTERPCBREQUESTDATA._serialized_start = 3128
_REGISTERPCBREQUESTDATA._serialized_end = 3462
_REGISTERPCBRESPONSEDATA._serialized_start = 3465
_REGISTERPCBRESPONSEDATA._serialized_end = 3598
_SAVEADSREQUESTDATA._serialized_start = 3601
_SAVEADSREQUESTDATA._serialized_end = 3944
_SAVEADSREQUESTDATA_ADSPLAYTIME._serialized_start = 3887
_SAVEADSREQUESTDATA_ADSPLAYTIME._serialized_end = 3944
_SAVEADSRESPONSEDATA._serialized_start = 3946
_SAVEADSRESPONSEDATA._serialized_end = 3967
_CHECKACCESSCODEREQUESTDATA._serialized_start = 3969
_CHECKACCESSCODEREQUESTDATA._serialized_end = 4046
_CHECKACCESSCODERESPONSEDATA._serialized_start = 4048
_CHECKACCESSCODERESPONSEDATA._serialized_end = 4125
_SETBNPASSIDLOCKREQUESTDATA._serialized_start = 4128
_SETBNPASSIDLOCKREQUESTDATA._serialized_end = 4292
_SETBNPASSIDLOCKRESPONSEDATA._serialized_start = 4294
_SETBNPASSIDLOCKRESPONSEDATA._serialized_end = 4323
_LOADUSERREQUESTDATA._serialized_start = 4326
_LOADUSERREQUESTDATA._serialized_end = 4459
_LOADUSERRESPONSEDATA._serialized_start = 4462
_LOADUSERRESPONSEDATA._serialized_end = 6890
_LOADUSERRESPONSEDATA_POKEMONDATA._serialized_start = 6522
_LOADUSERRESPONSEDATA_POKEMONDATA._serialized_end = 6890
_SAVEUSERREQUESTDATA._serialized_start = 6893
_SAVEUSERREQUESTDATA._serialized_end = 8453
_SAVEUSERREQUESTDATA_BATTLEDATA._serialized_start = 7948
_SAVEUSERREQUESTDATA_BATTLEDATA._serialized_end = 8184
_SAVEUSERREQUESTDATA_POKEMONDATA._serialized_start = 8187
_SAVEUSERREQUESTDATA_POKEMONDATA._serialized_end = 8366
_SAVEUSERREQUESTDATA_REWARDDATA._serialized_start = 8368
_SAVEUSERREQUESTDATA_REWARDDATA._serialized_end = 8453
_SAVEUSERRESPONSEDATA._serialized_start = 8455
_SAVEUSERRESPONSEDATA._serialized_end = 8477
_CHECKDIAGNOSISREQUESTDATA._serialized_start = 8479
_CHECKDIAGNOSISREQUESTDATA._serialized_end = 8538
_CHECKDIAGNOSISRESPONSEDATA._serialized_start = 8541
_CHECKDIAGNOSISRESPONSEDATA._serialized_end = 8818
_CHECKDIAGNOSISRESPONSEDATA_DIAGNOSISDATA._serialized_start = 8655
_CHECKDIAGNOSISRESPONSEDATA_DIAGNOSISDATA._serialized_end = 8818
_SAVECLIENTLOGREQUESTDATA._serialized_start = 8821
_SAVECLIENTLOGREQUESTDATA._serialized_end = 9065
_SAVECLIENTLOGRESPONSEDATA._serialized_start = 9067
_SAVECLIENTLOGRESPONSEDATA._serialized_end = 9094
_PRELOADINFORMATIONREQUESTDATA._serialized_start = 9096
_PRELOADINFORMATIONREQUESTDATA._serialized_end = 9182
_PRELOADINFORMATIONRESPONSEDATA._serialized_start = 9185
_PRELOADINFORMATIONRESPONSEDATA._serialized_end = 9386
_LOADINFORMATIONREQUESTDATA._serialized_start = 9388
_LOADINFORMATIONREQUESTDATA._serialized_end = 9506
_LOADINFORMATIONRESPONSEDATA._serialized_start = 9509
_LOADINFORMATIONRESPONSEDATA._serialized_end = 9659
_PRESAVEREPLAYREQUESTDATA._serialized_start = 9662
_PRESAVEREPLAYREQUESTDATA._serialized_end = 9790
_PRESAVEREPLAYRESPONSEDATA._serialized_start = 9792
_PRESAVEREPLAYRESPONSEDATA._serialized_end = 9898
_SAVEREPLAYREQUESTDATA._serialized_start = 9901
_SAVEREPLAYREQUESTDATA._serialized_end = 10159
_SAVEREPLAYRESPONSEDATA._serialized_start = 10161
_SAVEREPLAYRESPONSEDATA._serialized_end = 10185
_SAVECHARGEREQUESTDATA._serialized_start = 10188
_SAVECHARGEREQUESTDATA._serialized_end = 10329
_SAVECHARGERESPONSEDATA._serialized_start = 10331
_SAVECHARGERESPONSEDATA._serialized_end = 10409
_CHECKRANKINGREQUESTDATA._serialized_start = 10411
_CHECKRANKINGREQUESTDATA._serialized_end = 10528
_CHECKRANKINGRESPONSEDATA._serialized_start = 10530
_CHECKRANKINGRESPONSEDATA._serialized_end = 10576
_LOADRANKINGREQUESTDATA._serialized_start = 10578
_LOADRANKINGREQUESTDATA._serialized_end = 10675
_LOADRANKINGRESPONSEDATA._serialized_start = 10678
_LOADRANKINGRESPONSEDATA._serialized_end = 11763
_LOADRANKINGRESPONSEDATA_TRAINERDATA._serialized_start = 10907
_LOADRANKINGRESPONSEDATA_TRAINERDATA._serialized_end = 11763
_SAVEINGAMELOGREQUESTDATA._serialized_start = 11765
_SAVEINGAMELOGREQUESTDATA._serialized_end = 11869
_SAVEINGAMELOGRESPONSEDATA._serialized_start = 11871
_SAVEINGAMELOGRESPONSEDATA._serialized_end = 11898
_PRELOADINFORMATIONATTRACTREQUESTDATA._serialized_start = 11900
_PRELOADINFORMATIONATTRACTREQUESTDATA._serialized_end = 11993
_PRELOADINFORMATIONATTRACTRESPONSEDATA._serialized_start = 11996
_PRELOADINFORMATIONATTRACTRESPONSEDATA._serialized_end = 12204
_LOADINFORMATIONATTRACTREQUESTDATA._serialized_start = 12206
_LOADINFORMATIONATTRACTREQUESTDATA._serialized_end = 12331
_LOADINFORMATIONATTRACTRESPONSEDATA._serialized_start = 12334
_LOADINFORMATIONATTRACTRESPONSEDATA._serialized_end = 12491
_LOADCLIENTSETTINGSREQUESTDATA._serialized_start = 12493
_LOADCLIENTSETTINGSREQUESTDATA._serialized_end = 12556
_LOADCLIENTSETTINGSRESPONSEDATA._serialized_start = 12559
_LOADCLIENTSETTINGSRESPONSEDATA._serialized_end = 14620
_LOADCLIENTSETTINGSRESPONSEDATA_EVENTINFO._serialized_start = 13482
_LOADCLIENTSETTINGSRESPONSEDATA_EVENTINFO._serialized_end = 13706
_LOADCLIENTSETTINGSRESPONSEDATA_BANNERINFO._serialized_start = 13709
_LOADCLIENTSETTINGSRESPONSEDATA_BANNERINFO._serialized_end = 13871
_LOADCLIENTSETTINGSRESPONSEDATA_ATTRACTINFO._serialized_start = 13874
_LOADCLIENTSETTINGSRESPONSEDATA_ATTRACTINFO._serialized_end = 14134
_LOADCLIENTSETTINGSRESPONSEDATA_INFOWINDOW._serialized_start = 14137
_LOADCLIENTSETTINGSRESPONSEDATA_INFOWINDOW._serialized_end = 14388
_LOADCLIENTSETTINGSRESPONSEDATA_LUCKYBONUS._serialized_start = 14390
_LOADCLIENTSETTINGSRESPONSEDATA_LUCKYBONUS._serialized_end = 14500
_LOADCLIENTSETTINGSRESPONSEDATA_SPECIALBONUS._serialized_start = 14502
_LOADCLIENTSETTINGSRESPONSEDATA_SPECIALBONUS._serialized_end = 14620
# @@protoc_insertion_point(module_scope)