SteamCMD(steam局域網(wǎng)架設(shè)工具)是一款專門用于架設(shè)steam局域網(wǎng)服務(wù)器的軟件,利用steamCMD用戶能夠在本地局域網(wǎng)內(nèi)架設(shè)一個(gè)STEAM的服務(wù)器,進(jìn)而讓本地的幾臺(tái)電腦可以通過這個(gè)服務(wù)器進(jìn)行聯(lián)機(jī),比如玩求生之路或者是其它的steam游戲都能夠進(jìn)行聯(lián)機(jī),有需要的可以下載使用。
功能介紹
在自己的電腦偶爾開服,直接用steam客戶端的庫--工具就可以了,但是要更加方便快捷地建立一個(gè)專用服務(wù)器,還是離不開steamcmd的運(yùn)用:
所謂steamcmd,即steam的一個(gè)命令行版本,帶有steam基礎(chǔ)api,包括賬戶登陸,郵箱驗(yàn)證,游戲下載等功能。安裝他的時(shí)候也會(huì)在磁盤上寫入和桌面版steam相關(guān)的鏈接庫,用來被游戲調(diào)用。也就是說通過steamcmd下載的游戲是可以正常運(yùn)行的。然而steamcmd平時(shí)并不作為游戲下載工具,因?yàn)橛螒虮囟ㄓ袌D形界面,那么既然有圖形界面一定會(huì)使用更方便的桌面版steam。steamcmd的正確用法是用來下載游戲服務(wù)端(雖然有些游戲服務(wù)端就是游戲本體),然后在服務(wù)器上運(yùn)行游戲服務(wù)端作為游戲服務(wù)器使用。
使用方法
使用命令設(shè)置SteamCMD
64位centos下使用以下命令進(jìn)行安裝
首先安裝所需的32位依賴
yum install glibc.i686 libstdc++.i686
之后創(chuàng)建一個(gè)新賬戶,命名為steam,之所以需要?jiǎng)?chuàng)建一個(gè)新賬戶,是為了安全性而要求的。若使用root賬戶運(yùn)行steamcmd會(huì)看到安全提醒。
useradd -m steam
之后切換到這個(gè)賬戶,注意這里的命令是 su空格-空格steam,這樣做的話,切換后立即轉(zhuǎn)到steam賬戶的~目錄:
su - steam
之后創(chuàng)建一個(gè)文件夾命名為steamcmd并進(jìn)入:
mkdir ~/steamcmd
cd ~/steamcmd
使用wget下載steamcmd壓縮包:
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
解壓縮:
tar -xvzf steamcmd_linux.tar.gz
運(yùn)行它:
cd ~/steamcmd
./steamcmd.sh
第一次啟動(dòng)steamcmd將會(huì)自動(dòng)下載steamcmd全部文件,耐心等待即可。下一次啟動(dòng)時(shí)不需要再次下載。steamcmd啟動(dòng)后,會(huì)進(jìn)入程序內(nèi)的命令行界面。此處可以輸入命令。以安裝一個(gè)游戲?yàn)槔?,我們來介紹一下steamcmd的基礎(chǔ)命令。
首先,和桌面版steam一樣,我們首先需要登陸,比如我們用匿名賬號(hào)登陸(匿名賬號(hào)不需要密碼):
login anonymous
登陸成功后我們指定游戲服務(wù)端安裝目錄,例如自定為上一層目錄中的 cs_go 文件夾,注意,linux下的steamcmd只要制定了目錄,就會(huì)立刻創(chuàng)建該目錄,windows版steamcmd不會(huì)立刻創(chuàng)建,因此在linux下可以以此確認(rèn)該命令是否正確按照預(yù)想設(shè)定。
force_install_dir ../cs_go/
之后我們要開始安裝游戲服務(wù)端,以上面那個(gè)csgo為例,我們首先需要確認(rèn)這個(gè)程序的app id,我們?cè)L問以下網(wǎng)址:
https://developer.valvesoftware.com/wiki/Dedicated_Servers_List
該列表會(huì)顯示所有steamcmd支持下載的服務(wù)端,ID這個(gè)column下就是我們需要的app id,例如我們找到csgo的id為740,使用以下命令:
app_update 740
進(jìn)行安裝,這里有幾個(gè)參數(shù)說明,常用的其實(shí)只有validate參數(shù)。validate意味著校驗(yàn),和桌面版steam上那個(gè)校驗(yàn)本地文件是一模一樣的功能,注意,在任何app相關(guān)的命令使用前都需要先指定目錄,否則視為當(dāng)前目錄。第一次安裝程序,有沒有validate效果是一樣的。從原理上來說,更新服務(wù)端時(shí)如果不加validate應(yīng)該會(huì)全部覆蓋一次,但是我發(fā)現(xiàn)并沒有,依然會(huì)首先校驗(yàn)本地文件和云端文件然后增量下載。換句話說,我發(fā)現(xiàn)有沒有validate都是一樣的,可能是我觀測失誤,推薦任何app_update命令全部加上validate參數(shù)。即以下命令 app_update 740 validate
按下回車后會(huì)不斷提示下載進(jìn)度,到達(dá)百分百后會(huì)回到steamcmd命令行,輸入quit來退出steamcmd。
之后我們 cd ../cs_go 即可進(jìn)入csgo服務(wù)端所在文件夾,然后根據(jù)具體服務(wù)端的啟動(dòng)方式來運(yùn)行服務(wù)端。
對(duì)于其他游戲來說,安裝過程是一致的。需要注意的是部分游戲的安裝有特殊要求或者需要首先購買該游戲。以七日殺為例,在剛才的dedicated servers list列表中我們可以看到七日殺旁邊的notes這個(gè)column里寫著“game purchase required”,這意味著這個(gè)游戲必須首先購買,而確認(rèn)你已經(jīng)購買的方法就是在steamcmd登陸時(shí)使用自己的steam賬號(hào)登陸而不是匿名賬號(hào)。首次使用你的steam賬號(hào)登陸時(shí)會(huì)和桌面版steam一樣有郵箱校驗(yàn),你需要輸入郵箱里發(fā)來的驗(yàn)證碼才可以登陸,登陸后這樣的游戲服務(wù)端才可以被下載。
steamcmd下載得到的服務(wù)端全部都是正版服務(wù)端,也就是客戶端進(jìn)行連接時(shí)會(huì)有steam賬戶校驗(yàn)。因此連入的玩家必須擁有該游戲的正版,雖然本人不支持盜版,但是作為一件事實(shí)還是需要特別說明以下。source引擎游戲有專門的破解補(bǔ)丁,現(xiàn)在是俄羅斯的一波人在維護(hù),可以破解source引擎的steam賬戶校驗(yàn),該補(bǔ)丁可以裝到服務(wù)端上面從從而模擬驗(yàn)證以使得盜版玩家可以連入服務(wù)器。以前倒騰過這玩意,但是該補(bǔ)丁的linux版本年久失修,只有windows版本在不停更新,因此如果使用linux開服還是自覺去買正版,linux服務(wù)端基本上和盜版無緣。
關(guān)于游戲服務(wù)端的更新,更新操作過程和安裝一模一樣(絕大多數(shù)情況下,游戲客戶端如果更新了,那么服務(wù)端也要更新),在此不在贅述,推薦加上validate參數(shù)。