词条

Linux系统专用开服教程

PC
最近更新 : · 阅读数:4125 · 发布于:四川省 历史记录
页面贡献者:
共 1 人编辑
Linux专用服务器开服指南

原著作者为B站Up—haruhisha

一、前言
        关于开服必要的准备,因为要求基本和win系统相同,本文不再多做赘述,请查看win系统开服指南。本文展示系统以Linux的发行版Ubuntu22.04 server版本为例,并默认你的硬件为腾讯或者阿里云轻量云服务器,如果你是新手,推荐以Win系统开服学习。

二、开服前准备:创建用户与下载steamCMD
        首先你需要登上你的系统(如果你是云服务器),本地系统为Linux忽略此步骤,作者这里使用的工具为MobaXterm,你也可以使用其他的连接工具,如Xshell。按照登录云服务教程指示设置好连接主机IP,登录用户名,端口一般为22

mobaxterm的远程session登录设置界面

        登录后会让你输入密码(注意登录密码是不显示的),登录后你会看到如下界面


        登录root账号,如果提示无法登陆可能是Ubuntu初始root账号没有密码,先登录默认账号,再使用‘’sudo passwd root‘’设置密码,并且修改设置,即可使用root登录,具体操作见文章:
 

1. 以 root 用户身份创建 Steam 用户:

sudo useradd -m steam 
sudo passwd steam

2.进入其主文件夹:

sudo -u steam -s 
cd /home/steam

3.根据不同发行版进行安装

Ubuntu
sudo add-apt-repository multiverse; 
sudo dpkg --add-architecture i386; 
sudo apt update sudo apt install steamcmd

Debain
sudo apt update; 
sudo apt install software-properties-common; 
sudo apt-add-repository non-free;
sudo dpkg --add-architecture i386;
sudo apt update 
sudo apt install steamcmd
注:在 Debian 12 (Bookworm) 中,apt-add-repository 命令不再起作用,因此您需要创建一个解决方法(参见:https://stackoverflow.com/questions/76688863/apt-add-repository-doesn't-work-on-debian-12)。

Arch Linux
sudo pacman -Syy base-devel
cd steamcmd 
makepkg -si
     
安装完成后,我们进行第一次运行

cd  /home/steam/Steam
 ./steamcmd.sh

等待首次运行下载结束后,输入quit退出,输入su -并输入密码返回root账户,逐次输入下列命令创建僵毁账户并下载服务端

adduser --disabled-password pzuser
mkdir /opt/pzserver chown pzuser:pzuser /opt/pzserver
sudo su - pzuser

cat >$HOME/update_zomboid.txt <<'EOL' 
// update_zomboid.txt 
// @ShutdownOnFailedCommand 1  // 如果曾更新过多人服务器则设为0 
@NoPromptForPassword 1 
force_install_dir /opt/pzserver/ 
// 对于不需要登录的服务器 
login anonymous 
app_update 380870 validate             //validate 可加可不加,加了会进行完整性验证
quit 
EOL

注:上述内容输入完成后,应该在/home/pzuser/目录下有一个名为update_zomboid.txt的文件,内容如下图所示

update_zomboid.txt中的内容

现在脚本都做好了,为了能让pzuser也能使用steam账户拥有的steamcmd,我们需求切换到root账户,并将pzuser加入到steam用户组中

su - //之后输入密码进入root账户,这里忽略了输入密码
usermod -aG steam pzuser

之后切换到pzuser账户,我们写一个启动脚本方便使用

su - pzuser
vim start.sh

创建一个start.sh名的shell脚本,按“i”进入编辑模式,输入如图内容

start.h脚本内容

输入完成后,按esc退出编辑,输入:wq保存退出,此时你的目录下应该如图所示(steam可以忽略)

/home/pzuser/目录下的文件列表

一切准备就绪后,我们开放对应端口,云服务的开放端口方式可参考前面的Windows服务器开服教程,是同样的操作方式,本地Linux服务器则输入如下命令打开端口

# 打开端口 
sudo ufw allow 16261/udp 
sudo ufw allow 16262/udp 
# 重启防火墙以使添加的规则生效 
sudo ufw reload

sudo的意思是以管理员权限运行,如果你已经是root账户,可以忽略sudo,重启防火墙完成后,我们的准备工作就全部完成了。

三、下载与启动服务端
        输入./start.sh 启动steamcmd进行服务端的下载或更新

启动steamcmd

等待下载或更新完毕,如果你按照上述操作,那么服务端文件应该在/opt/pzuser/目录下,切换到对应目录

cd /opt/pzuser/

切换过去到目录应该能找到如下文件


在启动服务器前我们先修改ProjectZomboid64.json启动文件,

vim ProjectZomboid64.json

进入文件后,我们主要关注如下图区域


这里对部分内容进行注释
"-Djava.awt.headless=true",
"-Xmx2g",                                         
//最大运行内存
"-Duser.language=cn",                      //启动中文
"-Dzomboid.steam=1",
"-Dzomboid.znetlog=1",
"-Djava.library.path=linux64/:natives/",
"-Djava.security.egd=file:/dev/urandom",
"-XX:+UseZGC",                                //java的一个回收机制,如果你的硬件配置太低,可以考虑删除
"-XX:-OmitStackTraceInFastThrow
"

按“i”进行修改,esc退出修改模式  “:wq” 进行保存退出
之后输入./start-server.sh 启动服务器,出现下列文字后,代表开服成功


但别急,还没结束,为了能让shell断开后依然能运行,我们需要安装screen(注意,你需要回到root账号安装)

apt install screen

创建,并命名一个pz名是screen会话

screen -S pz

按之前所说的步骤启动后,按ctrl+A+D退出后保持后台运行,然后退出远程连接cmd就完成了,后续还想进入pz,输入screen -r pz重新进入; 输入screen -ls可以查看screen会话列表









投稿模式

评论(1)

⎛⎝小鱼干⎠⎞ PC

2024年03月10日 13:19 来自重庆

所有脚本文件的.sh 中的s没力!
和光同尘我去,我s呢

#1

1 0