安裝環境庫
安裝steam
手動建立游戲(饑荒)文件夾
配置游戲設置文件,服務器可以運行了!
配置mod文件
另外,在復制代碼的時候建議刪除注釋--后面的內容,因為vim有時候會出bug
1.先安裝環境庫
centos:
yuminstallglibc.i686libstdc++.i686libcurl.i686–y
1
ubuntu/Debian:
sudoapt-getinstalllibstdc++6:i386libgcc1:i386libcurl4-gnutls-dev:i386lib32gcc1
1
大概率會成功,如果失敗的話,可以參考下方官方給出的解決方法,注意自己的os位數:
sudodpkg--add-architecturei386#Ifrunninga64bitOS
sudoapt-getupdate
sudoapt-getinstalllib32gcc1#Ifrunninga64bitOS
sudoapt-getinstalllib32stdc++6#Ifrunninga64bitOS
sudoapt-getinstalllibgcc1#Ifrunninga32bitOS
sudoapt-getinstalllibcurl4-gnutls-dev:i386
1
2
3
4
5
6
補充:
在安裝sudoapt-getinstalllibcurl4-gnutls-dev:i386時候
可能會出現Unabletolocatepackagelibcurl4-gnutls-dev,應該是配置源未被掃描
解決方案:
sudodpkg--add-architecturei386
sudoapt-getupdate
sudoapt-getinstalllibcurl4-gnutls-dev:i386
1
2
3
后,再次執行安裝
sudoapt-getinstalllibcurl4-gnutls-dev:i386
1
2.下載/安裝steamcad
wgethttps://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar-zxvfsteamcmd_linux.tar.gz
1
2
希望增加一個user的可以自己useraddsteam,反正我是無所謂…
運行steamcad
./steamcmd.sh
1
可能出現不存在目錄/root/linux32/steamcmd:Nosuchfileordirectory
steamcmd:errorwhileloadingsharedlibraries:libstdc++.so.6:cannotopensharedobjectfile:Nosuchfileordirectory
1
原因是steam為32位,建議更新apt-get后安裝32位的依賴:
apt-getupdate
sudoapt-getinstalllib32stdc++6
apt-getinstalllib32gcc1
1
2
3
可進入steam命令模式
>steam
1
匿名登陸(不需要很傻的登陸自己的steam賬號)
loginanonymous
1
指定安裝文件夾DSTserver
force_install_dirDSTserver
1
安裝游戲
app_update343050validate
1
安裝成功后輸入quit或ctrl+c退出
3.創建饑荒默認文件夾
mkdir-p~/.klei/DoNotStarveTogether/Documents
cd.klei/DoNotStarveTogether/Documents/
1
2
然后去游戲界面獲取cluster_token和UserID,并填入adminlist.txt和cluster_token.txt文件中
UserID:
在這里插入圖片描述
cluster_token:
在這里插入圖片描述
在這里插入圖片描述
最后將獲得的2串值分別寫入2個文件里
echo你的UserID>adminlist.txt
echo你的Token>cluster_token.txt
1
2
3
4
接著配置服務器文件cluster.ini
可以修改服務器描述、服務器名稱、服務器密碼
vimcluster.ini
1
·
[GAMEPLAY]
max_players=6
pvp=false
game_mode=endless
pause_when_empty=true
vote_kick_enabled=true
[NETWORK]
cluster_description=服務器描述
cluster_name=服務器名稱
cluster_password=服務器密碼
cluster_intention=cooperative
[MISC]
max_snapshots=6
console_enabled=true
[SHARD]
shard_enabled=true
bind_ip=127.0.0.1
master_ip=127.0.0.1
master_port=10889
cluster_key=supersecretkey
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
再創建地表文件Master
mkdirMaster
cdMaster
1
2
創建server.ini和worldgenoverride.lua
vimserver.ini
1
·
[NETWORK]
server_port=11000
[SHARD]
is_master=true
[STEAM]
master_server_port=27018
authentication_port=8768
[ACCOUNT]
encode_user_path=true
1
2
3
4
5
6
7
8
9
10
11
12
和
vimworldgenoverride.lua
1
·
return{
override_enabled=true,
preset="SURVIVAL_TOGETHER",
}
1
2
3
4
同理,在Documents下配置地下世界Caves,這里直接復制命令
cd..
cp–rMasterCaves
1
2
但是其中的內容并不一樣,需要自己修改,建議用vim的清空命令dG
vimserver.ini
1
·
[NETWORK]
server_port=11001
[SHARD]
is_master=false
name=Caves
id=1811570792
[STEAM]
master_server_port=27019
authentication_port=8769
[ACCOUNT]
encode_user_path=true
1
2
3
4
5
6
7
8
9
10
11
12
13
14
·
vimworldgenoverride.lua
1
·
return{
override_enabled=true,
preset="DST_CAVE",
misc={
world_size="huge"
}
}
1
2
3
4
5
6
7
進入主目錄,創建啟動腳本
cd~
1
·
vimstartDST.sh
1
·
#!/bin/bash
steamcmd_dir="$HOME/steamcmd"
install_dir="$HOME/DSTserver"
cluster_name="Documents"
cd"$install_dir/bin"
run_shared=(./dontstarve_dedicated_server_nullrenderer)
run_shared+=(-console)
run_shared+=(-cluster"$cluster_name")
run_shared+=(-monitor_parent_process$)
#如果你的主機只有1g內存,必須刪除&后面的caves的內容,因為帶不動地下世界
"${run_shared[@]}"-shardMaster|sed's/^/Master:/'&
"${run_shared[@]}"-shardCaves|sed's/^/Caves:/'
1
2
3
4
5
6
7
8
9
10
11
12
13
14
給腳本權限
chmod777startDST.sh
1
最后檢查一下環境
ldd~/DSTserver/bin/dontstarve_dedicated_server_nullrenderer
1
看看還有誰是notfound,如果沒有基本就可以正常開啟服務器了(下圖是失敗例)
在這里插入圖片描述
最后運行服務器,最好安裝個screen,方便查看內存和性能,如果你Linux不熟就算了…
screen-Sdst#開啟,需要退出可以ctrl+a+d
screen-rdst#恢復screen
1
2
啟動服務器
./startDST.sh
1
可以點擊此官方服務器鏈接查看服務器是否正常啟動
關閉的話ctrl+c或者接shutdown
我的aws因為沒有關閉服務器被扣cpu積分了,真的要玩的時候卡死
谷歌更慘,直接被人拿作dos攻擊被封禁…也許是饑荒服務器也是不干凈?
4.關于mod的安裝
需要
①修改安裝目錄下的dedicated_server_mods_setup.lua
②Master下的modoverrides.lua
(如開啟了地下世界則還有Caves下的,我沒有開啟)
①編輯游戲安裝目錄DSTserver下的dedicated_server_mods_setup.lua
mod寫入的格式是:(對于同一個mod來說一般要輸入2行)
ServerModSetup("mod代號,在steam的mod頁面可以查看")--用于安裝mod
ServerModCollectionSetup("mod代號")--用于更新mod
1
2
開始編輯mod文件!
vimDSTserver/mods/dedicated_server_mods_setup.lua