Skip to content

游戏部署说明(浏览器)

该文档简单介绍一下作者我部署浏览器的过程,以及遇到的坑。

此处介绍的是电脑端浏览器的运行方式,手机端浏览器还没试过。这里只做浏览器的技术讨论,若真要发布电脑端游戏,肯定优先用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的开源内核,

所以直接用窗口套内核就实现了简单的启动器。

本质上还是浏览器内核在发挥作用。(浏览器伪装的启动器程序)

另外,由于开源内核的支持功能有限,可能会出现一些插件用不了的情况。

部署到远程服务器

这个方式是群友开发的一种“远程游戏”的方式。

只需要把链接发到群里,群友就可以点击链接进行游戏。

因为隔了一层服务器,所以浏览器就没有跨域访问的限制了。

(这里作者我懒了,如果你有想法可以自己去试,具体作者我不详细说明了)

贡献者

暂无相关贡献者

页面历史

暂无最近变更历史
最近更新