Linux下快速搭建七日杀官方私人服务器教程

news2024/11/16 1:26:52

今天给大家分享一下七日杀的个人开服教程,本教程基于Linux系统开发,推荐有一定基础的小伙伴尝试!如果你没有Linux的基础但实在想开的小伙伴可以根据以下教程一步步进行操作,后续这边也会上架对应视频操作

  • 架设前准备:
  1. 带公网IP的弹性云服务器或者有公网IP的轻量云服务器等等
  2. 服务器系统镜像OS:Ubuntu 20 X64位系统
  3. 下载SteamCMD
  4. 如果使用弹性云服务器推荐配置至少为2核4G以上!
  5. 正版STEAM的七日杀游戏
  6. 如果懒得设置用户,可直接SU/SUDO启用超级管理员进行所有操作(不推荐)

  • 开始架设服务器
    • 基础配置Linux服务器:

配置管理员密码:sudo passwd

    • 下载steamCMD:

进入超级用户模式输入:su

sudo apt install steamcmd

(若出现错误无法找到包steamcmd请更新如下代码:)

首先,需要添加multiverse到我的/etc/apt/sources.list:

deb http://archive.ubuntu.com/ubuntu xenial main universe multiverse

deb http://archive.ubuntu.com/ubuntu xenial-updates main universe multiverse

deb http://archive.ubuntu.com/ubuntu xenial-security main universe multiverse

之后,添加i386体系结构:

sudo dpkg --add-architecture i386

最后apt-get update就可以安装它了

sudo apt-get install steamcmd

    • 开始配置七日杀服务器:

更新代码:steamcmd

登录匿名用户:Steam>login anonymous(推荐如果不成功尝试steam用户登录)

steam用户登录:login <账号> <密码>

# 如果设置了安全令牌,会让你输入一次安全令牌Code

(可选)force_install_dir ~/7DaysToDieServer # 设置服务端安装目录

下载七日杀服务器端代码:app_update 294420

退出SteamCmd模式:exit

切换到root根目录:cd~

查看隐藏目录:la

找到打开.steam文件夹输入如下代码:

cd .steam/

cd steamApps/

cd common/

cd 7DaysToDieServer #这里就是七日杀服务端的所有文件内容!

    • 配置七日杀服务器设置内容:

编辑七日杀服务器配置文件:

vim serverconfig.xml # 编辑配置文件

**按insert键或I键进入编辑模式**wq保存并退出!如果实在不会可以用nano或者其他编辑器!

以下是XML文件的部分翻译,可以根据自己的需要自行修改,推荐做好备份!注意:修改Value=之后的内容!

关于XML文件内容的官方WIKI百科内容:

<property name="ServerName   value="JonasLu/EN/CN/FR/Easy服务器名字"/>

<property name="ServerPort"               value="26900"/> #默认26900

<property name="ServerPassword"           value="服务器登入密码"/>

<property name="ServerWebsiteURL" value="www.jonaslu.com"/>服务器网址

<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

    • 配置防火墙及端口:

如果你发现开了服务器没有显示或者无法连接,你可能还需要配置防火墙和端口规则。云服务器请在相应平台的安全组页面添加出入站规则,如果没有特殊需要可以放通全部!并且关闭防火墙!(有一定风险,服务器内有重要资料不推荐!)

端口

协议

说明

8080

TCP

远程Web控制台(不需要可以不放通)

8081

TCP

Telnet端口(这个可以不放行,本地连接)

8082

TCP

服务器管理工具端口!

26900/26902

UDP

客户端端口!

按上表格放通端口

Telnet可以不放行,直接在服务器中使用telnet ip 8081即可登录telnet。

要用远程telnet连接,请在serverconfig.xml中设置好TelnetPassword后,再进行连接

    • 启动服务器:

在上述文件配好之后,在七日杀的服务端根目录下输入:

screen -S 7

#创建一个screen(防止在ssh断开连接后服务端自动关闭)如果没有可以下载!

下载安装screen:

# RedHat/CentOS

