Skyrim Birlikte ve SKSE, Kod Kullanımının ve Hukuki Sorunların Giderilmesiyle İlgili Sorunlar Ortaya Çıktı

Son zamanlarda Bethesda'nın 2011 hit RPG'si hakkında çirkin hale gelebilecek bazı sorunlara benziyor. The Elder Scrolls V: Skyrim. Son zamanlarda, bir SKSE geliştiricisi, SKSE’nin kodunun Birlikte Skyrim SKSE ekibine kötü yansıttığı söylenen ve “Bethesda ile çok kötü bir yasal pozisyona” yol açabileceği söylenen birkaç şartı ihlal eden mod.

Eğer bilmiyorsan, Skyrim Script Extender (SKSE) birçok kişi tarafından kullanılan bir araçtır Skyrim Ek / yeni işlevler eklerken komut dosyası oluşturma yeteneklerinin yeni sınırlara ulaşmasına olanak veren modders Skyrim.

Bu şimdi yol açar Birlikte Skyrim, şu anda beta olan yaklaşmakta olan bir mod. Bu mod dost sağlar Skyrim Oyuncular takımın oyun dünyasının fantastik dünyasını keşfetmek ve keşfetmek için. Ancak, modun arkasındaki takım bir Patreon hesabı Beta'yı denemek için bağışta bulunması gerekenler:

“TÜM eski ve gelecekteki patronlara kapalı beta erişimi vermeye karar verdik, rehin tutarını umursamıyoruz, $ 1 almak için yeterli. Bu bir BETA, eğer memnun değilseniz $ 1'unuzu iade etmeyeceğiz beta durumu, çünkü bununla baş etmek için zamanımız yok. Emin değilseniz betaya katılmayın, bunu yalnızca sunucularımıza katılan kişilerin sayısını sınırlamak için yaptık. Tamamen işlevsel, hatasız bir deneyim bekliyorsanız söz vermeyin. ”

Ancak, Bethesda ile ilgili solucanlar konservesi ve bu durumda yasal sorunlara yol açabilecek bir sorun var. SKSE geliştiricisi Extrwi'ye göre, alt reddit hakkında aşağıdaki bilgiler r / skyrimmods Şubat 2, 2019 tarihinde gönderildi:

“Daha fazla drama zamanı geldi galiba. Üzgünüm, böyle şeyler yapmaktan nefret ediyorum.

 

Skyrim Together, izinsiz olarak izinsiz olarak SKSE kodunu, lisansta açıkça belirtilen ve yazarlardan birinin kodla herhangi bir şey yapmasını kısıtlayan bir süre çaldığını söylüyor. herhangi birini kullanmayı reddediyor (bu silinirse diye)? Yükleyiciye bakınca ve bir sökücüye yerleştirildiğinde ispat oldukça açıktır. Yapı türlerini, x1.7.3 ve x64 sürümleri arasında gerektiği gibi değiştirmek için büyük olasılıkla bazı önişlemci makrolarıyla birlikte, kesilmiş bir 86 classic sürümü kullanıyorlar.

 

Yükleyici ile başlayarak, temelde tüm seçenekleri dosyalanmış ve hata mesajları değişmiş şekilde skse_loader oluşturuyor. Esas olarak, CreateProcessA hata kodunu ERROR_ELEVATION_REQUIRED ile karşılaştırıp kontrol ettikten sonra, bu durumu ele almak için hafif bir hata mesajı kutusu var. Biraz şüpheli bir tesadüf olduğunu görebiliyordum.

 

+ 4B81'deki gerçek DLL enjeksiyon koduna gidin ve skse64 \ skse64_loader_common \ Inject.cpp's InjectDLLThread ile birlikte takip edin. İlk işlev, gerçek işi yapmak için DoInjectDLLThread çağıran bir SEH sarmalayıcısıdır. DoInjectDLLThread, yalnızca DLL'nin kaldırılmış olup olmadığının kontrol edilmesiyle neredeyse tamamen aynı görünür. WaitForSingleObject için zaman aşımı tam olarak aynıdır, hatta INFINITE, 60 saniye arasında geçiş yapılır ve aynı indekslere sahip iki bool argümanı aracılığıyla hiç çağrılmamaktadır. Bu oldukça net bir kopya. "

Extrwi, yukarıdaki resimde, aşağıdaki resimde DLL ile ilgili tonlarca dosya yolu gösteren bir gönderi izler:

Imgur.com görünümü sonrası

Extrwi daha sonra ana SKSE kaynağının, SKSE ortak dosyalarının (veya MIT lisansının) aksine açık kaynak lisansı altında nasıl lisanslanmadığını açıklar:

“Ortak elbette MIT lisanslıdır ve nitelik gerektirmez (ancak her zaman takdir edilir), ancak ana SKSE kaynağı değildir. Teknik olarak her zaman ortak telif hakkı yasası altında olmuştur. ”

Extrwi tarafından yapılan yazı ayrıca, SKSE'den kopyalanan değiştirilmemiş kodlara da değiniyor:

“DLL boyunca bakıldığında, SKSE'den sadece dizgilerden ve hata iletilerinden değiştirilmeksizin kolayca kopyalanabilecek tonlarca kod var. Çoğu yeni komut dosyası işlevlerinin tümü orada değilse serileştirme, temel olarak her şey. RTTI verileri tonlarca SKSE özel sınıfına işaret eder; dürüst olmak gerekirse, her şey beni hasta ediyor.

 

Eklenen fonksiyonlarda doğrudan kullanılan SKSE kodunun harika bir "sigara tabancası" istiyorsanız, TESNPC'nin tanımına bakın ve TESNPC üyeleri üzerinde yürüdüğü görünen + 2B5A00 fonksiyonuyla karşılaştırın. ) bir dize oluşturmak için. Alanların adları, yalnızca “bilinmeyen” numaralar dahil, eşleşir. Bu tesadüfün ötesinde. ”

“Sigara tabancası” sergilenen Extrwi, Skyrim Together ekibinin gerçekleştirdiği eylemler gibi tehlikeli eylemlerin başkalarını ne getirebileceğini açıklayarak sona erer:

“Bu kaynak kod hırsızlığı, yazarlar tarafından reddedilmiş, tamamen itibarsız, ve şu anda yalnızca ödendiğinde kullanılabilen modlarını geliştirmede çok yardımcı oldum. Şu anda bu durum hakkında ne yapacağımdan emin değilim.

 

Sıradan yerel kod eklentilerinin SKSE kaynak kodunu doğrudan kullanmasının normal olduğunu ve sorun olmadığını unutmayın. Kaynaklarını hazır bulundurmaları gerekiyordu, ama gerçekte bu her zaman olmaz. ST lisansı ihlal ederek, kredi vermeyerek, kapalı kaynak tutma yolundan çıkarak ve bir mod için etkili bir şekilde ücret alarak bir soruna neden oluyor. Bu bize çok fena yansıyor ve bizi Bethesda ile çok kötü bir yasal pozisyona itiyor. ”

Yukarıda listelendiği gibi, Extrwi'nin yazdığı tam gönderi üzerinde bulunabilir. r / skyrimmods.