Segfault:移植魔法纪录DMM GAMES PC版到其他环境

来自魔法纪录中文Wiki
跳转至: 导航 搜索

圆环记录:魔法纪录DMM GAMES PC版指南请务必先读完并充分理解上述指南,虽然本页面介绍的方法并不依赖DMM Game Player)给出了如何注册DMM账号,以及如何官方提供的环境下(基于BlueStacks的Android模拟器)运行DMM版《魔法纪录》日服客户端的方法。

DMM版客户端存在以下好处:

  1. 可以像已经死去的国服一样多端同时登录。注意这里的意思指的并不是多个设备可以同时登录进入游戏,同一时间仍然只有一台设备能够登录;而是说可以在多台设备上保存登录信息,这样一来,在换设备登录时,就省去了反复输入引继码和引继密码的麻烦。

但同时也存在下列缺点:

  1. 注册和登录DMM账号时,必须从日本的IP地址访问,否则DMM网站拒绝提供服务。
  2. 虽然目前观察到,在成功登录一次DMM账号后,后续继续登录《魔法纪录》游戏本身其实并不需要日本IP——但按照官方的设计,必须先用日本IP启动并登录DMMGamePlayer,然后才能从DMMGamePlayer启动其自带模拟器、并在模拟器中启动游戏客户端。
  3. 如圆环记录的指南所说:DMM客户端的有偿魔法石和手机端不互通,一边充值后无法在另一边使用。

尤其是……

  1. DMM官方提供的(基于BlueStacks的)Android模拟器功能太过精简,而且不提供自由安装APK、共享(导入/导出)文件等功能,也不提供root权限,于是如果想干一些你懂的事情(比如查看游戏数据中的图片等资源)就会受阻。

于是就有了这个页面,记录一下摸索出来的、把DMM版游戏客户端移植到其他环境的方法。

移植后,相比GooglePlay版(官方Android客户端),DMM版可能存在一点微弱的优势:

  1. 不检查安装来源。而Google Play版,要么必须用日区Google Play账号才能下载安装;要么就必须用特殊的安装方式来绕过安装来源检查(而且在OPPO等品牌手机上这类方法还可能不奏效),否则游戏客户端会拒绝启动。DMM版虽然也需要特殊方式才能完成第一次启动,但狭义的安装过程没有上述限制。

但是也存在问题:

  1. 因为包名不同,游戏不被加速器(包括MuMu模拟器免费提供的外服加速服务)识别,无法使用加速器。技术上这并不是不可逾越的,但这里不展开。

警告

本文介绍的移植方法不被官方支持,而且存在无法预测的风险,比如:

  1. (之前没有,但现在已经发生了)如果DMM OAuth服务器在未来收紧IP地址限制,就会导致难以通过DMM渠道登录游戏,尤其是国码不是JP的魔纪游戏账号,必须有分流的办法,让游戏客户端访问DMM网站时通过日本IP、访问游戏服务器时则改用国码对应的IP地址。如果DMM渠道有过氪金,则付费石如上所言无法在普通Android端等其他渠道使用
  2. 被官方判定为存在异常行为,从而被封禁游戏账号。

步骤

下面的步骤假设你在电脑端操作MuMu模拟器,其他环境(比如真机)情况也是类似的。 (另外,这些步骤并不依赖DMM Game Player)

  1. 首先必须完成DMM账号注册,然后在模拟器外的Chrome浏览器登录DMM账号。没有DMM账号,下面就都是无米之炊。注意:根据官方FAQ魔纪游戏账号和DMM账号一经连携绑定,就无法再解除绑定,哪怕注销DMM账号也无法解除
  2. 点击Chrome浏览器地址栏左侧的小锁图标,选择Cookie
  3. 正在使用的Cookie中查看已允许的Cookie,然后在下面的列表中找到并展开dmm.comCookie
  4. 找到login_secure_idlogin_session_id(这里鼠标滚轮可能有点鬼畜,可能一次滚动过多行导致想找的条目被跳过,建议拖动滚动条而不是用鼠标滚轮),分别复制其内容到记事本。
  5. 在记事本中准备好要输入的命令:am start -n com.dmm.dmmgames.emulator.magireco/com.dmm.android.sdk.olgid.app.DmmGamePlayerLinkageActivity --es secure_id login_secure_id的内容 --es unique_id login_session_id的内容,例如am start -n com.dmm.dmmgames.emulator.magireco/com.dmm.android.sdk.olgid.app.DmmGamePlayerLinkageActivity --es secure_id 123abc7890123def7890123abc789012 --es unique_id 1234abcd-123a-abc1-234a-1234abcd1234
  6. 右键点击下载链接选择另存为,输入文件名dmmmagireco.apk并保存。文件名其实可以任意,最重要的是文件名必须以.apk结尾。后续游戏客户端更新也是如此。
  7. 安装刚刚下载到的dmmmagireco.apk到MuMu模拟器,但安装完先不要启动。
  8. 根据游戏账号的国码准备好模拟器的网络环境
  9. 参照官方教程连接adb、进入adb shell,然后从记事本中复制上面准备好的命令,右键粘贴,然后按回车执行命令。
  10. 执行命令后即会启动DMM版游戏客户端。若一切顺利,游戏客户端将会记住登录信息,以后直接照常在启动器点击图标启动游戏即可。

登录失败时会报错ユーザーデータの取得に失敗しました(获取用户信息失败)。这可能是登录信息过期;也可能是没创建用户档案(换句话说就是在注册DMM账号时,遗漏了“打开Myゲーム(我的游戏)画面,然后填写表单”这一步);还可能是上述启动游戏客户端的命令输入有误。