{
  "added_at": "2026-11-09",
  "category": "reconstruction-cases",
  "class": "game",
  "description_en": "Mystic Nights Online recreates multiplayer services for the PlayStation 2 game Mystic Nights in a Python server. The author derived expected packet replies through Ghidra decompilation of client parsing code, PCSX2 memory inspection and packet fuzzing; the server handles accounts, lobbies and game synchronization.",
  "description_zh": "Mystic Nights Online 以 Python 服务端重建 PS2 游戏 Mystic Nights 的多人联机功能。作者通过 Ghidra 反编译客户端数据包解析代码、检查 PCSX2 内存并进行数据包模糊测试，推导服务端预期的回复；服务端处理账号、大厅和游戏同步。",
  "entry_url": "https://awesomerea.org/resources/mystic-nights-online-case/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/mystic-nights-online-case/",
  "evidence_url": "https://github.com/jeremydecola/Mystic-Nights-Online/blob/f5a1e6e5146ec74f5f07d0b6f929cf8b438c6e4b/README.md",
  "group": "cases",
  "id": "mystic-nights-online-case",
  "json_url": "https://awesomerea.org/resources/mystic-nights-online-case/record.json",
  "kind": "case-study",
  "markdown_url": "https://awesomerea.org/resources/mystic-nights-online-case/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/mystic-nights-online-case/index.md",
  "name": "Mystic Nights Online: reconstructing the PS2 multiplayer server",
  "name_zh": "Mystic Nights Online：重建 PS2 游戏多人服务器",
  "reconstruction_method": "other",
  "record_type": "resource",
  "relationship": "independent-reconstruction",
  "requirement_facets": [
    "prerequisites",
    "prerequisites",
    "limits",
    "limits",
    "license"
  ],
  "requirements": [
    "Mystic Nights game copy and PCSX2 with DEV9 networking for emulated online play.",
    "Python 3.9+ and SQLite 3 or PostgreSQL 13+.",
    "The ISO must point to the server IP; patch_ip.py does not support the original untranslated ISO.",
    "The documented DNAS bypass works only once per PCSX2 session.",
    "MIT License."
  ],
  "requirements_zh": [
    "模拟器联机需要 Mystic Nights 游戏副本，以及启用 DEV9 网络的 PCSX2。",
    "需要 Python 3.9+，以及 SQLite 3 或 PostgreSQL 13+。",
    "ISO 须指向服务端 IP；patch_ip.py 不支持原版未翻译 ISO。",
    "文档所述 DNAS 绕过在每次 PCSX2 会话中只能生效一次。",
    "MIT 许可证。"
  ],
  "targets": [
    "game",
    "protocol"
  ],
  "url": "https://github.com/jeremydecola/Mystic-Nights-Online",
  "verification": "source-reviewed",
  "verified_at": "2026-11-07"
}
