在 Windows、macOS 和 Linux 上安装 Epstein Island Game,含各种警告说明
Epstein Island Game 的桌面版是一个压缩包,不是安装程序:解压、启动程序、开始玩。大多数人真正卡住的地方不是解压,而是 Windows 或 macOS 首次启动时弹出的警告。
这里说明哪个文件对应哪个系统、SmartScreen 和 Gatekeeper 到底在说什么、怎么用校验值确认文件完整,以及应用之后怎样自动保持最新。还没决定用浏览器还是桌面版?看浏览器还是桌面版。
哪个文件对应哪个系统
下载页面上每个系统正好对应一个文件,文件名几乎已经说明了一切:island,接着是版本号,然后是系统名。Windows 和 macOS 拿到的是 ZIP,Linux 是 tar.gz。没有安装向导,程序直接从解压出来的文件夹里运行。
Windows 和 Linux 的安装包是为 64 位、x64 处理器构建的。macOS 安装包是一个通用应用,同时包含 Apple 芯片和 Intel Mac 的代码,所以不需要在两个版本之间选择。
预留一点空间:以 0.15.2-wasser 版本为例,Linux 压缩包是 209.2 MB,Windows 的 ZIP 是 243.2 MB,macOS 的 ZIP 是 310.9 MB。解压后每个安装包大约会占用两倍的空间,之后自动获取的更新还会额外存放在应用自己的用户数据文件夹里。
SmartScreen 和 Gatekeeper 到底在提示什么
两种警告的原因相同:安装包没有已知发行者的签名。Island.exe 完全没有代码签名。macOS 应用只是临时(ad hoc)签名,没有 Apple 开发者证书,也没有经过 Apple 的公证。
Windows 对此的反应是 SmartScreen 过滤器,它会对新程序弹出提示。macOS 会显示“Apple 无法验证……”,并直接给出“移到废纸篓”的选项。这两句话的意思都是:系统无法确认这个文件是谁构建的,并不是说文件里发现了什么问题。
所以文件在传输途中有没有被改动,需要你自己确认,而且用不了一分钟。Linux 下 Island 没有类似的拦截机制。
稳妥的做法:先核对校验值,再放行
在点掉任何警告之前,先比对 SHA256 校验值。在对应系统的卡片上展开“下载之后”,里面就有这个值,旁边还带着“复制 SHA256”按钮。这个校验值属于压缩包本身,也就是 ZIP 或 tar.gz 文件,而不是解压后的程序。所以要在解压之前核对。
如果两串字符一致,说明你拿到的文件和服务器上的完全一样。如果不一致,就不要运行里面的任何东西:重新下载,并通知团队,下载页面本身也是这么建议的。
之后只放行这一个程序。“仍要运行”和“仍要打开”只针对 Island,其他所有程序的保护机制照常保留。
- Windows,在命令提示符或 PowerShell 里:certutil -hashfile 文件名 SHA256
- macOS 和 Linux,在终端里:shasum -a 256 文件名
- “文件名”换成完整名称,比如下载文件夹里的 island-0.15.2-wasser-windows.zip。
提示只从下载页面获取安装包,因为从聊天记录或论坛里传来的副本没有可以比对的校验值。
分步操作:在 Windows、macOS 和 Linux 上安装
校验通过之后,每个系统只需要几个简单步骤:
- Windows:右键点击 ZIP,选“全部解压缩”。ZIP 包含的 Island 文件夹里,Island.exe 和一千多个程序需要的文件放在一起,所以保持文件夹完整。首次启动时 SmartScreen 会弹出提示,点“更多信息”就能看到“仍要运行”按钮。
- macOS:双击 ZIP 解压,启动 Island.app,在提示里选“完成”。macOS 15 之后已经不能用右键加打开的老办法了。取而代之的是去系统设置、隐私与安全性,一路滚动到底部找到“仍要打开”,用密码确认。之后这个应用就会像其他应用一样正常打开。
- 用终端处理 macOS:xattr -dr com.apple.quarantine ~/Downloads/Island.app 只会移除这一个应用的隔离标记。如果已经放进了应用程序文件夹,把路径改一下就行。
- Linux:用 tar -xzf 加文件名解压,然后运行 ./Island/Island。压缩包里的程序已经具备可执行权限,不需要 chmod。
Linux:关于 SUID sandbox 提示的含义
在 Linux 下启动时,可能会出现一条关于“SUID sandbox”的提示。原因出在安装包里:随附的辅助文件 chrome-sandbox 没有设置 setuid 位。针对这种情况,下载页面给出的启动方式是 ./Island/Island --no-sandbox。
这个参数做的正是它名字所说的:程序运行时不使用这个沙箱。所以只在真的出现这条提示时才用它,而且只用在校验值核对无误的安装包上。
桌面应用的更新:哪些会自动获取,哪些不会
应用在启动时以及之后每隔 30 分钟都会向服务器询问是否有新版本。找到的话,会在后台安静下载,而且只下载有变化的文件。每个文件都会和服务器列表里的大小与 SHA256 值做比对,出错时最多重试三次。
全部就绪后,左下角会有一条提示栏,说明更新已经准备好,会在下次启动时生效。点“Jetzt übernehmen”(立即应用)会马上切换过去。如果连接中断,已下载的部分会保留,下次会从那里继续。没有网络时,你就照常玩手头这个版本。
有一个限制:程序本身,也就是包裹游戏的外壳,不会自我更新。如果外壳有新版本,提示栏会告诉你有新的程序版本可以下载。这时从下载页面拿到最新安装包,核对校验值,再按第一次安装的步骤操作就行。
应用的菜单目前是德语的。在“Spiel”(游戏)菜单里能找到“Nach Updates suchen”(检查更新,快捷键 Ctrl+U,Mac 上是 Cmd+U)、“Update jetzt installieren”(立即安装更新)和“Geladenes Update übernehmen”(应用已下载的更新)。在 Windows 和 Linux 上菜单栏默认隐藏,按 Alt 键调出。
提示网络较慢时,用 --kein-auto-update 启动程序,它就只检查,不会自己下载任何东西。
应用打不开或更新后出问题时怎么办
Island 只打开一个窗口。第二次启动程序时,它只会把已有的窗口带到最前面。原因是:应用通过你电脑上的一个小型本地服务器运行游戏,地址是 127.0.0.1,端口 47311,你的开发配置文件跟这个端口绑定。如果端口被占用,它会依次换到 47321、47331 或 47341。如果四个端口都被占用,就不会打开任何窗口。
如果更新之后出了问题,“Spiel”菜单里的“Auf mitgelieferten Stand zurücksetzen”(重置为安装包自带版本)会有帮助。它会切换回下载安装包时自带的版本,因为每次更新都会保留这个版本。应用还会自己识别没有下载完整的版本,并自动回退到安装包版本。
常见问题
为什么 Windows 会对 Island.exe 发出警告?
因为这个文件没有代码签名,SmartScreen 对新程序都会给出提示。先比对 ZIP 的 SHA256 校验值,然后依次点“更多信息”和“仍要运行”即可继续。
Mac 版能在 Apple 芯片和 Intel 上都运行吗?
可以。macOS 安装包是通用应用,同时包含两种处理器的代码。
每次更新都要重新下载吗?
不需要。新的游戏内容会由应用自己下载。只有当提示栏显示有新的程序版本,或者你要在另一台电脑上安装时,才需要新的安装包。
更新会让我的存档丢失吗?
更新只会替换游戏文件。但只要 Island 还是原型阶段,旧存档在更新后仍有可能失效,团队对此说得很坦白。