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

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

從零開始的CSGO服務(wù)器教程(三):實戰(zhàn)1——服務(wù)器自動更新

2020-08-28 01:23 作者:RoyZ_  | 我要投稿

1.那些你所需要知道的

從現(xiàn)在開始,我們要接觸的大多為國外論壇上的插件,你需要

  • 一些基礎(chǔ)的英文閱讀能力或靈活使用translate.google.cn

  • 一顆認(rèn)真仔細(xì)的心用來觀察你對服務(wù)器做的每一步,以便在遇到麻煩時回滾

  • 適時備份addons和cfg文件夾

  • 適當(dāng)做一些筆記,記錄你的每一步或命令,以便后來參考

原本說第一個實戰(zhàn)是搭建回防服務(wù)器的,但是想了想服務(wù)器更新還是一個比較關(guān)鍵的問題,很多人只能手動更新,而不知道如何實現(xiàn)自動更新。

2.認(rèn)識拓展/插件

首先我們要有一個概念:

什么是拓展和插件?

首先我們大概說下服務(wù)器那么多功能實現(xiàn)的原理:起源引擎是允許模組的,也就是addons文件夾,我們安裝時的Metamod:Source是一種模組,但它更重要的則是一種起源引擎API管理器,簡單來說MM把游戲數(shù)據(jù)以一種方便的形式提供給它的插件以供調(diào)用、查詢或更改,而我們實現(xiàn)核心功能的Sourcemod就是以MM的插件形式存在的,你可以理解成Metamod:Source是地基,地基上建了Sourcemod這個房子,至于這個房子里可以干什么事,那就是插件和拓展的活了。

拓展:Extension 或簡稱ext,屬于Sourcemod的部分,你可以把它理解成Sourcemod這個大房子需要的管線,比如這個房間需要互聯(lián)網(wǎng),那我就得將網(wǎng)線布進(jìn)這個房子。具體到實際環(huán)境,如后期插件等需要數(shù)據(jù)同步,那么肯定就需要一個統(tǒng)一的數(shù)據(jù)庫,一般來說Sourcemod無法直接連接MySQL數(shù)據(jù)庫,所以他就需要一個拓展:dbi.mysql.ext,調(diào)用這個拓展連接至數(shù)據(jù)庫,不過這個拓展已經(jīng)自帶在Sourcemod里了,不用擔(dān)心。而拓展以當(dāng)前平臺的二進(jìn)制文件存在,如Windows的是dll而Linux下是so。采用C++編寫。


默認(rèn)拓展目錄在[服務(wù)器安裝目錄]/csgo/addons/sourcemod/extensions

插件:Plugins/Plug-in,是可以直接對游戲產(chǎn)生直接關(guān)系的Sourcemod插件。它就是我們一般接觸最多的東西,它屬于上層建筑,通過簡單的調(diào)用、查詢或更改,就能對游戲產(chǎn)生很大的影響,而它的功能來源基本就是拓展和Sourcemod本身,采用Sourcepawn編寫,后綴名均為smx。

默認(rèn)插件目錄在[服務(wù)器安裝目錄]/csgo/addons/sourcemod/plugins

3.自動更新插件的安裝與配置

下載以下所需插件/拓展:

  • Automatic Steam Update (SteamWorks)?插件?https://forums.alliedmods.net/showthread.php?p=2238058

  • SteamWorks.ext Update Check?插件?https://forums.alliedmods.net/showthread.php?p=2331846

  • SteamWorks?拓展?https://github.com/KyleSanderson/SteamWorks/releases/latest

基本原理:首先SteamWorks拓展,提供了一個查詢接口,可以讓SteamWorks.ext Update Check插件查詢當(dāng)前服務(wù)器版本是否過期,過期則觸發(fā)SteamWorks_RestartRequested這一重啟請求,接著Automatic Steam Update插件就會在向游戲內(nèi)發(fā)送自定義通知,然后在設(shè)置時間內(nèi)讓服務(wù)器重啟。

那你可能要問了,光重啟有什么用啊!別急我們先把三個東西裝上配置一下。