yum install -y screen

--------------------------

# Ubuntu/Debianapt

Apt install screen //我们这里选择这个代码

./startserver.sh -configfile=serverconfig.xml

#创建Screen之后,输入以上代码正式启动服务器!

服务器启动成功之后,按住Ctrl + A +D 将screen加入后台运行!这样就不会关闭服务器了。之后你就可以开始玩啦!

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

screen -ls # 查看screen,记下7的编号

screen -r 7 #查看记录为7的编号

    • 关闭服务器指令:

screen -r 7

Ctrl +C

#返回相应的screen之后Ctrl +C即可!

    • 文件路径说明:

# 路径取决于你自己的设置位置,大致路径如下

~/.../7DaysToDieServer # 七日杀服务端根目录

~/.../7DaysToDieServer/Data/Worlds # 七日杀服务端地图目录

~/.../.local/share/7DaysToDie/Saves # 七日杀服务端存档目录(重要)

~/.../7DaysToDieServer/7DaysToDieServer_Data # 七日杀服务器日志输出目录

~/.../7DaysToDieServer/Mods # Mods目录,需要自己创建

~/.../.local/share/7DaysToDie/Saves/serveradmin.xml

# 管理员配置文件

~/.../7DaysToDieServer/serverconfig.xml # 服务器配置文件

(重要)

    • 管理服务器:

在服务器中安装telnet。(也可以用Xshell或FTP的远程连接)

# Ubuntu/Debian系统

netstat -a | grep telnet # 检测telnet的rpm包是否安装

sudo apt-get install xinetd telnetd # 若未安装,则安装telnet

telnet 你的 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的名义广播一条信息

  • 服务器可能的环境配置:
    • 配置服务器的swap:

linux系统的swap空间类似windows系统的虚拟内存。如果你的云服务器内存小于4G,或者卡顿严重,那你就必须设置一个swap空间,否则启动服务器时会因为内存不足导致进程关闭而终止服务器。

使用swapon命令可以检查系统是否已经配置过swap,一般云服务器都没有提前设置swap。

以下所有的这些操作都在root中进行//su

swapon -s # 如果该命令没有返回出结果,则代表该系统尚未配置过swap。

df -h # 检查可用的存储空间

如果没有,按如下步骤创建Swap文件。一般建议swap大小设置为自己物理内存相同或两倍。我这里设置了8G。

# 这些操作要在root中进行。

sudo fallocate -l 8G /swapfile # 请根据自己情况修改swap大小

ls -lh /swapfile

sudo chmod 600 /swapfile # 更改swap文件的权限,否则会有很大的安全隐患

ls -lh /swapfile # 然后检查是否设置完成

启用swap文件

sudo mkswap /swapfile

sudo swapon /swapfile

# 确认一下设置是否已经生效

swapon -s

free -m

前面设置的swap会在重启后失效,通过修改fstab让配置永久生效。

sudo vim /etc/fstab

按 i 进入输入模式,在文件末尾加入下面这行内容。

/swapfile   swap    swap    sw  0   0

按esc退出输入模式,输入 :wq 保存退出。

swappiness参数决定了系统将数据从内存交换到swap空间的频率。该数值越接近于0,系统越倾向于不进行swap,最大限度使用物理内存。数值越接近100,越倾向于使用swap,而过多的使用swap可能导致服务器运行效率缓慢。ubuntu系统的默认推荐值是60,这里我为了保证服务器运行效率,建议设置为10。

cat /proc/sys/vm/swappiness # 查看当前的swappiness

sudo sysctl vm.swappiness=10 #修改swappiness为10

编辑sysctl配置文件,使其永久生效

sudo vim /etc/sysctl.conf

按 i 进入输入模式,将以下内容粘贴到文件末尾:

vm.swappiness = 10

按esc退出输入模式,输入 :wq 保存退出。

    • 检查安装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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2067497.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Redis篇三:在Ubuntu下安装Redis

