Skyrim Together et SKSE Des problèmes surgissent à propos de l'utilisation de codes et de problèmes juridiques

Récemment, certains problèmes de modérateurs qui pourraient devenir laids ont surgi à propos du hit RPG 2011 de Bethesda The Elder Scrolls V: Skyrim. Récemment, un développeur SKSE explique comment le code de SKSE a été utilisé dans le Skyrim ensemble Un mod qui enfreint plusieurs termes, ce qui aurait des conséquences négatives sur l’équipe de SKSE et pourrait conduire à une «très mauvaise position juridique avec Bethesda».

Si vous ne savez pas, le Skyrim Script Extender (SKSE) est un outil utilisé par beaucoup Skyrim modders, qui permet aux fonctionnalités de script d’atteindre de nouvelles limites tout en ajoutant de nouvelles / nouvelles fonctions à Skyrim.

Cela mène maintenant à Skyrim ensemble, qui est un prochain mod actuellement en version bêta. Ce mod permet camarade Skyrim les joueurs à faire équipe et explorer le monde fantastique de ce jeu. Cependant, l’équipe derrière le mod a un compte Patreon pour pouvoir essayer la version bêta:

«Nous avons décidé de donner un accès à la bêta fermée à TOUS les patrons précédents et futurs, nous ne nous soucions pas du montant de la promesse, 1 $ suffit pour entrer. C’est un BETA, nous ne rembourserons pas votre 1 si vous n'êtes pas satisfait l'état de la bêta, parce que nous n'avons pas le temps de traiter cela. Si vous n'êtes pas sûr de ne pas rejoindre la version bêta, nous l'avons fait uniquement pour limiter le nombre de personnes rejoignant nos serveurs. Ne vous engagez pas si vous attendez une expérience totalement fonctionnelle et sans bug. ”

Mais, il y a un problème qui pourrait conduire à une boîte de Pandore traitant de Bethesda et à des problèmes juridiques dans ce cas. Selon Extrwi, développeur de SKSE, les informations suivantes sur le sous-reddit r / skyrimmods a été posté sur February 2nd, 2019:

«Je suppose que le moment est venu de faire de nouvelles scènes Désolé, je déteste avoir à faire des choses comme ça.

 

Skyrim Together vole du code SKSE, non crédité, sans autorisation, avec un terme explicite dans la licence empêchant l’un des auteurs d’avoir quoi que ce soit à faire avec le code, qui nie en utiliser (au cas où cela serait supprimé)? La preuve est assez claire lorsque vous regardez le chargeur et la DLL dans un désassembleur. Ils utilisent probablement une version piratée de 1.7.3 classic avec des macros de préprocesseur pour permuter les types de structure entre les versions x64 et x86 selon les besoins.

 

À partir du chargeur, il s’agit essentiellement de skse_loader avec toutes les options archivées et les messages d’erreur modifiés. En gros, ils vérifient le code d'erreur de CreateProcessA par rapport à ERROR_ELEVATION_REQUIRED, puis ont une boîte de message d'erreur légèrement reformulée pour gérer ce cas. Que je pouvais voir être une coïncidence légèrement suspecte.

 

Dirigez-vous vers le code d'injection de DLL réel à + 4B81 et suivez avec InjectDLLThread de skse64 \ skse64_loader_common \ Inject.cpp. La première fonction est juste un wrapper SEH, appelant DoInjectDLLThread pour faire le vrai travail. DoInjectDLLThread ressemble presque exactement à la même chose, uniquement avec la vérification que la DLL existe supprimée. Le délai d'attente pour WaitForSingleObject est exactement le même, même en étant basculé entre INFINITE, 60 secondes, et n'étant pas appelé du tout via deux arguments booléens avec les mêmes indices. C'est une copie assez claire. "

Extrwi suivrait les informations ci-dessus avec un message montrant des tonnes de chemins de fichiers concernant la DLL dans l'image ci-dessous:

Voir le post sur imgur.com

Extrwi explique ensuite comment la source principale SKSE n’est pas concédée sous une licence open source contrairement à celle des fichiers communs SKSE (ou de la licence MIT):

«Common est bien sûr sous licence MIT et ne nécessite pas d'attribution (mais est toujours apprécié), mais la source principale de SKSE ne l'est pas. Techniquement, cela a toujours été sous le droit d'auteur.

La rédaction par Extrwi concerne également le code non modifié copié de SKSE:

«Dans toute la DLL, il y a des tonnes de code facilement identifiable, copié sans modification de SKSE à partir des chaînes et des messages d'erreur. La plupart, sinon toutes les nouvelles fonctions de script sont présentes, la sérialisation, essentiellement tout. Les données RTTI pointent vers des tonnes de classes personnalisées SKSE; Honnêtement, tout me rend malade.

 

Si vous voulez utiliser un code de synthèse SKSE directement dans les fonctions qu’ils ont ajoutées, examinez la définition de TESNPC et comparez-la avec la fonction de + 2B5A00 qui semble survoler les membres d’un TESNPC (entre autres). ) pour construire une chaîne. Il se trouve que les noms des champs correspondent, y compris ceux numérotés «inconnus». C'est au-delà d'une coïncidence. "

Avec le «pistolet fumant» exposé, Extrwi termine en expliquant quelles actions dangereuses telles que celles commises par l'équipe de Skyrim Together peuvent en amener d'autres:

«Ce vol de code source n’est absolument pas crédité, ce que nient les auteurs, et je suis certain qu’il a été d’une grande aide pour développer leur mod qui n’est actuellement utilisable qu’une fois payé. Actuellement, je ne sais pas quoi faire à propos de cette situation.

 

Notez qu'il est normal que les plugins de code natif ordinaires utilisent directement le code source de SKSE, et ce n'est pas grave. Ils sont censés avoir leur source disponible, mais en réalité, cela ne se produit pas toujours. ST est à l'origine d'un problème en enfreignant la licence, sans attribuer de crédit, en s'efforçant de garder une source fermée et en facturant un mod. Cela a des conséquences négatives pour nous et nous pousse dans une très mauvaise position juridique avec Bethesda. ”

Comme indiqué ci-dessus, le message complet rédigé par Extrwi est disponible sur r / skyrimmods.