游戏部署说明(浏览器)
该文档简单介绍一下作者我部署浏览器的过程,以及遇到的坑。
| 此处介绍的是电脑端浏览器的运行方式,手机端浏览器还没试过。这里只做浏览器的技术讨论,若真要发布电脑端游戏,肯定优先用NW.js电脑端部署。 |
部署到火狐浏览器(Firefox)
打包过程(Firefox)
1)工程部署
点击打包部署时,会出现下面的设置,选择浏览器即可。
(你也可以不部署,直接进入 运行过程(Firefox) )

| 游戏中所有资源文件名都不能含有符号“#”。该符号会造成部署失败。 |
注意,直接双击工程中的index.html,双击部署后的index.html,
都会报下面的错误,因为浏览器禁止跨域访问,不能访问本地文件。
需要按照接下来的 浏览器安装流程 才能进入游戏。

2)浏览器安装
火狐浏览器的安装,从下面的链接下载即可。
| rmmv工具包 > rmmv浏览器环境 > 火狐浏览器链接:https://pan.baidu.com/s/1HVUxMXaGuZA0nf8fSZUZng提取码:rm0p |
| 火狐是最后一个能直接用网页打开rmmv游戏的浏览器。因为它没严格禁止跨域访问。然而遗憾的是,从火狐69.0开始,也开始禁止跨域访问了。所以这里只能安装旧版的火狐66.0才能运行。(不要用旧版的火狐浏览器去日常上网) |
安装时双击一路点击即可。但是在安装完毕后,不要马上打开火狐浏览器。
把下图的自动勾选“立即运行Firefox”去掉。
如果不小心打开了也没关系,立即把网络断开,防止自动更新。

然后找到安装目录,把updater.exe和update.ini更新程序删掉。如下图。


删掉上述两个文件后,火狐就更新不了了。
打开火狐浏览器,进入选项。

可以看到,火狐浏览器在自动下载更新。
因为之前删掉了updater.exe和update.ini两个文件,所以下载完毕后,更新必然失败。

如下图,下载完毕后,就会更新失败。
但火狐浏览器会重新进入下载,重新更新。
从而形成一个永远更新不了的死循环。

| 火狐浏览器打开后,就会无限进入下载状态,这个过程阻止不了,只能让它自己耗。如果你觉得浪费流量,可以在运行前断网。 |
3)设置空白页
另外,作者我给的浏览器,打开可能会报毒,因为浏览器会默认进入一个陌生的网页。
为了防止报毒,在火狐浏览器中把 新标签页 设置成空白页即可。

运行过程(Firefox)
1)测试游戏
工程中的index.html 或者 部署后的index.html,
右键点击,使用火狐浏览器运行。
(不能直接双击)(火狐浏览器用旧版,见:浏览器安装 )


火狐浏览器进入游戏后如下图。

2)排除电脑端插件报错
浏览器打开时,有可能会遇到 电脑端 的插件报错。
注意区分一下报错:
data/Actor.json错误的黄色文本只有一行 和 插件错误的黄色文本有两行以上
前者错误是因为跨域访问问题,去看看:浏览器安装 ,确保环境能支持。
后者错误,更新或去掉 黄色文本中提示的插件。
下图黄色末尾的文本“Drill_ForcePreload.js:295:3”,说明是预加载插件出的错。

| 之前的插件都没怎么考虑 手机端、浏览器 的情况,更新最新的插件,就没有上述报错了。 |
3)性能说明
使用网页运行示例,部分电脑可能会掉到10帧至20帧。(按F2,可以看到FPS帧数)
这是因为系统给 浏览器分配的资源 比 NW.js运行 要少一半左右。
插件虽然提供了许多有趣的功能,但是对于浏览器、手机端来说,仍然是不小的性能挑战。你需要根据性能消耗考虑取舍。
4)风险说明
使用浏览器运行游戏,会放开跨域访问。
这会带来下面的风险:
》受到CSRF攻击(跨站请求伪造)
》电脑数据泄漏
》浏览器会话劫持
》电脑被远程控制
| 浏览器严格的跨域策略就是为了保护你上网安全,防止黑客入侵。放开跨域访问后,如果连上了网络,那么电脑会面临被黑客控制的风险。 |
| 不要用旧版的火狐浏览器去日常上网。 |
部署到谷歌浏览器(Google Chrome)
打包过程(Google Chrome)
1)工程部署
点击打包部署时,会出现下面的设置,选择浏览器即可。
(你也可以不部署,直接进入 运行过程(Google Chrome) )

| 游戏中所有资源文件名都不能含有符号“#”。该符号会造成部署失败。 |
注意,直接双击工程中的index.html,双击部署后的index.html,
都会报下面的错误,因为浏览器禁止跨域访问,不能访问本地文件。
需要按照接下来的 浏览器安装流程 才能进入游戏。

