前言
想和小伙伴们一起快乐的玩七日杀,但是受限于电脑配置和下班时间。所以想要搭建一台服务器扔家里,方便大家在下班以后上线玩耍。于是我选择了在虚拟机上安装CentOS7进行游戏部署。方便以后购买硬件服务后进行系统迁移。
参考网站
7day to die server官方网址
SteamCMD_English
SteamCMD_中文
Steam应用ID号码查询数据库
安装服务器应用程序
创建用户
创建一个名为 steam 的用户帐户以安全地运行 SteamCMD,并将其与操作系统的其余部分隔离。以 root 用户身份登录时请勿运行 steamcmd——这样做会带来安全风险。
- 以 root 用户身份创建 steam 用户:
useradd -m steam
- 修改steam密码:
passwd steam
- 进入其主文件夹:
cd /home/steam
安装SteamCMD
推荐使用软件仓库安装,详情请访问SteamCMD_English和SteamCMD_中文。提供两个链接的原因是中文版内部分下载链接不好用,需要更改到英文版使用英文版内的链接。
在我安装时CentOS7仓库内没有找到SteamCMD,所以直接上手动安装方式:
- 首先安装依赖
yum install glibc.i686 libstdc++.i686
- 安装tmux和screen,可选可都装
sudo apt-get install tmux screen -y;
- 切换用户
从root用户切换到steam
su - steam
从其他用户切换到steam
sudo -iu steam
- 创建Steam文件夹并进入文件夹
mkdir ~/Steam && cd ~/Steam
- 下载并解压SteamCMD
curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -
运行SteamCMD
手动安装启动方式:
cd ~/Steam
./steamcmd.sh
登录SteamCMD
安装七日杀服务器不需要登录,直接匿名登录就好
login anonymous
下载应用(服务器端软件)
- 运行并登录SteamCMD
- 设置应用安装路径
force_install_dir ./7Day_to_die/
- 下载应用程序(注:此id号为发文日期的版本id,最新ID需要去Steam应用ID号码查询数据库查询)
app_update 294420 validate
- 退出SteamCMD
exit
至此服务器应用下载安装完成
配置并启动七日杀服务器应用程序
修改配置文件
- 进入应用安装目录
cd ~/Steam/7Day_to_die
- 备份配置文件,然后编辑
cp serverconfig.xml serverconfig.xml.back
vi serverconfig.xml
文件内配置具体含义可以查看7day to die server官方网址 - 修改管理员文件
[root@localhost Saves]# vi ~/.local/share/7DaysToDie/Saves/serveradmin.xml
<adminTools><admins><user steamID="你的steamID" permission_level="0" /></admins>
</adminTools>
查询steamID的方式就是在浏览器中登录Steam,然后打开个人资料页。网页地址中的那串数字就是你的SteamID,你可以输入那个。
4. 游戏地图文件位置
.local/share/7DaysToDie/Saves/<你的游戏名称>
启动程序
- 启动服务器程序
./startserver.sh -configfile=serverconfig.xml
此过程时间稍微有点长,等到程序正式启动后会显示系统随机分配的AppID
[S_API FAIL] SteamAPI_Int() failed; SteamAPI_IsSteamRunning() failed.
Setting bteakpad minidump AppID = 251570
- 关闭程序
Ctrl + C
使用tmux实现后台启动应用程序
- 新建一个名字为7day的tmux会话
tmux new -s 7day
- 在当前窗口启动服务程序,然后退出当前会话
Ctrl + B然后单独按D
此时再关闭当前ssh链接程序也不会停止 - 回到程序运行的会话中
tmux attach -t 7day
更多tmux知识请百度
注意事项
- 不要使用
./7DaysToDieServer.x86_64 -configfile=serverconfig.xml
命令启动程序,这个程序是启动程序的一部分,用此方式启动后客户端链接时会提示:服务仍再初始化,请稍后重试