From f74966002ef9357ca2570665781a19fa47b7766e Mon Sep 17 00:00:00 2001 From: Keeboy Date: Tue, 9 Jun 2026 07:46:43 +0000 Subject: [PATCH 1/3] chimedb update to match SDGB 1.55 uhhh hopefully doesnt break older versions --- core/chimedb.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/core/chimedb.py b/core/chimedb.py index 6e87f69..a2e29f7 100644 --- a/core/chimedb.py +++ b/core/chimedb.py @@ -1,6 +1,8 @@ import hashlib import json import logging +import secrets +import string from enum import Enum from logging.handlers import TimedRotatingFileHandler @@ -69,10 +71,15 @@ class ChimeServlet: async def handle_qr_alive(self, request: Request): return PlainTextResponse("alive") + def _generate_token(self) -> str: + alphabet = string.ascii_letters + string.digits + return ''.join(secrets.choice(alphabet) for _ in range(20)) + async def handle_qr_lookup(self, request: Request) -> bytes: req = json.loads(await request.body()) access_code = req["qrCode"][-20:] timestamp = req["timestamp"] + token = self._generate_token() try: userId = await self._lookup(access_code) @@ -80,7 +87,8 @@ class ChimeServlet: "userID": userId, "errorID": 0, "timestamp": timestamp, - "key": self._hash_key(userId, timestamp) + "key": self._hash_key(userId, timestamp), + "token": token }) except Exception as e: @@ -90,7 +98,8 @@ class ChimeServlet: "userID": -1, "errorID": ChimeDBStatus.DB_ACCESS_FAIL, "timestamp": timestamp, - "key": self._hash_key(-1, timestamp) + "key": self._hash_key(-1, timestamp), + "token": token }) return PlainTextResponse(data) From 15f397768d560414a264c1aaeb85f6e77b321660 Mon Sep 17 00:00:00 2001 From: Hay1tsme Date: Sat, 1 Aug 2026 01:20:36 -0400 Subject: [PATCH 2/3] pokken: update default stun server --- docs/game_specific_info.md | 4 ++-- example_config/pokken.yaml | 2 +- titles/pokken/base.py | 2 +- titles/pokken/config.py | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/game_specific_info.md b/docs/game_specific_info.md index 9682bb0..8b00434 100644 --- a/docs/game_specific_info.md +++ b/docs/game_specific_info.md @@ -899,7 +899,7 @@ Config file is `pokken.yaml` | `loglevel` | String indicating how verbose pokken logs should be. Acceptable values are `debug`, `info`, `warn`, and `error`. | `info` | | `auto_register` | For games that don't use aimedb, this controls weather connecting cards that aren't registered should automatically be registered when making a profile. Set to `False` to require cards be already registered before being usable with Pokken. | `True` | | `enable_matching` | If `True`, allow non-local matching. This doesn't currently work because BIWA, the matching protocol the game uses, is not understood, so this should be set to `False`. | `False` | -| `stun_server_host` | Hostname of the STUN server the game will use for matching. | `stunserver.stunprotocol.org` (might not work anymore? recomend changing) | +| `stun_server_host` | Hostname of the STUN server the game will use for matching. | `stunserver2025.stunprotocol.org` | | `stun_server_port` | Port for the external STUN server. Will probably be moved to the `ports` section in the future. | `3478` | #### ports @@ -943,7 +943,7 @@ server: loglevel: "info" auto_register: True enable_matching: False - stun_server_host: "stunserver.stunprotocol.org" + stun_server_host: "stunserver2025.stunprotocol.org" stun_server_port: 3478 ports: diff --git a/example_config/pokken.yaml b/example_config/pokken.yaml index 423d9d3..5111f70 100644 --- a/example_config/pokken.yaml +++ b/example_config/pokken.yaml @@ -4,7 +4,7 @@ server: loglevel: "info" auto_register: True enable_matching: False - stun_server_host: "stunserver.stunprotocol.org" + stun_server_host: "stunserver2025.stunprotocol.org" stun_server_port: 3478 ports: diff --git a/titles/pokken/base.py b/titles/pokken/base.py index f9a622a..ab62931 100644 --- a/titles/pokken/base.py +++ b/titles/pokken/base.py @@ -76,7 +76,7 @@ class PokkenBase: "addr": self.game_cfg.server.stun_server_host, "port": self.game_cfg.server.stun_server_port, }, - "AdmissionUrl": f"ws://{self.game_cfg.server.hostname}:{self.game_cfg.ports.admission}/pokken/admission", + "AdmissionUrl": f"wss://{self.game_cfg.server.hostname}:{self.game_cfg.ports.admission}/pokken/admission", "locationId": locid, "logfilename": "J:\\JackalMatchingLibrary.log", "biwalogfilename": "J:\\biwa_log.log", diff --git a/titles/pokken/config.py b/titles/pokken/config.py index d3741af..5c69334 100644 --- a/titles/pokken/config.py +++ b/titles/pokken/config.py @@ -50,7 +50,7 @@ class PokkenServerConfig: Hostname of the EXTERNAL stun server the game should connect to. This is not handled by artemis. """ return CoreConfig.get_config_field( - self.__config, "pokken", "server", "stun_server_host", default="stunserver.stunprotocol.org" + self.__config, "pokken", "server", "stun_server_host", default="stunserver2025.stunprotocol.org" ) @property From 85bfa7b07339e59c38d4f527a4e1b060eefa4db1 Mon Sep 17 00:00:00 2001 From: Hay1tsme Date: Sat, 1 Aug 2026 01:35:57 -0400 Subject: [PATCH 3/3] Update changelog --- changelog.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/changelog.md b/changelog.md index b274cc9..3e7c4be 100644 --- a/changelog.md +++ b/changelog.md @@ -1,6 +1,15 @@ # Changelog Documenting updates to ARTEMiS, to be updated every time the master branch is pushed to. +## 20260801 ++ CHUNITHM X-VERSE support added ++ maimai DX support for BUDDiES PLUS, PRiSM, and PRiSM PLUS added ++ Pokken's default configuration has been fixed ++ SAO fixes have been backported from a different project ++ Support for CHN region games has been added ++ Many, MANY miscilanious changes ++ + Huge thanks to our many wonderful contributors who have been keeping ARTEMiS alive and running! + ## 20250803 + CHUNITHM VERSE support added