2)浏览器安装
谷歌浏览器可以直接找最新的安装,
也可以从下面链接,下载支持xp版本的谷歌浏览器。
| rmmv工具包 > rmmv浏览器环境 > 谷歌浏览器链接:https://pan.baidu.com/s/1HVUxMXaGuZA0nf8fSZUZng提取码:rm0p |
| 谷歌浏览器自带开启跨域访问的模式,下载任意版本的谷歌浏览器都可以。 |
谷歌浏览器双击安装包,什么都不要操作,等几分钟,它就自动安装上了。
3)创建启动器
谷歌浏览器安装后,固定在文件夹:
“C:\Program Files\Google\Chrome\Application”
打开这个文件夹,找到 chrome.exe,右键创建快捷方式。

快捷方式会创建在桌面上。


将快捷方式改名为“chrome-本地专用”,
然后在随便什么地方,创建一个文件夹,比如叫:“浏览器启动器”。
把那个快捷方式挪到文件夹内,
再创建一个文件夹,叫:“本地数据”。

右键编辑快捷方式“chrome-本地专用”的属性,目标这一栏填写:
(注意,填写的 ” --” 两个横杠前面有一个空格)
(“本地数据”的文件夹路径,对应你的电脑的具体路径,这里是作者我的路径)
| "C:\Program Files\Google\Chrome\Application\chrome.exe" --disable-web-security --user-data-dir="D:\rpg mv箱\浏览器启动器\本地数据" |

填写完毕后,启动器就完成了。
| 上述创建的启动器,开启了谷歌的跨域调试,并且将本地数据放在一个特殊位置。不会影响谷歌浏览器的正常的上网数据和运行数据。 |
最后,双击启动器,可以看到里面提示开启了“--disable-web-security”。

运行过程(Google Chrome)
1)测试游戏
打开 快捷方式“chrome-本地专用”。

把 工程中的index.html 或者 部署后的index.html,
拖进 谷歌浏览器 的地址栏里面。


然后点击地址栏,按回车,即可进入游戏。

| 谷歌浏览器可能会在 开启后阻止视频,导致示例的启动界面黑屏,在黑屏的界面里多用鼠标点两下,就能进入标题界面了。 |
2)排除电脑端插件报错
浏览器打开时,有可能会遇到 电脑端 的插件报错。
注意区分一下报错:
data/Actor.json错误的黄色文本只有一行 和 插件错误的黄色文本有两行以上
前者错误是因为跨域访问问题,需要检查一下 3)创建启动器 。
后者错误,更新或去掉 黄色文本中提示的插件。
下图黄色末尾的文本“Drill_ForcePreload.js:295:3”,说明是预加载插件出的错。

| 之前的插件都没怎么考虑 手机端、浏览器 的情况,更新最新的插件,就没有上述报错了。 |
3)性能说明
使用网页运行示例,部分电脑可能会掉到10帧至20帧。(按F2,可以看到FPS帧数)
这是因为系统给 浏览器分配的资源 比 NW.js运行 要少一半左右。
插件虽然提供了许多有趣的功能,但是对于浏览器、手机端来说,仍然是不小的性能挑战。你需要根据性能消耗考虑取舍。
4)风险说明
使用浏览器运行游戏,会放开跨域访问。
这会带来下面的风险:
》受到CSRF攻击(跨站请求伪造)
》电脑数据泄漏
》浏览器会话劫持
》电脑被远程控制
| 浏览器严格的跨域策略就是为了保护你上网安全,防止黑客入侵。放开跨域访问后,如果连上了网络,那么电脑会面临被黑客控制的风险。 |
| 不要用这个创建的启动器去日常上网。 |
部署到自定义启动器(DrillRmmvSimulator)
打包过程(DrillRmmvSimulator)
1)工程部署
点击打包部署时,会出现下面的设置,选择浏览器即可。
(你也可以不部署,直接进入 运行过程(DrillRmmvSimulator) )

| 游戏中所有资源文件名都不能含有符号“#”。该符号会造成部署失败。 |
注意,直接双击工程中的index.html,双击部署后的index.html,
都会报下面的错误,因为浏览器禁止跨域访问,不能访问本地文件。
需要按照接下来的 浏览器流程 才能进入游戏。

2)自定义启动器安装
作者我自己做的启动器,从下面的链接下载即可。
| rmmv工具包 > rmmv浏览器环境 > 自定义启动器链接:https://pan.baidu.com/s/1HVUxMXaGuZA0nf8fSZUZng提取码:rm0p |
直接解压就能运行。

运行过程(DrillRmmvSimulator)
1)测试游戏
双击打开DrillRmmvSimulator后如下图。

点击“浏览文件”,选择工程中的index.html 或者 部署后的index.html。

选择后点击运行,即可进入游戏。

2)原理说明
作者我写的这个启动器,使用vs2013 + qt5.7框架;
因为qt框架内包含了 谷歌Chrome的开源内核,
所以直接用窗口套内核就实现了简单的启动器。
本质上还是浏览器内核在发挥作用。(浏览器伪装的启动器程序)
另外,由于开源内核的支持功能有限,可能会出现一些插件用不了的情况。

部署到远程服务器
这个方式是群友开发的一种“远程游戏”的方式。
只需要把链接发到群里,群友就可以点击链接进行游戏。
因为隔了一层服务器,所以浏览器就没有跨域访问的限制了。
(这里作者我懒了,如果你有想法可以自己去试,具体作者我不详细说明了)