文章目录 1. 安装Redis2. 更改Redis的IP3. 使用redis自带的客户端来连接服务器4. Redis的客户端介绍 1. 安装Redis sudo apt install redis2. 更改Redis的IP 刚安装的Redis的ip是一个本地环回的ip&#xff0c;也就是只能由当前主机上的客户端进行访问&#xff0c;跨主机就访问…

IO进程线程 0823作业

作业 创建子父进程&#xff0c;子进程将1.txt内容拷贝到2.txt中&#xff0c;父进程将3.txt内容拷贝到4.txt中。 #include <myhead.h> int main(int argc, const char *argv[]) {pid_t ID;ID fork();if(ID > 0){int fd1;fd1 open("./3.txt",O_RDONLY);if(…

js 键盘监听 组合键

今天分享如何快速实现js快捷键监听 所需环境&#xff1a; 浏览器js 实现目标 mac/win兼容&#xff0c;一套代码&#xff0c;多个平台支持快捷键监听/单按键监听事件是否冒泡可设置使用方式简单快速挂载与卸载4行代码实现组合键监听 代码原理 把键盘监听事件挂载在documen…

c#-DataGridView控件实现分页

有时候我们需要进行分页显示&#xff0c;第一方面是在大数据量下可以降低卡顿&#xff0c;另一方面也是方便查找。 首先划重点&#xff0c;如果卡顿&#xff0c;不要用单元格填充的方式去刷新&#xff0c;用绑定数据源的方式比较高效&#xff01; 下面重点讲如何使用数据源绑定…

正式收官!阿里云携手优酷,用AI重塑影视IP创新边界

影视行业的新一轮创作风潮&#xff0c;将由AI掀起。 GPT和Sora等先进AI模型的出现&#xff0c;带动影视行业进入一场前所未有的创意变革。当前&#xff0c;在角色创作、脚本生成、营销策略等方面&#xff0c;AI已经展现了强大的潜力。而作为影视创作的“灵魂”&#xff0c;影视…

重新审视 ChatGPT 和 Elasticsearch:RAG 真正将应用程序紧密结合在一起

作者&#xff1a;来自 Elastic Jeff Vestal 关注博客 ChatGPT 和 Elasticsearch&#xff1a;OpenAI 遇到私人数据。 在此博客中&#xff0c;你将了解如何&#xff1a; 创建 Elasticsearch Serverless 项目创建推理端点以使用 ELSER 生成嵌入使用语义文本字段进行自动分块并调…

SpringBoot如何进行全局异常处理?

1.为什么需要全局异常处理&#xff1f; 在日常开发中&#xff0c;为了不抛出异常堆栈信息给前端页面&#xff0c;每次编写Controller层代码都要尽可能的catch住所有service层、dao层等异常&#xff0c;代码耦合性较高&#xff0c;且不美观&#xff0c;不利于后期维护。 应用场…

基于java的少儿编程网上报名系统+vue

TOC ssm006基于java的少儿编程网上报名系统vue 研究背景 近年来&#xff0c;随着网络技术的不断发展&#xff0c;越来越多人在网站查询各种信息&#xff0c;少儿编程网上报名系统对用户和管理员都有很大帮助&#xff0c;少儿编程网上报名系统通过和数据库管理系软件协作来实…

基于STM32开发的智能安防报警系统

目录 引言环境准备工作 硬件准备软件安装与配置系统设计 系统架构硬件连接代码实现 系统初始化传感器数据采集与处理报警控制与通知Wi-Fi通信与远程监控应用场景 家庭安防管理商铺和办公室的智能安防常见问题及解决方案 常见问题解决方案结论 1. 引言 随着智能家居和物联网技…

拟合的置信区间

目标图: 图片来源:Fig. 4e from Arwani, Ruth Theresia, et al. "Stretchable ionic–electronic bilayer hydrogel electronics enable in situ detection of solid-state epidermal biomarkers." Nature Materials (2024): 1-8. 1. 数据输入 假设原始数据如下:…

书生大模型实战营第三期基础岛第二课——8G 显存玩转书生大模型 Demo

