安裝環境庫
安裝steam
手動建立遊戲(饑荒)資料夾
配置遊戲設定檔案,伺服器可以運行了!
配置mod檔案
1.先安裝環境庫
centos:
yum install glibc.i686 libstdc++.i686 libcurl.i686 –y
1
ubuntu/Debian:
sudo apt-get install libstdc++6:i386 libgcc1:i386 libcurl4-gnutls-dev:i386 lib32gcc1
大機率會成功,如果失敗的話,可以參考下方官方給出的解決方法,注意自己的os位數:
sudo dpkg --add-architecture i386 # If running a 64bit OS
sudo apt-get update
sudo apt-get install lib32gcc1 # If running a 64bit OS
sudo apt-get install lib32stdc++6 # If running a 64bit OS
sudo apt-get install libgcc1 # If running a 32bit OS
sudo apt-get install libcurl4-gnutls-dev:i386
2
3
4
5
6
補充:
在安裝 sudo apt-get install libcurl4-gnutls-dev:i386時候
可能會出現Unable to locate package libcurl4-gnutls-dev ,應該是配置源未被掃描
解決方案:
sudo dpkg --add-architecture i386
後,再次執行安裝
2.下載/安裝steamcad
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -zxvf steamcmd_linux.tar.gz
希望增加一個user的可以自己useradd steam,反正我是無所謂…
執行steamcad
./steamcmd.sh
可能出現 不存在目錄/root/linux32/steamcmd: No such file or directory
steamcmd: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
原因是steam為32位,建議更新apt-get後安裝32位的依賴:
apt-get update
sudo apt-get install lib32stdc++6
apt-get install lib32gcc1
可進入steam命令模式
>steam
匿名登陸(不需要很傻的登陸自己的steam賬號)
login anonymous
指定安裝資料夾 DSTserver
force_install_dir DSTserver
安裝遊戲
app_update 343050 validate
安裝成功後輸入quit 或 ctrl + c退出
3.建立饑荒預設資料夾
mkdir -p ~/.klei/DoNotStarveTogether/Documents
cd .klei/DoNotStarveTogether/Documents/
然後去遊戲介面獲取cluster_token 和 UserID,並填入adminlist.txt和cluster_token.txt 檔案中
UserID:
在這裡插入圖片描述
cluster_token:
最後將獲得的2串值分別寫入2個檔案裡
echo 你的UserID > adminlist.txt
echo 你的Token > cluster_token.txt
接著配置伺服器檔案cluster.ini
可以修改伺服器描述、伺服器名稱、伺服器密碼
vim cluster.ini
·
[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
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
再建立地表檔案Master
mkdir Master
cd Master
建立server.ini和worldgenoverride.lua
vim server.ini
server_port = 11000
is_master = true
[STEAM]
master_server_port = 27018
authentication_port = 8768
[ACCOUNT]
encode_user_path = true
和
vim worldgenoverride.lua
return {
override_enabled = true,
preset = "SURVIVAL_TOGETHER",
}
同理,在Documents下配置地下世界Caves,這裡直接複製命令
cd ..
cp –r Master Caves
但是其中的內容並不一樣,需要自己修改,建議用vim的清空命令dG
server_port = 11001
is_master = false
name = Caves
id = 1811570792
master_server_port = 27019
authentication_port = 8769
preset = "DST_CAVE",
misc = {
world_size = "huge"
進入主目錄,建立啟動指令碼
cd ~
vim startDST.sh
#!/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 $$)
"${run_shared[@]}" -shard Master | sed "s/^/Master: /" &
"${run_shared[@]}" -shard Caves | sed "s/^/Caves: /"
給指令碼許可權
chmod 777 startDST.sh
最後檢查一下環境
ldd ~/DSTserver/bin/dontstarve_dedicated_server_nullrenderer
看看還有誰是not found,如果沒有基本就可以正常開啟伺服器了(下圖是失敗例)
最後執行伺服器,最好安裝個screen,方便檢視記憶體和效能,如果你Linux不熟就算了…
screen -S dst #開啟,需要退出可以ctrl + a + d
screen -r dst #恢復screen
啟動伺服器
./startDST.sh
關閉的話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
開始編輯mod檔案!
vim DSTserver/mods/dedicated_server_mods_setup.lua
安裝環境庫
安裝steam
手動建立遊戲(饑荒)資料夾
配置遊戲設定檔案,伺服器可以運行了!
配置mod檔案
1.先安裝環境庫
centos:
yum install glibc.i686 libstdc++.i686 libcurl.i686 –y
1
ubuntu/Debian:
sudo apt-get install libstdc++6:i386 libgcc1:i386 libcurl4-gnutls-dev:i386 lib32gcc1
1
大機率會成功,如果失敗的話,可以參考下方官方給出的解決方法,注意自己的os位數:
sudo dpkg --add-architecture i386 # If running a 64bit OS
sudo apt-get update
sudo apt-get install lib32gcc1 # If running a 64bit OS
sudo apt-get install lib32stdc++6 # If running a 64bit OS
sudo apt-get install libgcc1 # If running a 32bit OS
sudo apt-get install libcurl4-gnutls-dev:i386
1
2
3
4
5
6
補充:
在安裝 sudo apt-get install libcurl4-gnutls-dev:i386時候
可能會出現Unable to locate package libcurl4-gnutls-dev ,應該是配置源未被掃描
解決方案:
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libcurl4-gnutls-dev:i386
1
2
3
後,再次執行安裝
sudo apt-get install libcurl4-gnutls-dev:i386
1
2.下載/安裝steamcad
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -zxvf steamcmd_linux.tar.gz
1
2
希望增加一個user的可以自己useradd steam,反正我是無所謂…
執行steamcad
./steamcmd.sh
1
可能出現 不存在目錄/root/linux32/steamcmd: No such file or directory
steamcmd: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
1
原因是steam為32位,建議更新apt-get後安裝32位的依賴:
apt-get update
sudo apt-get install lib32stdc++6
apt-get install lib32gcc1
1
2
3
可進入steam命令模式
>steam
1
匿名登陸(不需要很傻的登陸自己的steam賬號)
login anonymous
1
指定安裝資料夾 DSTserver
force_install_dir DSTserver
1
安裝遊戲
app_update 343050 validate
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
可以修改伺服器描述、伺服器名稱、伺服器密碼
vim cluster.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
mkdir Master
cd Master
1
2
建立server.ini和worldgenoverride.lua
vim server.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
和
vim worldgenoverride.lua
1
·
return {
override_enabled = true,
preset = "SURVIVAL_TOGETHER",
}
1
2
3
4
同理,在Documents下配置地下世界Caves,這裡直接複製命令
cd ..
cp –r Master Caves
1
2
但是其中的內容並不一樣,需要自己修改,建議用vim的清空命令dG
vim server.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
·
vim worldgenoverride.lua
1
·
return {
override_enabled = true,
preset = "DST_CAVE",
misc = {
world_size = "huge"
}
}
1
2
3
4
5
6
7
進入主目錄,建立啟動指令碼
cd ~
1
·
vim startDST.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 $$)
"${run_shared[@]}" -shard Master | sed "s/^/Master: /" &
"${run_shared[@]}" -shard Caves | sed "s/^/Caves: /"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
給指令碼許可權
chmod 777 startDST.sh
1
最後檢查一下環境
ldd ~/DSTserver/bin/dontstarve_dedicated_server_nullrenderer
1
看看還有誰是not found,如果沒有基本就可以正常開啟伺服器了(下圖是失敗例)
在這裡插入圖片描述
最後執行伺服器,最好安裝個screen,方便檢視記憶體和效能,如果你Linux不熟就算了…
screen -S dst #開啟,需要退出可以ctrl + a + d
screen -r dst #恢復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檔案!
vim DSTserver/mods/dedicated_server_mods_setup.lua