我們會得到這樣三個文件,其中smx文件均為插件,而那個tgz是壓縮過SteamWorks拓展。

解壓,Linux下壓縮,tgz一般會和tar組合,所以有2層

一路點進(jìn)去,到Sourcemod文件夾下,我們會發(fā)現(xiàn)有兩個文件夾,通過前面的知識我們可以知道核心就是這個extensions文件夾,里面的就是拓展的二進(jìn)制文件。

那么這個scripting文件夾是做什么的呢?scripting一般是用來存放插件源代碼的,而這個不是插件,是拓展,所以它在這里提供的是插件所需要的inc文件,也就是如果一個插件需要調(diào)用SteamWorks拓展,就需要在編譯時用到SteamWorks的include文件(后綴名inc),但是我們在這里并不需要做開發(fā)或編譯,所以不需要理睬scripting文件夾。scripting文件夾是無法對游戲服務(wù)器造成任何影響的。

一個調(diào)用SteamWorks的插件代碼


接下來打開WinSCP把兩個smx拖進(jìn)plugins文件夾,而extensions文件夾同理,也只要把SteamWorks.ext.so放進(jìn)服務(wù)器相應(yīng)的文件夾即可。

至于如何配置插件在更新時,向服務(wù)器內(nèi)發(fā)送的信息以及重啟倒計時時間等,你只需要等到一會重新啟動服務(wù)器后,到[服務(wù)器安裝目錄]/csgo/cfg/sourcemod目錄下打開plugin.autosteamupdate.cfg文件進(jìn)行編輯即可,里面有詳細(xì)的英文注釋。

3.自動更新啟動項配置

接下來就是重頭戲了,我們已經(jīng)通過插件讓游戲服務(wù)器知道,它要更新了,需要重啟,但是服務(wù)器并不知道,它應(yīng)該去哪里更新。

從哪里來的就從哪里更,肯定是需要Steamcmd來更新,首先我們需要創(chuàng)建一個文件。

WinSCP進(jìn)入到和Steamcmd.sh同級的目錄中,右鍵新建文件,隨便起個名字.txt,比如update.txt

輸入以下內(nèi)容

login anonymous

force_install_dir ./csgo/

app_update 740

quit

force_install_dir ./csgo/?這行以你實際安裝目錄為準(zhǔn),只要定位到你CSGO服務(wù)器安裝目錄即可

保存退出

接下來右鍵復(fù)制steamcmd.sh并原地粘貼為steam.sh

接下來打開steam.sh

找到第八行的

STEAMEXE="${STEAMROOT}/linux32/${STEAMCMD}"

改成

STEAMEXE="[steamcmd.sh所在路徑]/linux32/steamcmd"

保存退出,接下來同時選中steamcmd.sh和steam.sh右鍵屬性,將權(quán)限改為0744

接下來我們在原有的游戲啟動項上加上

-autoupdate -steam_dir "[steam.sh所在路徑]" -steamcmd_script "/[steam.sh所在路徑]/xxxxx.txt"

路徑和txt名稱按照實際情況填寫
按照之前的方法啟動游戲,就大功告成了!

下一篇就是回防服部署實戰(zhàn)啦,記得關(guān)注哦。

如有疑問歡迎到我的博客RoyZ.top留言!


從零開始的CSGO服務(wù)器教程(三):實戰(zhàn)1——服務(wù)器自動更新的評論 (共 條)

分享到微博請遵守國家法律
贡山| 龙陵县| 武夷山市| 马尔康县| 阿克| 平乡县| 临西县| 曲水县| 长子县| 纳雍县| 新龙县| 安塞县| 江城| 海伦市| 禄丰县| 景东| 法库县| 桂东县| 元谋县| 遂平县| 德惠市| 米林县| 荆门市| 沙河市| 旺苍县| 仙居县| 新竹县| 新乡县| 桃园市| 巴里| 金坛市| 临潭县| 明光市| 城口县| 怀来县| 广丰县| 合阳县| 襄汾县| 格尔木市| 灵山县| 乌鲁木齐县|