机智的狐狸菌

Linux下搭建七日杀官方服务器
0x00:前言这是一篇在Linux操作系统平台下安装与设置七日杀专属服务器的教程。博主在网上搜罗了一下,发现貌似木...
扫描右侧二维码阅读全文
21
2017/08

Linux下搭建七日杀官方服务器

0x00:前言

这是一篇在Linux操作系统平台下安装与设置七日杀专属服务器的教程。博主在网上搜罗了一下,发现貌似木有人写相关详细的教程,所以就随手写了一片教程。

 

需要准备的工具:

1.   一台安装了Linux系列系统的服务器。

2.   独立公网IP或者具有映射端口的路由器权限。

3.   SteamCMD安装教程

4.   Xshell(用于连接你的Linux服务器)

5.   WinSCP(用于上载需要文件)

0x01:通过SteamCMD下载七日杀Linux服务端

1.通过SSH连接进Linux系统(Xshell)

2.安装screen软件(这个软件可以使shell在后台继续执行进程)

RedHat/CentOS
yum install screen

Ubuntu/Debian
apt-get install screen

3.进入steamcmd的安装目录

 4.启动steamcmd

./steamcmd.sh

4.以个人账号登录steamcmd

由于steam官方文档中,不允许匿名登录进行下载七日杀服务端,所以我们必须以登录方式下载

login <账号> <密码>

