安装环境库
安装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