
OpenFusion是用于FusionFall的反向工程服务器。它主要针对原始游戏的版本beta-20100104和beta-20111013 ,对他人的支持有限。
可以在此处找到有关让客户通过葡萄酒在Linux上运行的说明。
OpenFusionServer-1.6-Original.zip或OpenFusionServer-1.6-Academy.zip 。winfusion.exe (Windows)或fusion (Linux)以启动服务器。127.0.0.1:23000 。beta-20100104 ,如果您下载了beta-20111013 ,如果您下载了Academy Zip。如果您想运行服务器的最新开发构建,则可以在此处找到每个功能性提交的编译二进制文件(工件)。
有关游戏体系结构以及如何配置它的更详细概述,请阅读以下各节。
融合由以下组成部分组成:
.unity3d捆绑包,其中包含游戏代码和基本资源(加载屏幕等)原始游戏利用玩家的实际Web浏览器启动游戏,但是从那时起,NPAPI插件界面依赖于游戏,并且在大多数现代浏览器中不再可用。 Retro和OpenFusion都通过分发旧版本的Electron来解决这个问题,这是一个本质上是专门的Web浏览器的软件包。
浏览器/电子客户端将打开一个带有适当MIME类型的<embed>标签的网页,其中src param是游戏的.unity3d入口点的地址。这会触发浏览器加载npapi插件,该插件处理哑剧类型,在这种情况下为Unity Web播放器。
请注意,带有OpenFusion的Web播放器的版本期望所有资产的标准UnityWeb魔术号码,而不是Retro的经过修改的streamed魔法数。随着人们开始尝试,混合和匹配版本,这将有可能在以后变得有意义。
Web播放器将执行游戏代码,该代码将从服务器请求以下文件: /assetInfo.php和/loginInfo.php 。
/assetInfo.php包含获取游戏其余资产的地址(“ dongresources”)。通常,这些将托管在与网关的同一Web服务器上,但是OpenFusion Distibstion(在默认配置中)根本不使用Web服务器!相反,它使用file:// schema在本地加载网页,并从标准的Web服务器中获取游戏的资产。
/loginInfo.php包含fusionfall登录服务器的IP:端口对,客户端将连接到。该登录服务器在“字符选择”菜单以及字符创建和教程时驱动客户端。
当玩家单击“输入游戏”(或完成教程)时,登录服务器将其发送为碎片服务器的地址,然后客户端将在游戏玩法中连接并保持连接。
您可以更改FusionFall Server在config.ini中听的端口。确保登录服务器端口与您输入客户端服务器列表的内容是同步的 - 碎片端口不需要这种同步。
该配置文件还可以调整其他几个选项,包括日志杂句,数据库保存间隔,默认帐户/权限级别等。有关更多详细信息,请参见配置文件本身中的注释。
如果您想与朋友一起玩,只需将登录服务器详细信息输入OpenFusionClient中的Add Server对话。如果您全部在同一LAN下,这只是有效的,但是如果您想通过Internet玩游戏,则需要打开端口,使用Hamachi或Ngrok之类的服务,或者在VPS上托管服务器(就像其他任何GameServer一样)。
OpenFusion具有一个外部依赖性:SQLITE。最古老的兼容版本是3.33.0 。您可以使用vcpkg在Windows上安装它,并使用Distraction的软件包管理器在UNIX/Linux上安装它。有关如何设置VCPKG的更深入指南,请阅读本指南。
您有两种编译OpenFusion的选择:随附的Makefile和随附的CMakelists文件。
网站上的Windows用户使用MINGW-W64和MSYS2提供了详细的汇编指南。否则,要为当前的平台编译它,只需使用已安装的正确构建工具(当前制造和clang) make 。
我们的文档中提供了详细的指南,适用于使用常规旧CMAKE或Visual Studio随附的CMAKE版本。 tl; dr: cmake -B build
如果您想为该项目做出贡献,请阅读parduting.md。
该项目的目标是忠实地重新创建游戏,就像目标构建时一样。尽管大多数功能已实现,并且游戏是可播放的,但可能缺少功能或错误。
根据服务器配置,您可以访问某些命令。
对于公共服务器:原始服务器具有物品产卵,设置播放器速度/跳高高度和启用传送的能力(默认帐户级别50)。同时,Academy Server更适合合法播放(默认帐户级别99)。
托管本地服务器时,默认情况下将可以访问所有命令(帐户级别1)。
有关可用命令的列表,请参见此页面。