Skyrim разом і смути SKSE виникають через використання кодексу та юридичних питань

Це виглядає як деякі modder питання що могли стати потворними виникли нещодавно відносно Bethesda 2011 ударяють RPG Старші Сувої V: Скайрім. Останнім часом розробник SKSE визначає, як код з SKSE був використаний в Skyrim Together mod, що порушує кілька термінів, які, як кажуть, погано відбиваються на команді SKSE і можуть призвести до "дуже поганої юридичної позиції у Bethesda".

Якщо ви не знаєте, то Skyrim Розширювач скриптів (SKSE) є інструментом, який використовується багатьма користувачами Skyrim modders, що дозволяє можливостям сценаріїв досягти нових лімітів, додаючи додаткові / нові функції Skyrim.

Тепер це призводить до Skyrim Together, що є майбутнім модом, який зараз знаходиться в бета-версії. Цей мод дозволяє хлопцю Skyrim гравців, щоб об'єднатися і вивчити фантастичний світ сказаної гри. Тим не менш, команда за модом має Patreon рахунок що потрібно зробити, щоб спробувати бета-версію:

"Ми вирішили надати доступ до закритого бета-тесту ВСЕ колишнім і майбутнім патронам, ми не піклуємося про суму застави, $ 1 достатньо, щоб потрапити. Це бета-версія, ми не повернемо $ 1, якщо ви незадоволені стан бета-версії, тому що у нас немає часу на це. Якщо ви не впевнені, що не приєдналися до бета-версії, ми зробили це лише для обмеження кількості людей, які приєдналися до наших серверів. Не обіцяйте, якщо ви очікуєте повноцінного функціонального досвіду.

Але є проблема, яка може призвести до появи черв'яків, які мають справу з Бетесдою, і правових питань у цьому випадку. За словами розробника SKSE Extrwi, наведена наступна інформація про суб-reddit r / skyrimmods опубліковано у лютому 2nd, 2019:

- Думаю, настав час більше драматизму. На жаль, мені не подобається робити такі речі.

 

Skyrim Together - це крадіжка SKSE-коду, без права доступу, без чітко визначеного терміну ліцензії, що обмежує одного з авторів, що має відношення до коду, заперечує використання будь-якого з них (у разі видалення)? Доказ досить чіткий, коли ви дивитеся на завантажувач і dll в дизассемблере. Вони використовують зламану версію класичної 1.7.3, імовірно, з деякими макросами препроцесора для перемикання типів структур навколо версій x64 та x86.

 

Починаючи з завантажувача, це в основному skse_loader з усіма опціями подано і повідомлення про помилки змінилися. В основному, вони перевіряють код помилки CreateProcessA проти ERROR_ELEVATION_REQUIRED, потім мають трохи змінене поле повідомлення про помилку, щоб обробити цей випадок. Я бачив, що це трохи підозрілий збіг.

 

Відійдіть до фактичного коду ін'єкції DLL за номером + 4B81 та виконайте наступні дії разом із skse64 \ skse64_loader_common \ Inject.cpp's InjectDLLThread. Перша функція - це просто SEH обгортка, яка закликає DoInjectDLLThread зробити справжню роботу. DoInjectDLLThread виглядає майже точно так само, лише якщо перевірка, чи існує DLL, видалена. Час очікування WaitForSingleObject точно такий же, навіть перемикаючись між INFINITE, 60 секунд, і взагалі не викликається через два аргументи bool з тими ж індексами. Це досить чітка копія ».

Extrwi буде стежити за вищезазначеною інформацією з повідомленням про тони файлів, що стосуються DLL на зображенні нижче:

Подивитися повідомленням imgur.com

Пізніше Extrwi пояснює, як основний джерело SKSE не ліцензується за ліцензією з відкритим вихідним кодом, що суперечить ліцензії SKSE (або ліцензії MIT):

«Звичайно, звичайно, ліцензію MIT і не вимагає атрибуції (але завжди цінується), але основним джерелом SKSE не є. Технічно завжди під загальним законом про авторське право.

Запис у Extrwi також стосується скопійованого незмінного коду з SKSE:

“Дивлячись у DLL, є тони коду, які легко ідентифікувати, як скопіювати без змін з SKSE тільки з рядків і повідомлень про помилки. Більшість, якщо не всі нові функції скрипту є, серіалізація, в основному все. Дані RTTI вказують на тонни користувацьких класів SKSE; Чесно кажучи, все це змушує мене відчувати себе хворим.

 

Якщо ви хочете, щоб великий "курячий пістолет" коду SKSE використовувався безпосередньо в доданих функціях, подивіться на визначення TESNPC і порівняйте його з функцією + 2B5A00, яка, схоже, йде по членам TESNPC ) для побудови рядка. Назви полів просто збігаються, навіть з урахуванням пронумерованих «невідомих». Це невипадково.

Завдяки демонстрації «гармати для куріння», Extrwi закінчується, пояснюючи, які небезпечні дії, подібні до тих, що здійснюються командою Skyrim Together, можуть принести іншим:

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

 

Зауважте, що звичайні плагіни для рідних кодів використовують вихідний код SKSE безпосередньо, і це нормально. Вони повинні мати своє джерело, але насправді це не завжди відбувається. ST викликає проблему, порушуючи ліцензію, не кредитуючи, виходячи зі свого шляху, зберігаючи закритий вихідний код, і ефективно заряджаючи мод. Це погано відображає нас і підштовхує нас до дуже поганої юридичної позиції у Бетесди ».

Як зазначено вище, повний пост, який написав Extrwi, можна знайти далі r / skyrimmods.