搭建本地服务器劫持(或者说是反向代理)gms.yoyogames.com 加速启动 GMS2(可直接用于第一次启动 GMS2 并通过镜像站安装 Runtime)

发布于 2020-02-07  3342 次阅读


原理很简单,就是在本地搭建一个简单的网页服务器,然后修改 hosts 将 gms.yoyogames.com 劫持到本地已经搭建好的服务器。

当然并不局限任何服务器软件,使用 IIS 、 NGINX 、 Apache 等 Web 服务器软件也可以达成目标需求。这里以 NGINX 为例。

配置本地环境

修改 hosts

首先将以下记录添加到系统自带的 hosts 文件中:

127.0.0.1 gms.yoyogames.com

下载服务器软件

对于服务器软件此处并不局限任何服务器软件,以下只提供本人的 NGINX 配置文件。

下载 RSS

这里你可以选择自制 RSS 文件或选择 镜像站 的 RSS 文件,此处以镜像站 RSS 文件为例,可以在镜像站找到 RSS URL 自行下载。

配置环境

以下为自用 NGINX 的配置环境(nginx.conf),使用其他 Web 服务器软件需自行修改:

worker_processes  1;
events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    
    keepalive_timeout  65;

    server {
        listen       80;
        server_name  gms.yoyogames.com;

        location / {
            root   www;
            index  index.html index.htm *.rss;
        }
    }

    # HTTPS server
    #
    server {
        listen       443 ssl;
        server_name  gms.yoyogames.com;

        ssl_certificate      ../cert/cert.crt;
        ssl_certificate_key  ../cert/cert.key;

        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;

        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;

        location / {
            root   www;
            index  index.html index.htm *.rss;
        }
    }
}

其次在 NGINX 所在目录新建 www(可随意,只需将 root 后的值修改为对应文件夹即可),将保存的 RSS 文件放入。

最后检查 80 端口和 443 端口是否被其他程序占用,若被占用需关闭占用该端口的程序,若该程序较为重要可在其他系统或设备中(如局域网内另一台电脑、虚拟机、路由器等)搭建,只需在上文在 hosts 中要求添加的记录把 127.0.0.1 修改为对应 IP 地址即可。

启动

启动 NGINX,在浏览器输入 http://localhost/Zeus-Runtime.rsshttp://gms.yoyogames.com/Zeus-Runtime.rss 检查 RSS 内容是否与镜像站 RSS 相同(可在浏览器页面中搜索 gms.magecorn.com),若相同就可以愉快地使用 GMS 2 啦。

更新 RSS(可选)

此方法可直接用于更新 GMS2 Runtime 并获得国内镜像加速,只需更新本地 RSS 文件即可。

以下是更新 RSS 的 PowerShell 命令,可保存为 updateRSS.ps1 脚本:

(new-object System.Net.WebClient).DownloadFile( 'https://gms.magecorn.com/Zeus-Runtime.rss','www\Zeus-Runtime.rss')

若使用的是 macOS 系统可直接使用 cURL 下载:

cd www
curl -O https://gms.magecorn.com/Zeus-Runtime.rss

目录结构参考

GitHub

https://github.com/GamemakerChina/gms2-runtime-proxy/