5.设置服务端安装目录(/home/7_Days_to_Die_server/

force_install_dir /home/7_Days_to_Die_server/

 

6.开始下载服务端文件

app_update 294420 validate

下载大概会持续30分钟或者更多(具体时间根据每个人的下载速度而定)( ̄┰ ̄*)

所以在接下来时间就没你什么事情了啦(~ ̄▽ ̄)~。

 等到出现如图所示的 Success! App '294420' fully installed.之后就可以退出steamcmd了。

如果出现如图 Error! App '294420' state is 0x402 after update job. 则只需要再输入一次下载指令继续下载即可。

7.下载完成后,输入quit直接退出steamcmd

quit

----------我是分割线----------

以上就是安装服务端的正常(繁琐)步骤,当然有偷懒点的方法啦φ(゜▽゜*)♪

另外贴上一条指令,这条指令会让steamcmd自动完成下载(出现下载失败时自动重试)然后自动退出steamcmd。

./steamcmd.sh +login 用户名 +force_install_dir /home/7_Days_to_Die_server/ +app_update 294420 validate +quit

0x02:编译依赖库

由于七日杀使用的GLIBCXX和GLIBC库比较新,是有些Linux系统未附带依赖库,所以需要单独进行编译安装。

0x02_1:安装GLIBC_2.15

1.查看Linux支持的GLIBC包版本

strings /lib64/libc.so.6 |grep GLIBC  
#查看当前glibc版本

2.下载GLIBC_2.15源码包

cd /usr/src/  
wget http://mirror.bjtu.edu.cn/gnu/glibc/glibc-2.15.tar.gz  
wget http://mirror.bjtu.edu.cn/gnu/glibc/glibc-ports-2.15.tar.gz      #glibc插件

3.解压

tar zxvf glibc-2.15.tar.gz  
tar zxvf glibc-ports-2.15.tar.gz  
mv glibc-ports-2.15 glibc-2.15/ports  
mkdir build  
cd build

4.编译安装

../glibc-2.15/configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
make -j4
make install

5.验证是否安装成

strings /lib64/libc.so.6 |grep GLIBC

        0x02_2:安装GLIBCXX_3.4.15

1.查看linux现支持的GLIBCXX包版本

strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX

2.下载libstdc++包

cd /usr/src/
#进入src目录
wget http://ftp.de.debian.org/debian/pool/main/g/gcc-4.7/libstdc++6_4.7.2-5_i386.deb 
#32位Linux下载 
ar -x libstdc++6_4.7.2-5_i386.deb && tar xvf data.tar.gz
#32位Linux解包解压
wget http://ftp.de.debian.org/debian/pool/main/g/gcc-4.7/libstdc++6_4.7.2-5_amd64.deb 
#64位Linux下载
ar -x libstdc++6_4.7.2-5_amd64.deb && tar xvf data.tar.gz
#64位Linux解包解压

我们会发现其实在安装GCC时,libstdc++.so.6已经是存在的了,于是直接copy一份,创建软链就好了。

3.拷贝新的libstdc++.so.6文件,并创建软链

cd usr/lib/i380-linux-gun
cp cp libstdc++.so.6.0.17 /usr/lib
#复制新的libstdc++.so.6文件
cd /usr/lib
rm -f libstdc++.so.6
#删除原来的软链
ln -s libstdc++.so.6.0.17 libstdc++.so.6
#创建新的软链
###################32位Linux的操作###################
cd usr/lib/x86_64-linux-gnu/
cp libstdc++.so.6.0.17 /usr/lib64/
cd /usr/lib64/
#复制新的libstdc++.so.6文件
rm -f libstdc++.so.6
#删除原来的软链
ln -s libstdc++.so.6.0.17 libstdc++.so.6
#创建新的软链
###################64位Linux的操作###################
ll libstdc*
#检查软链情况

4.检查安装是否成功

strings /usr/lib/libstdc++.so.6 | grep GLIBCXX       #32位Linux查看方式
strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX     #64位Linux查看方式

检查发现GLIBCXX_3.4.15已经安装成!

详细图文教程跳转:点我点我点我(p≧w≦q)!

0x03:修改serverconfig.xml个性化服务器

经过以上的过程,你的七日杀Linux服务器已经基本搭建完成了(可以直接运行了)!

接下来修改serverconfig.xml个性化修改自己的服务器!

serverconfig.xml在七日杀服务端的根目录下,使用vim打开编辑。

cd /home/7_Days_to_Die_server/
#进入七日杀服务端根目录o(* ̄▽ ̄*)o 
#安装目录不是绝对的,每个人安装路径可能不一样
#如果全程跟我步骤,则这个目录的妥妥的一样!o(* ̄▽ ̄*)o
vi serverconfig.xml
#按insert键或I键进入编辑模式

1.首先是服务器名、服务器端口以及服务器密码等:

<property name="ServerPort"               value="26900"/> #默认26900
<property name="ServerName"               value="服务器名"/>
<property name="ServerPassword"           value="服务器登入密码"/>
<property name="ServerMaxPlayerCount"      value="8"/> #最大玩家数 默认8
<property name="ServerDescription"        value="服务器描述"/>
<property name="GameWorld"                value="Navezgane"/> #服务器世界名默认Navezgane
<property name="GameName"                 value="My Game"/> #存档名字
<property name="GameDifficulty"           value="2"/> #游戏难度
<property name="GameMode"                  value="GameModeSurvivalMP"/> #游戏模式,默认GameModeSurvivalMP
<property name="ZombiesRun"                value="0"/> #僵尸行走,默认值0,白天走晚上跑 1为不跑 2为一直跑
<property name="DayNightLength"            value="60"/> #游戏内一天在现实世界(三次元)时长(单位分钟min)
<property name="DayLightLength"            value="18"/> #游戏内白天的时间(单位小时h)
<property name="PlayerKillingMode"	    value="1"/> #玩家之间能造成的伤害,默认1.敌人0.无2.非同盟3.所有人
<property name="DropOnDeath"                value="2"/> #玩家死亡掉落,默认0.全部 1.工具栏 2.背包 3.删除所有东西
<property name="MaxSpawnedZombies"          value="60"/> #服务器最大僵尸生成量
<property name="MaxSpawnedAnimals"          value="50"/> #服务器最大生物生成量
<property name="AirDropFrequency"           value="72"/> #空投循环生成时间(单位分钟min)
<property name="AirDropMarker"              value="true"/> #是否空投 默认true

2.玩家安全区相关

<property name="PlayerSafeZoneLevel"        value="5" /> #当玩家等级或玩家人数小于一定值时为玩家创建的安全区大小
<property name="PlayerSafeZoneHours"        value="5" /> #安全区时间(单位小时h)

3.其次是EAC设置,设置是否开启EAC(注:开启EAC有些打了中文补丁的玩家会因为文件验证不过关而进不来服务器)

<property name="EACEnabled"                 value="false"/> #默认true,建议false

4.服主管理相关

#网页控制台相关
<property name="ControlPanelEnabled"        value="true"/> #是否开启网页控制台
<property name="ControlPanelPort"           value="8080"/> #网页控制台端口
<property name="ControlPanelPassword"       value="mdzz"/> #网页控制台密码
#Telnet控制相关
<property name="TelnetEnabled"              value="true"/> #是否开启Telnet
<property name="TelnetPort"                 value="8081"/> #Telnet端口
<property name="TelnetPassword"             value="mdzz"/> #Telnet密码
#管理员档案
<property name="AdminFileName"              value="serveradmin.xml"/> #管理员steam相关信息

保存serverconfig.xml文件

#按ctrl + C退出编辑模式
:wq

到这里服务器已经配置完成,已经能让你的小伙伴加入服务器啦!(*^▽^*)

另外,不会使用或对Linux编辑器VIM不过的小伙伴可以通过WinSCP软件连接服务器,双击打开serverconfig.xml通过windows记事本编辑(#^.^#)。

注:

默认的玩家存档位置(使用root启动服务端)在/root/.local/share/7DaysToDie/

非root启动服务端则在/启动服务端用户目录/.local/share/7DaysToDie/

0x04:正式启动服务器

1.创建一个screen(防止在ssh断开连接后服务端停止工作)

screen -S 7DayServer

2.启动服务器

./startserver.sh -configfile=serverconfig.xml

3.按住Ctrl + A +D 将screen加入后台运行

0x05:管理员指令,权限相关

管理员连接进服务器telnet或网页管理页面后,输入help就会弹出服务器管理的相关指令

这里列出了部分管理指令,其他的指令大家自己去摸索(*^▽^*)

debugmenu dm                     => 打开/关闭debug模式 (参数=on|off)
mem                              => 显示内存信息和调用碎皮回收机制
admin add [玩家名] [权限等级]     => 设置玩家管理权限组(注:最高权限等级为0)
admin remove [玩家名]            => 去掉玩家的管理权限
admin update [玩家名] [权限等级]  =>提升玩家的管理权限组
say [信息]                       => 以server的名义广播一条信息
kick [玩家名] [原因]              => 踢出玩家[并说明原因]
ban [玩家名] [时间]               => 禁止玩家登陆服务器一段时间(minutes, hours, days, weeks, months, years)
shutdown                         => 关闭服务器
spawnairdrop                     => 刷一次空投
spawnsupplycrate                 => 给玩家刷一个补给箱
listplayers lp                   => 获取在线玩家信息
kill [id/name]                   => 杀死指定玩家
give [id/name] [物品] [数量]      => 给玩家刷某样东西
unban [Steam64位Id]              => 解锁玩家
cp [指令] [权限组ID]              => 给某个权限组加入使用某个指令的权限

注:在服务器控制台添加自己为最高权限后,其他的操作可以在游戏内完成!

admin add [玩家名或Steam64位Id] 0 => 设置某人位服务器最高管理员(0权限组位最高权限组)

随后在游戏内按~进入控制台

输入dm显示debugmenu on之后就启动了调试模式了。

退出控制台,按G进入上帝模式,按H进入飞行模式。

进入控制台,输入cm打开创造模式(再输入一次关闭)。

退出控制台,按U就可以打开物品栏了。

0x06:参考文档

7_Days_to_Die_Dedicated_Server: https://developer.valvesoftware.com/wiki/7_Days_to_Die_Dedicated_Server

七日杀管理员相关指令(贴吧):https://tieba.baidu.com/p/3515124503

安装GLIBCXX_3.4.15:   https://www.aliyun.com/zixun/content/2_6_518744.html

安装GLIBC_2.15:   http://blog.csdn.net/hnhuangyiyang/article/details/50392997

Last modification:October 9th, 2018 at 09:44 pm
If you think my article is useful to you, please feel free to appreciate

5 comments

  1. 虹弈

    狐狸菌拿的啥服务器开的啊?我阿里云的学生轻量服务器1核2g开启之后,客户端加入游戏一直显示"Server is still initializing,please try again in a minute",谷歌了两天发现可能是Xeon服务器不带显卡的原因?
    在日志输出里一共有五句警告
    WARNING: Shader Unsupported: 'Standard (Roughness setup)' - Pass 'FORWARD' has no vertex shader
    WARNING: Shader Unsupported: 'Standard (Roughness setup)' - Pass 'FORWARD_DELTA' has no vertex shader
    WARNING: Shader Unsupported: 'Standard (Roughness setup)' - Pass 'ShadowCaster' has no vertex shader

    WRN Setting global culture failed!

    WRN Loaded world file from different version: 'Alpha 17 (b172)'

    1. 机智的狐狸菌
      @虹弈

      emmmm...试试进服务器WEB管理界面查看实时log
      因为我也是用的学生机做的教程|´・ω・)ノ

      1. 虹弈
        @机智的狐狸菌

        阿里嘎多,我去试试

  2. 邓先森

    之前就在找,你也玩这个吗

  3. Sea

    那你很强哦

Leave a Comment