KF2用Linux搭建房間


KF2用Linux搭建房間

目錄:

  1. 引語
  2. ssh連接
  3. 運行環境安裝
  4. steamcmd的下載及使用
  5. 編寫啟動文件與生成配置
  6. 房間配置
  7. 開服與網頁后台
  8. 安裝GNU Screen
  9. 房間歡迎界面設置
  10. 多人房間開設
  11. 補充資料

引語

  1. Linux開服,我默認大家都是用雲服務器,想來應該沒人電腦是Linux系統吧。
  2. 因為很多人可能不了解Linux,所以文章會寫得很詳細,有補充資料,大家可以看看

ssh連接

打開putty 或者 Xshell。當然用雲服提供給你的遠程登陸窗口也行,但強烈推薦Xshell,功能真得很強大。 輸入公網ip;連接;輸入用戶名與密碼;連接上服務器

運行環境安裝

在開始之前,必須先安裝運行SteamCMD所需的依賴項。 在這里說一下,安裝程序時,你輸入指令后會提示你是否安裝,輸入y,按鍵盤[Enter]確定,當然否定就是n

CentOS

sudo yum install xulrunner.i686

或者:

sudo yum install glibc.i686

:我以前是用這條指令 sudo yum install glibc.i686,可能因為CentOS版本問題這次到后面無法運行steamcmd.sh,出現錯誤error while loading shared libraries: libgcc_s.so.1: cannot open shared object file: No such file or directory,網上解決辦法感覺很麻煩,所以現在換成 sudo yum install xulrunner.i686

Ubuntu

sudo apt-get install lib32gcc

steamcmd的下載及使用

CentOS和Ubuntu其實本來沒什么區別的,但是偶然發現Ubuntu能直接下載steamcmd,為了寫詳細點,就分開寫了。

下面會新建一個steam用戶,因為直接用root有一定的風險。

CentOS用戶

adduser -m steam   #新建用戶steam,在/home目錄下有steam文件夾
su - steam  #切換為steam用戶,注意空格
mkdir ~/steamcmd  #創建steamcmd目錄
cd ~/steamcmd  #進入steamcmd目錄 
wget http://media.steampowered.com/installer/steamcmd_linux.tar.gz  #下載
tar -xvzf steamcmd_linux.tar.gz  #解壓 
./steamcmd.sh  #運行程序 
login anonymous #匿名登陸
force_install_dir .\KF2Server\ #設置安裝目錄
app_update 232130 validate #下載KF2服務器,如果下載失敗,繼續輸入指令重新下載
quit #下載完畢后,退出

注:從官方鏈接下載steamcmd,用wget下載鏈接,要是提示 wget:未找到命令,你需要自己安裝 yum install wget

Ubuntu用戶

useradd -m steam #新建用戶steam
cd /home/steam #跳轉到用戶目錄
sudo apt-get install steamcmd #安裝steamcmd,steam提供的跨平台開服工具
ln -s /usr/games/steamcmd steamcmd #將安裝好的steamcmd鏈接到當前目錄方便執行
./steamcmd #執行程序
login anonymous #匿名登陸
force_install_dir .\KF2Server\ #設置安裝目錄
app_update 232130 validate #下載KF2服務器,如果下載失敗,繼續輸入指令重新下載
quit #下載完畢后,退出

編寫啟動文件與生成配置

cd /home/steam/steamcmd/KF2Server/  #進入KF2Server目錄下
vi KF2.sh  #用vi編寫啟動文件,下面是文本中寫入的內容

vi輸入的文本:

#!/bin/sh
./Binaries/Win64/KFGameSteamServer.bin.x86_64 kf-bioticslab

接下來開服,第一次開服會生成房間配置文件

chmod -R 777 KF2.sh #給KF2.sh文件權限
./KF2.sh #運行KF2服務器 

最后出現 DevOnline: Advertising: Region= 表示開服成功,然后按組合鍵CTRL+C退出程序

房間配置

cd /home/steam/steamcmd/KF2Server/KFGame/Config #進入配置文件目錄

使用vi修改以下三個文件:KFWeb.iniLinuxServer-KFEngine.iniLinuxServer-KFGame.ini

vim KFWeb.ini
vim LinuxServer-KFGame.ini
vim LinuxServer-KFEngine.ini

配置修改如下:

KFWeb.ini

bEnable=false 改成 bEnabled=true ListenPort=8080 默認的話,開服后網址輸入:ip:8080,訪問網頁后台。根據需求是否更改

LinuxServer-KFGame.ini