8G 显存玩转书生大模型 Demo 基础任务进阶作业一&#xff1a;进阶作业二&#xff1a; 基础任务 使用 Cli Demo 完成 InternLM2-Chat-1.8B 模型的部署&#xff0c;并生成 300 字小故事&#xff0c;记录复现过程并截图。 创建conda环境 # 创建环境 conda create -n demo pytho…

协作新选择:即时白板在线白板软件分享

在团队合作中&#xff0c;产品经理扮演着至关重要的角色&#xff0c;他们不仅是产品与用户之间的纽带&#xff0c;更是产品性能和用户需求的桥梁。他们需要深入参与产品的研发过程&#xff0c;并与研发团队保持紧密的沟通。因此&#xff0c;产品经理需要一款高效的协作工具来提…

纯电SUV挑花眼了?看看这两款十多万的家用SUV谁更香

文/王俣祺 导语&#xff1a;随着新能源技术的日益成熟&#xff0c;现如今纯电汽车已经在市场上卖得风生水起。早些时候人们可能还会对纯电汽车抱有“续航焦虑”&#xff0c;但随着各个车型在电池容量以及能耗方面都迎来了进步&#xff0c;充电网络也日渐完善&#xff0c;选择一…

多商户多套部署需修改注意事项

同一台服务器上部署多个多商户项目&#xff0c;需要修改和调整的地方等。 一、修改代码中的端口号&#xff0c;需要两个项目不能使用同一个端口号&#xff0c;例如&#xff1a;A项目用&#xff1a;8324&#xff0c;B项目用&#xff1a;8325&#xff1b; 二、修改反向代理&…

认识泛型VS包装类

1.包装类 在 Java 中&#xff0c;由于基本类型不是继承自 Object &#xff0c;为了在泛型代码中可以支持基本类型&#xff0c; Java 给每个基本类型都对应了 一个包装类型。 ps:为什么需要包装类&#xff1f;说白了java就是面向对象编程的 比如&#xff1a;Java 的集合框架&am…

笔记整理—uboot启动过程(3)栈的二次设置以及常用名词解析,BL1部分完

前文说到了uboot的lowlevel_init都干了些什么&#xff0c;也就是经过了这项初期的低级启动&#xff0c;使得我们能在串口监视器上看见机器打印出的第一句话“OK”。当lowlevel_init结束后&#xff0c;uboot去做了另一件事情&#xff0c;那就是栈的再次设置。 第一次栈设置发生在…

昂科烧录器支持Analogix硅谷数模的USB-C端口控制器ANX7406

芯片烧录行业领导者-昂科技术近日发布最新的烧录软件更新及新增支持的芯片型号列表&#xff0c;其中Analogix硅谷数模的USB-C端口控制器ANX7406已经被昂科的通用烧录平台AP8000所支持。 ANX7406是一款USB Type-C™&#xff08;USB-C&#xff09;端口控制器&#xff0c;符合最新…

网络 通信

一、客户端接收(也可以bind) 1. socket socket 函数 用于创建一个套接字&#xff08;socket&#xff09;&#xff0c;这是网络通信的基础。 它的原型如下&#xff1a;int socket(int domain, int type, int protocol); 参数&#xff1a; domain&#xff1a;指定协议族&…

go-zero接入skywalking链路追踪

文章目录 Skywalking本地测试搭建项目引入dockerfile打包引入最后效果图 Skywalking本地测试搭建 这里用Docker搭建 #数据存储用ES&#xff0c;搭建ES docker run -d -p 9200:9200 -p 9300:9300 --name es -e "discovery.typesingle-node" -e ES_JAVA_OPTS"-X…

【C++】12.智能指针

在上一篇博客【C】11.异常中我们知道有些时候会造成内存空间的未释放从而导致内存泄漏&#xff0c;因此本篇博客的内容就是如何减少内存泄漏——智能指针。 一、RAII RAII&#xff08;Resource Acquisition Is Initialization&#xff09;是一种利用对象生命周期来控制程序资…