前期准备

安装vim或者nano编辑器

apt install vim nano -y || yum install vim nano -y

如果你不想使用vim或者nano编辑器进行配置文件的修改你可以使用你ssh连接软件对文件进行直接编辑(例如xterminal或者finalshell)

创建steam用户

不推荐使用root用户运行游戏服务端所以你需要创建一个steam用户,对于所有steam的游戏都可以用这个用户执行。

sudo useradd -m steam
passwd steam #为steam用户创建密码(可选)
apt-get install lib32gcc-s1 -y || yum install glibc.i686 libstdc++.i686 -y #安装需要的软件包依赖

安装steamcmd

虽然说ubuntu等发行版有steamcmd的软件包,但还是建议直接在官网下载安装包。

su - steam
mkdir steamcmd && cd steamcmd
curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -
#如果提示找不到curl则
wget -qO- https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz | tar -xzvf -

匿名模式登录安装unturned

./steamcmd.sh +force_install_dir ~/U3DS +login anonymous +app_update 1110390 validate +quit

显示Success! App '1110390' fully installed. 后则安装成功。

启动unturned

修改配置文件

cd ~/U3DS
vim ExampleServer.sh #这里选择你想要的编辑方式vim、nano、ssh软件编辑都可以

修改最后一行./ServerHelper.sh +LanServer/Example改为./ServerHelper.sh +InternetServer/Myserver 保存退出。

输入指令./ExampleServer.sh等待出现Loading level: 100%后输入shutdown退出。此时游戏根目录下的Server目录内会出现Myserver目录,我们服务器配置、mod、资源等都放在该目录下。

该目录的结构如下

.
└── Myserver
    ├── Bundles
    ├── Config.json #游戏配置
    ├── Level
    │   └── PEI
    │       ├── Barricades.dat
    │       ├── Groups.dat
    │       ├── Lighting.dat
    │       ├── Objects.dat
    │       ├── Structures.dat
    │       └── Vehicles.dat
    ├── Maps
    ├── Server
    │   ├── Adminlist.dat
    │   ├── Blacklist.dat
    │   ├── Commands.dat #服务器启动时执行命令配置
    │   └── Whitelist.dat
    ├── Workshop
    │   ├── Content
    │   ├── Maps
    │   └── Steam
    └── WorkshopDownloadConfig.json #创意工坊mod配置文件

我们首先修改Myserver/Server路径下的Commands.dat文件

vim Servers/Myserver/Server/Commands.dat

这里提供一个示例

Name #服务器名字
password #密码,如果不想设置就不填写
Map PEI #服务器地图一般默认是PEI
Maxplayers 5 #最大玩家数
Mode Normal #游戏难度(对应config.json的配置)
PVE #是PVP还是PVE
Port 25444 #监听端口
Cheats on #是否开启作弊
Perspective both #人称视角设置both是第一、第三人称都允许
Loadout 255/8 #设置出生时候给予玩家的物品id
Welcome 欢迎加入xxx服务器 #玩家进入服务器就好显示的欢迎标语

需要注意的是假如你开启了防火墙或者服务提供商的安全组除了需要放行25444的监听端口还需要放行25444+1=25445端口,同理类推

获取GLST令牌

我们需要在https://steamcommunity.com/dev/managegameservers获取,没有令牌我们的服务器无法在游戏服务器浏览器中显示。

创建后我们复制游戏令牌,添加到之前修改的Commands.dat文件中

Name #服务器名字
password #密码,如果不想设置就不填写
Map PEI #服务器地图一般默认是PEI
Maxplayers 5 #最大玩家数
Mode Normal #游戏难度(对应config.json的配置)
PVE #是PVP还是PVE
Port 25444 #监听端口
Cheats on #是否开启作弊
Perspective both #人称视角设置both是第一、第三人称都允许
Loadout 255/8 #设置出生时候给予玩家的物品id
Welcome 欢迎加入xxx服务器 #玩家进入服务器就好显示的欢迎标语
GSLT #你的登录令牌

安装screen

为了在我们断开ssh连接后继续保持游戏运行,我们需要安装screen。

cd ~/U3DS
apt install screen -y || yum install screen -y
screen -S un #创建unturned游戏终端不一定是un可任意输入
./ExampleServer.sh

等待服务器成功启动后,输入快捷键ctrl+a+d可以退出screen终端。如果需要进入终端输入screen -r <你输入的终端名称>即可。

进入服务器

打开游戏找到直连填写好ip地址和对应的端口即可加入服务器

关于Rocket插件

游戏服务端自带插件只需输入

cp -r ~/U3DS/Extras/Rocket.Unturned/ ~/U3DS/Modules/

在重启游戏服务端后插件就会自动加载,Myserver文件夹中多出一个Rocket文件夹,需要安装游戏插件就存放当里面这里不过多赘述。

如何安装创意工坊文件

我们需要编辑~/U3DS/Servers/Myserver目录下的WorkshopDownloadConfig.json文件,然后重启服务器加载

{
  "File_IDs": [
    3326221053
  ], #这里面填写创意工坊文件的id用逗号隔开
  "Ignore_Children_File_IDs": [],
  "Query_Cache_Max_Age_Seconds": 600,
  "Max_Query_Retries": 2,
  "Use_Cached_Downloads": true,
  "Should_Monitor_Updates": true,
  "Shutdown_Update_Detected_Timer": 600,
  "Shutdown_Update_Detected_Message": "Workshop file update detected, shutdown in: {0}",
  "Shutdown_Kick_Message": "Shutdown for Workshop file update."
}

例如https://steamcommunity.com/sharedfiles/filedetails/?id=3326221053&searchtext=%E5%B0%8F%E9%B8%9F,id=后面的数字即为创意工坊文件id

关于config.json配置可以查看这篇文章

https://blog.amaryo.cc/archives/untrunedwei-zhuan-bian-zhe-pei-zhi-wen-jian-miao-shu