{
  "added_at": "2026-11-09",
  "category": "reconstruction-cases",
  "class": "game",
  "description_en": "PTD2 Server reconstructs online services for the Flash game Pokémon Tower Defense 2 from analysis of its original SWF. Its PHP endpoints and save codecs support story, gym, one-on-one and trainer-versus modes, with MySQL-backed saves.",
  "description_zh": "PTD2 Server 通过分析原版 SWF 重建 Flash 游戏 Pokémon Tower Defense 2 的在线服务。PHP 接口和存档编解码代码支持剧情、道馆、一对一及训练家对战模式，并使用 MySQL 保存数据。",
  "entry_url": "https://awesomerea.org/resources/ptd2-server-case/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/ptd2-server-case/",
  "evidence_class": 2,
  "evidence_status": "observed",
  "evidence_url": "https://github.com/KGMats/PTD2-Server/blob/54b428f3eb669a28bba793f828320e910af3f72a/README.md",
  "group": "cases",
  "id": "ptd2-server-case",
  "json_url": "https://awesomerea.org/resources/ptd2-server-case/record.json",
  "kind": "case-study",
  "markdown_url": "https://awesomerea.org/resources/ptd2-server-case/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/ptd2-server-case/index.md",
  "name": "PTD2 Server: rebuilding Pokémon Tower Defense 2 services",
  "name_zh": "PTD2 Server：重建 Pokémon Tower Defense 2 服务",
  "reconstruction_method": "other",
  "record_type": "resource",
  "relationship": "independent-reconstruction",
  "requirement_facets": [
    "prerequisites",
    "limits",
    "license"
  ],
  "requirements": [
    "Docker and Docker Compose for the documented hosting setup; a manual setup needs PHP-FPM 8.1+, a web server and MySQL/MariaDB unless using JSON saves.",
    "Mystery gifts and the Pokécenter remain unimplemented.",
    "AGPL-3.0 license."
  ],
  "requirements_zh": [
    "文档中的部署方式需要 Docker 和 Docker Compose；手动部署需要 PHP-FPM 8.1 以上版本、Web 服务器及 MySQL/MariaDB，使用 JSON 存档时可不用数据库。",
    "神秘礼物和宝可梦中心尚未实现。",
    "AGPL-3.0 许可证。"
  ],
  "scope": "unknown",
  "targets": [
    "game"
  ],
  "url": "https://github.com/KGMats/PTD2-Server",
  "verification": "source-reviewed",
  "verified_at": "2026-11-06"
}
