
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 если вы загрузили оригинальную Zip или beta-20111013 если вы загрузили Zip Academy.Если вы хотите запустить новейшие сборки разработки сервера, можно найти составленные двоичные файлы (артефакты) для каждого функционального коммита.
Для более подробного обзора архитектуры игры и того, как ее настроить, прочитайте следующие разделы.
Fusionfall состоит из следующих компонентов:
.unity3d , который содержит код игры и основные ресурсы (экран загрузки и т. Д.)Оригинальная игра использовала настоящий веб -браузер игрока для запуска игры, но с тех пор интерфейс плагина NPAPI, на который опиралась игра, устарела и больше не доступен в большинстве современных браузеров. И Retro, и OpenFusion обойдите эту проблему, раздавая более старую версию Electron, программного пакета, который по сути является специализированным веб -браузером.
Клиент браузера/электронов открывает веб -страницу с помощью тега <embed> соответствующего типа MIME, где PARAM src является адресом игры в игре .unity3d . Это запускает браузер, чтобы загрузить плагин NPAPI, который обрабатывает тип MIME, в данном случае веб -плеер Unity.
Обратите внимание, что версия веб -плеера, распределенной с OpenFusion, ожидает стандартного магического номера UnityWeb для всех активов, а не модифицированного streamed магического номера Retro. Это потенциально станет актуальным позже, поскольку люди начнут экспериментировать, смешивать и сопоставлять версии.
Веб -плеер выполнит код игры, который запросит следующие файлы с сервера: /assetInfo.php и /loginInfo.php .
/assetInfo.php содержит адрес, с которого можно принести остальные активы игры («Dongresources»). Обычно они будут размещены на том же веб -сервере, что и Gateway, но распределение OpenFusion (в конфигурации по умолчанию) вообще не использует веб -сервер! Вместо этого он загружает веб -страницы локально, используя схему file:// и извлекает активы игры с стандартного веб -сервера.
/loginInfo.php содержит пару портов сервера входа в систему Fusionfall, к которому клиент подключится. Этот сервер входа в систему управляет клиентом, пока он находится в меню «Выбор персонажа», а также создание символов и учебник.
Когда игрок нажимает «Введите игру» (или завершает учебник), сервер входа в систему отправляет ему адрес сервера Shard, к которому клиент затем подключится и останется подключенным во время игрового процесса.
Вы можете изменить порты, которые сервер Fusionfall прослушивает в config.ini . Убедитесь, что порт сервера входа в систему синхронизируется с тем, что вы входите в список серверов клиента - порт Shard не нуждается в такой синхронизации.
Этот файл конфигурации также имеет несколько других параметров, которые вы можете настроить, включая словесность журнала, интервал сохранения базы данных, уровень учетной записи/разрешения по умолчанию и многое другое. См. Комментарии в самом файле конфигурации для более подробной информации.
Если вы хотите играть с друзьями, просто введите данные сервера входа в диалог Add Server в OpenFusionClient. Это просто работает, если вы все под одной локальной сети, но если вы хотите играть через Интернет, вам нужно открыть порт, использовать сервис, такой как Hamachi или Ngrok, или разместить сервер на VPS (как и любой другой GameServer).
OpenFusion имеет одну внешнюю зависимость: SQLite. Самая старая совместимая версия - 3.33.0 . Вы можете установить его в Windows с помощью vcpkg , а также в Unix/Linux, используя диспетчер пакетов вашего дистрибуции. Для более бюро руководства о том, как настроить VCPKG, прочитайте это руководство.
У вас есть два варианта для компиляции OpenFusion: включенный файл Makefile и включенный файл Cmakelists.
Подробное руководство по компиляции доступно для пользователей Windows на веб-сайте, используя Mingw-W64 и MSYS2. В противном случае, чтобы скомпилировать его для текущей платформы, в которой вы находитесь, просто запустите, make с помощью правильных установленных инструментов сборки (в настоящее время производителя и Clang).
Подробное руководство доступно в нашей документации для людей, использующих обычный старый Cmake или версию Cmake, которая поставляется с Visual Studio. TL; DR: cmake -B build
Если вы хотите внести свой вклад в этот проект, пожалуйста, прочитайте Anforming.md.
Цель проекта - верная воссоздания игры, как это было во время целевой сборки. В то время как большинство функций реализовано, и игра начинается заканчиваться, возможно, отсутствует функциональность или наличие ошибок.
В зависимости от конфигурации сервера, у вас будет доступ к определенным командам.
Для общедоступных серверов: оригинал имеет нереску элементов, возможность установить скорость/высоту игрока/высоту прыжка и включена телепортация (уровень учетной записи 50). Между тем, сервер Академии больше предназначен для законных прохождения (уровень учетной записи 99).
При размещении локального сервера у вас будет доступ ко всем командам по умолчанию (уровень учетной записи 1).
Список доступных команд см. Эта страница.