Hytale клиент
Информация относящаяся к Hytale клиенту.
Код клиента закрыт и написан на C#, который компилируется в машинный код перед распространением. Изменить его после этого невозможно. Одиночная игра запускается на локальном сервере. Все моды должны проходить через серверный API.
Моды на стороне клиента невозможны.
Клиент нельзя изменять.
Мы не намерены поддерживать какие-либо модификации клиента - Slikey
Почему?
-
Нет необходимости скачивать моды из внешних источников.
- Hytale хочет «избежать фрагментированной экосистемы, в которой каждый сервер требует отдельного модифицированного клиента».
-
Безопасность клиента.
- Исполняемые файлы с посторонних сайтов могут содержать вредоносный код.
Мы не хотим подвергать игроков риску, который существует на некоторых других платформах для модификаций.
-
Стабильность клиента.
- Hytale может появиться на других платформах, где моддинг клиента невозможен, так что такой вектор развития закрывает данную проблему.
Мы считаем, что результатов, которых люди достигают посредством модификации клиента можно достичь через серверный моддинг. В других блочных играх вам нужно установить клиентский мод, чтобы добавить в игру новые блоки, NPC, интерфейс и т.д. Hytale делает все это с помощью серверного моддинга. Сервер будет временно «модифицировать» клиент для того, чтобы изменить и уникализировать ваш опыт игры. Вы можете создать свою собственную версию Orbis, не используя наши модели, музыку, генерацию мира, боевую систему или что-либо еще. Вы можете контролировать и переделывать игровой процесс не прикасаясь к клиенту. Подумайте о том, как работает роблокс.. Вы не влазите в работу своего клиента. Просто нажмите на нужный вам режим, и вы сможете играть без установки модов. - Slikey
Модификация клиента не обязательна
В основном клиент модифицируют для следующих целей:
- Косметические изменения (ресурс паки, шейдеры, плащи и т.д.): визуалом управляет сервер, не клиент.
- Производительность: игра будет содержать необходимые настройки для управления производительность.
- Доступность: игра будет доступна сама по себе.
- Интерфейс: UI можно модифицировать через сервер.
Прогнозирование на стороне клиента
Hytale использует прогнозирование через клиента на основе имеющихся данных для уменьшения задержек, поскольку все взаимодействия происходят на сервере и передаются обратно клиенту. Эта функция уже присутствует в некоторых системах, но в настоящее время она ограничена, в будущем планируется ее дальнейшая интеграция. Мы также планируем поработать над системой визуального скриптинга, для дальнейшей оптимизации.
Запуск кода через клиент
Команда изучает возможности для выполнения кода клиентом (что отличается от модификации клиента; это код, отправляемый с сервера), хотя мы пока ничего не можем обещать.
Модели
Клиент и ассеты принимают .blockymodel, пользовательский формат для Hytale. Официальный плагин для Blockbench плагина позволит вам экспортировать модельки в этот формат.
Технически Детали Клиента
Будет только одна актуальная и поддерживаемая версия клиента.
Версия Java будет обновляться и сейчас мы используем версию (Java 25) Версию игры нельзя будет выбрать, чтобы избежать хаоса связанный с количеством версий, которую мы наблюдали в наших (Minecraft) Hypixel серверах. Мы просто хотим реализовать всё так, чтобы сервера погли работать на последней версии без надобности поддерживать 15+ версий клиента. - Slikey
Клиент мультипоточный.
GUI
GUI написан на C# с использованием Noesis.
Система сборки
Hytale использует NativeAOT («Ahead of Time») для сборки клиента, который компилирует C# в машинный код. Это означает, что без реверс инженеринга машинного кода моды должны будут проходить через API сервера.
Дополнительная информация
Клиент имеет собственную систему версий и протокол для взаимодействия с серверами.