將?改為你的設定,#后為注釋,請善用查找功能

  • GameDifficulty=? #對游戲難度進行設置 =0(普通)=1(困難)=2(自虐)=3(地獄) 注:試了才發現Linux的配置文件和windows不一樣,查找有兩個GameDifficulty, 你要改這個[Engine.GameInfo]下面的GameDifficulty,是后一個

  • AdminPassword=? #管理員密碼

  • GamePassword=? #游戲密碼

  • GameLength=? #對游戲波數進行設置 =0(4波)=1(7波)=2(10波)

  • ServerName=? #房間名

  • GameMapCycles=? #地圖循環

    這三個是房間歡迎界面設置,詳細點擊這里:房間歡迎界面設置

  • BannerLink=? #PNG圖像的外鏈

  • ServerMOTD=? #BannerLink圖像下的消息顯示

  • WebsiteLink=? #您網站的網址

LinuxServer-KFEngine.ini

  • 查找 bUsedForTakeover,將其改為false

  • 查找 [IpDrv.TcpNetDriver] 下一行添加一行代碼,為了讓別人能從創意工坊下載三方地圖或插件:DownloadManagers=OnlineSubsystemSteamworks.SteamWorkshopDownload 注:不能直接查找 [IpDrv.TcpNetDriver],因為編輯器對於方括號處理是括號內各個字母出現位置標識, 或許你可以只查找一半就行了,例如這樣查找:[IpDrv.Tcp

  • 復制下面代碼最后,這段代碼是加三方地圖或插件的的(其實大家玩最久得還是官方,開始設置可以跳過此步)

    [OnlineSubsystemSteamworks.KFWorkshopSteamworks]
    ServerSubscribedWorkshopItems=?
    

    代碼解釋:這個很好理解,其實就是讓服務器從創意工坊下載地圖或插件

    ServerSubscribedWorkshopItems=?你可以多復制幾行這段代碼,將?改為三方地圖或插件的id

    具體舉例: 假如我要裝一個三方地圖(id:935744975)和一個插件(id:1412883748),我文檔最后是這樣:

    [OnlineSubsystemSteamworks.KFWorkshopSteamworks]
    ServerSubscribedWorkshopItems=935744975
    ServerSubscribedWorkshopItems=1412883748
    

    插件名字:Controlled Difficulty - Tiger's Build V.2 鏈接(URL):https://steamcommunity.com/sharedfiles/filedetails/?id=1412883748&searchtext=cd 你可以從url中找到id=1412883748,然后把?改成id就行了

    三方圖名字:KF-De_Dust2 鏈接(URL):https://steamcommunity.com/sharedfiles/filedetails/?id=935744975&searchtext=dust

    同理,但多一步驟,在地圖循環中添加地圖的名稱,按格式寫就行了。另外加名稱也可以在網頁后台實現。

開服與網頁后台

cd /home/steam/steamcmd/KF2Server/  #回到KF2Server目錄下
./KF2.sh #運行KF2服務器  

上面就算開服成功了,打開瀏覽器,公網IP:8080進入網頁后台,管理員密碼登錄,里面可以看一些直觀數據,以后修改也方便。

安裝GNU Screen

ssh連接雲服,上面雖然開服了,但是關掉ssh,這個任務就會結束,所以需要Screen,能夠開一個獨立窗口運行任務,即使斷掉ssh連接也能一直運行任務。

按上面步驟來的話,如果你是在新建的steam用戶下,記得切到root用戶安裝,輸入su,回車,輸密碼。切回steam用戶則是su - steam

yum install screen #安裝Screen
screen -S KF2server #創建一個Kf2窗口,這里 KF2server 你也可以改成任意名字
./KF2.sh #運行KF2服務器
ctrl+a+d #會使當前screen窗口分離(detach)為獨立的會話。會話分離后就可以斷開SSH連接(關閉Xshell)

注:ctrl+a+d有的人按了沒反應,我是按住ctrl不放,先按一下a然后松開a再按一下d,不是a與d一起按

  • 如果想切回KF2服務器的Screen窗口,可使用如下命令

    screen –ls #列出所有screen窗口,可以看到進程號,例如9567
    screen –R 9567 #恢復KF2Server窗口
    
  • 如果想殺死進程然后做其他操作

    kill 9567 #殺死9567進程
    

房間歡迎界面設置

  1. 確保游戲服務器沒有運行
  2. 編輯PCServer-KFGame.ini:

找到這個部分並進行編輯,這是默認的部分:

BannerLink=http://art.tripwirecdn.com/TestItemIcons/MOTDServer.png
ServerMOTD=Welcome to our server. \n \n Have fun and good luck!
WebsiteLink=http://killingfloor2.com/
  1. BannerLink是必須是PNG圖像。想添加自己的圖片,你可以自己搭建圖床或者用別人的免費圖床。 網上一大堆免費圖床,選擇你喜歡的,一般要你注冊賬號,然后你就可以上傳圖片。 注:圖片必須是PNG格式,分辨率為512×256,然后用圖片外鏈地址,就是輸入鏈接能直接打開一張圖片的那個,舉例:http://art.tripwirecdn.com/TestItemIcons/MOTDServer.png

  2. ServerMOTD是BannerLink圖像下的消息顯示 注:Linux中文會顯示亂碼,用英文吧

    • 您可以使用“\ n”來創建一個新行,就像在默認消息中一樣

    • 改變字體顏色和大小

      ServerMOTD=<font color="#FF0000" size="60">weijiejie</font> 
      

      展示效果:


    weijieji


    #FF0000是紅色,想改成其他顏色,度娘html顏色代碼表 60 當然是px大小,自己根據情況改

  3. WebsiteLink是您網站的網址(隨便填,默認也行)

  4. 保存,啟動服務器,享受歡迎屏幕。

多人房間開設

  1. 復制房間啟動程序KF2.sh然后重命名,加入代碼 ?ConfigSubDir=Name

    cd /home/steam/steamcmd/KF2Server/  #進入KF2.sh所在的目錄
    cp KF2.sh KF2_new.sh  #復制KF2.sh並命名為KF2_new.sh,這個命名根據你自己,xxx.sh
    vim KF2_new.sh
    

    修改KF2_new.sh,改成如下:

    #!/bin/sh
    ./Binaries/Win64/KFGameSteamServer.bin.x86_64 kf-bioticslab?ConfigSubDir=Name
    

    開服:

    ./KF2_new.sh
    

    開服成功后,ctrl+c關閉窗口,

    cd /home/steam/steamcmd/KF2Server/KFGame/Config  ##進入Name文件夾所在目錄
    ls  ##列出當前目錄文件
    

    你在這可以看見Name文件夾

    cd Name  #進入Name文件夾
    

    接下來就是和之前一樣,修改那三個配置文件

  2. vim LinuxServer-KFEngine.ini,打開文件,查找 PortPeerPort 默認Port=7777,PeerPort=7778 你將Port改為其他數字,PeerPort為Port+1 例如:Port=7773,PeerPort=7774

  3. vim KFWeb.ini,打開文件, 更改網絡端口 ,默認ListenPort=8080,改為其他數字,比如8081。 bEnable=false 改成 bEnabled=true

  4. vim LinuxServer-KFGame.ini,打開文件,改名,其他配置也可以改改。

補充資料

很多人不了解Linux,在此補充點知識,寫得並不詳細。如果不理解可以直接度娘,網上一大把詳細文檔

一些指令含義

小技巧:代碼補全,按鍵盤[Tab]

pwd #看當前所處目錄
ls #列出目錄
cd #切換目錄,比如進入home目錄下:cd /home 
cd .. #上級目錄
mkdir test #創建test文件夾
rm -rf test #刪除文件夾test及其子文件
chmod -R 777 test #給test及其子文件授予777權限,即能進行讀、寫和執行操作
cp file1 另一路徑/file2 復制文件file1到另一路徑並命名為file2

vi/vim使用

vi/vim 共分為三種模式,分別是命令模式(Command mode),輸入模式(Insert mode)和底線命令模式(Last line mode)

  • 命令模式: 一進來就算命令模式,此時敲字母會被當做命令來使用。 :進入底線命令模式,i進入輸入模式

    命令 含義
    : 進入底線命令模式,注意如果沒反應,關掉輸入法
    i 進入輸入模式
    gg 回到文檔第一行
    /txt 向下查找 txt ,就是記事本里面的查找功能
    ?txt 向上查找 txt
    n 配套上面的查找,查找下一個txt
    N 往上查找,找上一個txt
  • 輸入模式: 進入這里就能輸入文本啦!操作和普通文本編輯器一樣,沒什么要說的。 輸入完成后,按鍵盤[Esc]退回命令模式。

  • 底線命令模式: 你輸入命令后按鍵盤[Enter]可以執行命令。

    命令 含義
    q! 不保存退出
    wq 保存退出

Filezilla使用簡述

如果你用不習慣vi,可以將配置文件從雲服下載下來,本地改好然后再上傳回去

連接FIlezilla填寫內容舉例:

sftp://118.25.173.70 #形如此格式在主機那欄目填寫公網IP
root #用戶名 
WOR1545FCW #密碼
22 #端口默認22


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM