Hytale Modding
Встановлена інформація

Клієнт Hytale

Інформація щодо клієнта Hytale.

Info

Клієнт написаний на C#, перед розповсюдженням компілюється в машинний код і не піддається модифікації. Однокористувацький режим працює на локальному сервері. Всі модифікації повинні проходити через API сервера.

Відсутність клієнтських модифікацій

Клієнтські модифікації відсутні.

Ми не плануємо підтримувати будь-які клієнтські модифікації - Slikey

Чому ж?

  1. Немає необхідності завантажувати зовнішні файли.

    • Hytale хоче "уникнути фрагментованої екосистеми, де кожен сервер вимагає іншого модифікованого клієнта".
  2. Безпека клієнтів.

    • Запуск .jar файлів із сторонніх сайтів на клієнті може легко призвести до зараження шкідливим програмним забезпеченням.

    [Ми не хочемо наражати гравців] на ризики безпеки, які існують на деяких інших платформах для модифікацій.

  3. Стабільність клієнтів.

    • Hytale може перейти на інші платформи, на яких модифікація клієнта неможлива, тому вони заздалегідь блокують її, щоб встановити правильний напрямок.

    Ми вважаємо, що результати, які люди отримують в інших іграх з блоками, використовуючи модифікації клієнта, можна легко досягти за допомогою наших модифікацій на стороні сервера. В інших іграх з блоками вам доводиться встановлювати клієнтські модифікації, щоб отримати нові блоки, неігрових персонажів, інтерфейс користувача тощо. Hytale робить все це, просто звертаючись до сервера. Сервер, по суті, тимчасово "модифікує" клієнт дуже безпечним способом, щоб розширити та змінити ваш ігровий досвід. Ви могли б створити свою власну версію Orbis, не використовуючи жодних наших моделей, музики, генерації світу, боїв чи чогось іншого. Ви маєте контроль і можете видалити все, навіть не торкаючись клієнта. Подумайте про те, як працює Roblox... Ви ніколи не змінюєте власний додаток. Ви просто натискаєте на той досвід, якого бажаєте, і отримуєте все необхідне, не модифікуючи саму інсталяцію. - Slikey

Клієнтські модифікації не потрібні

Типові випадки використання клієнтських модифікацій:

  • Косметичні зміни (пакети ресурсів, шейдери, накидки тощо): візуальні елементи належать серверам, а не клієнту.
  • Продуктивність: базова гра пропонуватиме необхідні елементи керування продуктивністю.
  • Доступність: базова гра буде доступною сама по собі.
  • Користувацький інтерфейс: інтерфейс належить серверам, а не клієнту.

Прогнозування на стороні клієнта

Hytale використовує прогнозування на стороні клієнта на основі даних для зменшення затримки, оскільки всі взаємодії відбуваються на сервері та передаються назад клієнту. Це вже присутнє в деяких системах, але наразі обмежене, хоча в майбутньому планується подальша інтеграція. Також планується працювати з системою візуальних скриптів у майбутньому для подальшої оптимізації.

Виконання на стороні клієнта

Команда вивчає можливість виконання коду клієнтом (що відрізняється від модифікації клієнта; це код, що надсилається з сервера), хоча це не гарантується.

Моделі

Клієнт і конвеєр ресурсів приймають .blockymodel, спеціальний формат для Hytale. Офіційний плагін Blockbench дозволить вам експортувати в цей формат.

Технічні дані клієнта

Завжди буде лише одна поточна, підтримувана версія клієнта.

Версія Java буде оновлюватися нами, і зараз ми використовуємо останню версію (Java 25). Версія гри не буде доступна для вибору, щоб уникнути плутанини з версіями, яку ми спостерігали в нашій мережі серверів Hypixel. Ми просто хочемо переконатися, що багатокористувацькі мережі можуть покладатися на те, що гравці мають останню версію гри, щоб не підтримувати понад 15 версій клієнта. - Slikey

Клієнт є багатопотоковим.

Графічний інтерфейс

Графічний інтерфейс побудований на основі зв'язків C# з використанням Noesis.

Система збирання

Hytale використовує NativeAOT ("Ahead of Time") для збирання клієнта, який компілює C# в машинний код для розповсюдження. Це означає, що без інженерного аналізу машинного коду модифікації повинні проходити через API сервера.

Інша інформація

Клієнт має власний контроль версій і протокол для взаємодії з серверами.