侧边栏壁纸
博主头像
TLYAN

只要芝麻,不要西瓜.............纯大神之作
古人有雲:吃得苦中苦方為人上人

  • 累计撰写 113 篇文章
  • 累计收到 5 条评论
怎么搭建自己的七日杀服务器?
10个月前 699阅读 0评论 0点赞

本人最喜欢的坐标:

  A20.7版本     trader_bob (1008E 1343S)  传送坐标第10页 商人第一个

  A21-B324版本 1175E 1348S  army_barracks_01(1007E 1339S) 传送坐标第一页第三列第六个

   此游戏作者搭建了服务器,可以一起玩

一、环境配置

  1. 安装screen

    安装screen,后面开服时会用到。使用screen可以让服务器进程在后台运行,而不会因为远程连接的断开而停止进程。

# RedHat/CentOS
    yum install -y screen
# Ubuntu/Debian
    apt install screen

  2.安装SteamCmd运行所需环境

# 这些操作要在root中进行,根据你的系统选择不同指令。
# Ubuntu/Debian 64位
      sudo apt -y install lib32gcc1
# RedHat/CentOS 32位
      sudo yum -y install glibc libstdc++
# RedHat/CentOS 64位
      sudo yum -y install glibc.i686 libstdc++.i686


二、单独建立用户名(此功能可以不用)

1.创建一个用户

  不建议使用root系统进行后面的操作,这里我们为steam创建一个专门的用户。

useradd -m steam  # 新建一个名为steam的用户
passwd steam   # 为用户steam设置密码
su - steam    # 切换至新建的steam用户。改成root,可以切换回root用户

2.修改用户终端配色。

CentOS7的终端和指令颜色一样,大端的代码中难以区分。修改一下用户终端的配色,可以大大的提高整个shell页面的可读性,方便你更快的找到每段代码的开头。

修改前后如下图所示:

输入以下指令修改终端配色。

# 临时修改配色
     PS1="\[\e[32;1m\][\[\e[32;1m\]\u\[\e[32;1m\]@\h \[\e[34;1m\]\W\[\e[0m\]]\\$ "
     # 永久修改vi配色   vi ~/.bashrc    #编辑.bashrc文件

加入这一行

PS1="\[\e[32;1m\][\[\e[32;1m\]\u\[\e[32;1m\]@\h \[\e[34;1m\]\W\[\e[0m\]]\\$ "

保存退出。

source ~/.bashrc  # 重新加载bash配置


steamCMD与七日杀服务器端

  三、开始安装

