最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

TShock插件適配參考 · 開(kāi)發(fā)向

2023-02-23 17:05 作者:hufang360  | 我要投稿

本文的插件適配是指重新編譯老插件,讓老插件能夠在新版tshock下運(yùn)行。

去年10月tshock更新到5.0版本,新版基于.net6.0,很多插件都是基于.net4.0的,導(dǎo)致很多插件不能用,不能用主要是api變更導(dǎo)致的,要修改錯(cuò)誤,需要引用新版的tshock,得把.net4.0的項(xiàng)目轉(zhuǎn)成.net6.0的項(xiàng)目。


一個(gè)簡(jiǎn)單.net6.0項(xiàng)目

這里拿我早上剛寫(xiě)的插件來(lái)舉例,這個(gè)插件夠簡(jiǎn)單,核心代碼只有一行。

項(xiàng)目地址:https://gitee.com/hufang360/tshock/tree/master/Plugins/TShockLang7

概覽:

圖1

項(xiàng)目設(shè)置:

直接引用tshock的NuGet程序包了就好了,不像以前要手動(dòng)拷貝.dll文件。

圖2

引用tshock程序包后,依賴項(xiàng)就包含了“Newtonsoft.Json.dll”“BCrypt.Net-Next.dll”,因此你不再需要重新拷貝這些文件到項(xiàng)目里,一下子就優(yōu)雅起來(lái)了。


擔(dān)心修改“.csproj”文件容易出錯(cuò),或者不知道各個(gè)字段都代表的是什么意思,可以打開(kāi)Visual Studio,選中項(xiàng)目,鼠標(biāo)右鍵,選擇屬性。


適配實(shí)踐

這里以自動(dòng)注冊(cè)插件為例,這個(gè)插件最后更新時(shí)間是4年前。

項(xiàng)目地址:https://github.com/brian91292/TShockAutoRegister


1、刪除“.\AutoRegister\Properties\AssemblyInfo.cs”文件。

2、刪除“.\AutoRegister\AutoRegister.csproj”文件。

3、拷貝“Lang7”里面的“Plugins.csproj”文件到“AutoRegister”目錄下”,然后改名成“AutoRegister.csproj”。

(Lang7項(xiàng)目:https://gitee.com/hufang360/tshock/tree/master/Plugins/TShockLang7)

4、編輯“AutoRegister.csproj”文件,把里面的“Lang7”替換成“AutoRegister”,把“hufang360”替換成“你的名字”,然后保存。

5、雙擊“AutoRegister.sln”打開(kāi)項(xiàng)目,此時(shí)會(huì)自動(dòng)啟動(dòng)Visual Studio(應(yīng)該有裝的吧)。

6、編譯項(xiàng)目。

7、此時(shí)出現(xiàn)好幾條錯(cuò)誤,這些錯(cuò)誤都是api變動(dòng)導(dǎo)致的,下面是改動(dòng)對(duì)比。

8、再次編譯項(xiàng)目??截惥幾g得到的dll文件到服務(wù)器插件目錄下,啟動(dòng)服務(wù)器,創(chuàng)建新人物進(jìn)入服務(wù)器。

9、誒誒誒,怎么沒(méi)有幫我注冊(cè)。找了半天發(fā)現(xiàn),在服務(wù)器啟動(dòng)的時(shí)候,控制臺(tái)報(bào)了兩行錯(cuò)誤。因?yàn)樽詣?dòng)注冊(cè)插件的密碼規(guī)則是由IPv4 地址、客戶端 UUID 和玩家名稱組成,可以推斷出用戶的密碼,所以在tshock4.5.4的時(shí)候,將 <=1.2.0版本自動(dòng)注冊(cè)插件視為危險(xiǎn)插件。

10、這里我們只是測(cè)試,為了讓插件工作,暫不考慮安全,可以直接把版本號(hào)改成1.3。

11、再次編譯項(xiàng)目。再次測(cè)試。提示登錄成功,并告知了密碼!適配完成!

適配工作可能簡(jiǎn)單,也可能非常復(fù)雜,這取決于項(xiàng)目的復(fù)雜度。

不僅tshock的api有變動(dòng),泰拉的源碼也有一些。遇到問(wèn)題時(shí),查看源碼是一個(gè)不錯(cuò)的方法。4.0轉(zhuǎn)6.0,我也是觀察“TerrariaServerAPI.csproj”文件才找到的答案,我對(duì).net的編程認(rèn)知也非常有限,多琢磨,多搜索,總有收獲。最后希望tshock生態(tài)越來(lái)越好!(*^▽^*)


tshock源碼:https://github.com/Pryaxis/TShock

泰拉源碼,可以使用ILSpy工具反編譯獲得。

ILSpy下載地址:https://github.com/icsharpcode/ILSpy/releases



TShock插件適配參考 · 開(kāi)發(fā)向的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
张家界市| 武功县| 林周县| 四子王旗| 延川县| 印江| 井研县| 北碚区| 平凉市| 八宿县| 广东省| 芦溪县| 青阳县| 西乡县| 德昌县| 洪雅县| 宝丰县| 泗水县| 大渡口区| 青铜峡市| 大连市| 樟树市| 巢湖市| 桑植县| 彰化市| 信阳市| 裕民县| 乌苏市| 常德市| 林口县| 犍为县| 满洲里市| 连城县| 陇南市| 威海市| 福州市| 嘉峪关市| 尉犁县| 科技| 农安县| 乃东县|