ongeki: bright MEMORY Act.3 support added

This commit is contained in:
2025-03-26 15:22:55 +01:00
parent 60002a466f
commit a2f71dc553
11 changed files with 91 additions and 34 deletions

View File

@ -29,6 +29,7 @@ from .red import OngekiRed
from .redplus import OngekiRedPlus
from .bright import OngekiBright
from .brightmemory import OngekiBrightMemory
from .brightmemoryact3 import OngekiBrightMemoryAct3
class OngekiServlet(BaseServlet):
@ -50,6 +51,7 @@ class OngekiServlet(BaseServlet):
OngekiRedPlus(core_cfg, self.game_cfg),
OngekiBright(core_cfg, self.game_cfg),
OngekiBrightMemory(core_cfg, self.game_cfg),
OngekiBrightMemoryAct3(core_cfg, self.game_cfg),
]
self.logger = logging.getLogger("ongeki")
@ -150,26 +152,28 @@ class OngekiServlet(BaseServlet):
return Response(zlib.compress(b'{"returnCode": 1}'))
req_raw = await request.body()
encrtped = False
encrypted = False
internal_ver = 0
client_ip = Utils.get_ip_addr(request)
if version < 105: # 1.0
internal_ver = OngekiConstants.VER_ONGEKI
elif version >= 105 and version < 110: # Plus
elif version >= 105 and version < 110: # PLUS
internal_ver = OngekiConstants.VER_ONGEKI_PLUS
elif version >= 110 and version < 115: # Summer
elif version >= 110 and version < 115: # SUMMER
internal_ver = OngekiConstants.VER_ONGEKI_SUMMER
elif version >= 115 and version < 120: # Summer Plus
elif version >= 115 and version < 120: # SUMMER PLUS
internal_ver = OngekiConstants.VER_ONGEKI_SUMMER_PLUS
elif version >= 120 and version < 125: # Red
elif version >= 120 and version < 125: # R.E.D.
internal_ver = OngekiConstants.VER_ONGEKI_RED
elif version >= 125 and version < 130: # Red Plus
elif version >= 125 and version < 130: # R.E.D. PLUS
internal_ver = OngekiConstants.VER_ONGEKI_RED_PLUS
elif version >= 130 and version < 135: # Bright
elif version >= 130 and version < 135: # bright
internal_ver = OngekiConstants.VER_ONGEKI_BRIGHT
elif version >= 135 and version < 145: # Bright Memory
elif version >= 135 and version < 145: # bright MEMORY
internal_ver = OngekiConstants.VER_ONGEKI_BRIGHT_MEMORY
elif version >= 145: # bright MEMORY Act 3
internal_ver = OngekiConstants.VER_ONGEKI_BRIGHT_MEMORY_ACT3
if all(c in string.hexdigits for c in endpoint) and len(endpoint) == 32:
# If we get a 32 character long hex string, it's a hash and we're
@ -204,10 +208,10 @@ class OngekiServlet(BaseServlet):
)
return Response(zlib.compress(b'{"stat": "0"}'))
encrtped = True
encrypted = True
if (
not encrtped
not encrypted
and self.game_cfg.crypto.encrypted_only
and version >= 120
):
@ -258,7 +262,7 @@ class OngekiServlet(BaseServlet):
resp_raw = json.dumps(resp, ensure_ascii=False).encode("utf-8")
zipped = zlib.compress(resp_raw)
if not encrtped or version < 120:
if not encrypted or version < 120:
if version < 105:
return Response(resp_raw)
return Response(zipped)