①下载并安装SteamCMD(用户这里可以跳过

       确定你当前在你新建的steam用户中,如果不是,请使用su - steam切换用户。目前版本steamcmd必须直接解压在 ~ 目录下,否则会报错。

# 这些操作要在刚才创建的steam用户中进行,请不要使用root用户!
#cd至~目录cd ~# 
     下载Linux系统专用的SteamCMD   
         wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz 
           (如果报错:yum -y install wget)
# 解压
    tar -zxf steamcmd_linux.tar.gz

②先建立目录放置

mkdir  /7DaysToDieServer                 #创建目录(设置服务端安装目录)

③运行SteamCmd

# 运行steamcmd
     ./steamcmd.sh

   如果操作③报错:

        ./steamcmd.sh: /root/linux32/steamcmd: /lib/ld-linux.so.2: bad ELF interpreter: 没有那个文件或目录

     处理方案:

# 这些操作要在root中进行,根据你的系统选择不同指令。
# Ubuntu/Debian 64位
      sudo apt -y install lib32gcc1
# RedHat/CentOS 32位
      sudo yum -y install glibc libstdc++
# RedHat/CentOS 64位
      sudo yum -y install glibc.i686 libstdc++.i686

④然后在运行:

# 运行steamcmd
      ./steamcmd.sh


image.png

 首次运行steamcmd,他会自己下载更新自己。等出现steam>时,就可以对steamcmd进行操作啦。

⑤登录steam账号

你可以使用steam账号登录,或匿名登录login anonymous。但是七日杀必须要steam登录才可以下载服务端。

login <用户名> <密码># 如果设置了安全令牌,会让你输入一次安全令牌

⑥.下载七日杀服务端

force_install_dir   /7DaysToDieServer   # 设置服务端安装目录
app_update 294420 validate    # 下载七日杀服务端,294420是七日杀的编号#

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

quit   #退出SteamCmd

⑦.配置服务端

# 进入七日杀服务端根目录
cd /7DaysToDieServer
# 编辑配置文件
vi serverconfig.xml

下面翻译了部分参数。

<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"/> <!-- 游戏难度 默认难度是2 -->
<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"/> <!-- 玩家之间能造成的伤害,0.禁止杀戮 1.只能杀死盟友 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 -->
<property name="EACEnabled"                 value="false"/> <!-- #反作弊,默认true,开启可以防止玩家作弊,同时也会使部分mod不可使用。 --><property name="TelnetEnabled"              value="true"/> <!-- 是否开启Telnet -->
<property name="TelnetPort"                 value="8081"/> <!-- Telnet端口 -->
<property name="TelnetPassword"             value="mdzz"/> <!-- #Telnet密码 -->

⑧.配置防火墙

还需要在防火墙放行以下端口,才可让服务器正常运转。


端口协议说明
8080TCPWeb控制台
8081TCPTelnet端口(这个建议不要放行)
8082TCP如果安装了Alloc的mods,这个端口可以展示地图
26900/26902UDP客户端通讯

firewall-cmd --zone=public --add-port=8080/tcp --permanent      #开启端口8080


firewall-cmd --zone=public --add-port=8081/tcp --permanent      #开启端口8081

firewall-cmd --zone=public --add-port=8082/tcp --permanent      #开启端口8082

firewall-cmd --zone=public --add-port=26900/udp --permanent   #开启端口26900

firewall-cmd --zone=public --add-port=26902/udp --permanent    #开启端口26902

firewall-cmd --reload   # 配置立即生效


Telnet建议不要放行,直接在服务器中使用telnet localhost 8081即可登录telnet。

如果一定要用远程telnet连接,请务必在serverconfig.xml中设置好TelnetPassword后,再放行端口。该行为有很大的风险

⑨.启动服务器

    创建一个名为7DayServer的screen,可以让服务器在后台运行,断开远程连接也不终止进程。

screen -S 7DaysServer

    启动服务器

进到目录启动,你安装在哪就在那启动比如我们是:cd /www/7DaysToDieServer(教程是:cd /7DaysToDieServer)
./startserver.sh -configfile=serverconfig.xml

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

当你需要回到这个sreen页面时,使用如下指令。

screen -ls   # 查看screen,记下7DaysServer的编号screen -r <7DaysServer的编号>



补充

1.几个重要路径和文件

路径

# 路径取决于你的设置的安装位置,如果完全按照本文操作,那么路径如下~/7DaysToDieServer   
# 七日杀服务端主目录~/7DaysToDieServer/Data/Worlds  
# 七日杀服务端地图目录~/.local/share/7DaysToDie/Saves    
# 七日杀服务端存档目录~/7DaysToDieServer/7DaysToDieServer_Data   
# 七日杀服务器日志输出目录~/7DaysToDieServer/Mods  # Mods目录,需要自己创建

文件

~/.local/share/7DaysToDie/Saves/serveradmin.xml  # 服务器配置文件
~/7DaysToDieServer/serverconfig.xml # 管理员配置文件

2.添加mod

想添加mod的同学看这里。

cd ~/7DaysToDieServer # cd至七日杀服务端主目录
mkdir Mods # 创建mods文件夹

服务器的mod和自己平时玩的mod基本通用,跟在自己游戏中装mod一样,将mod文件放入Mods文件夹中即可。

上传mods到服务器上的方法有很多,比如Xshell中可以使用lrzsz上传。

# 以下操作要在root用户中进行# Ubuntu/Debiansudo apt-get install lrzsz# RedHat/CentOSyum  install lrzsz

安装zip/unzip 用于解压mod压缩包

# Ubuntu/Debianapt-get install zip# RedHat/CentOSyum install zip unzip

上传mod文件,并解压。

# 使用su - steam,回到steam用户中继续操作cd ~/7DaysToDieServerrz #直接将mod的压缩包上传文件至linuxunzip <压缩包名>  # 一般mod压缩包内自带Mods文件夹,直接解压即可# 如果解压后路径不对,可以使用mv指令移动至Mods文件下

3.管理服务器

在服务器中安装telnet。(也可以用Xshell的远程telnet连接,这里不做赘述)

# RedHat/CentOSrpm -qa telnet    # 检测telnet的rpm包是否安装 
  yum install telnet    # 若未安装,则安装telnet
# Ubuntu/Debiannetstat -a | grep telnet    
# 检测telnet的rpm包是否安装 
sudo apt-get install xinetd telnetd # 若未安装,则安装telnet
telnet localhost 8081   #登录服务器telnet

管理员指令

admin add <玩家名> <权限级别> # 给予玩家管理权限(最高级别为0)admin remove <玩家名>   
# 移除玩家的管理权限admin update <玩家名> <权限等级>    #提高管理权限级别#建议先在telnet用上述指令给自己管理权限#然后就可以直接在游戏中,按F1使用下面的指令了dm  #打开或关闭debug模式ban <玩家名> <时间>   # 禁止玩家登陆服务器一段时间(minutes, hours, days, weeks, months, years)kill <id/name>  # 杀死指定玩家listplayers lp    # 获取在线玩家信息give <id/name> <物品> <数量>    # 给玩家刷某样东西shutdown # 关闭服务器say <信息> # 以server的名义广播一条信息

参考:

Steam Developer Community : SteamCMD

Installing Linux dedicated server for 7 days to die


版权所有:《小唐博客-唐联艳-我可以告诉你》 => 《怎么搭建自己的七日杀服务器?
本文地址:https://www.tlyan.com/post-96.html
除非注明,文章均为 《小唐博客-唐联艳-我可以告诉你》 原创,欢迎转载!转载请注明本文地址,谢谢。

分享本文至:

扫描二维码,在手机上阅读

评论

取消