如何在Ubuntu 19.04上安装FiveM服务器

注:本教程在Vultr VPS上测试通过,如需部署请前往Vultr.com

先决条件

运行Ubuntu 19.04的Linux系统,至少具有1个CPU内核和2 GB内存
系统上的非root用户

开始之前

为确保系统完全更新,然后再继续安装,请运行以下命令:

sudo apt-get update
sudo apt-get upgrade

另外,请确保打开以下端口,因为它们是FiveM正常运行所必需的:

30120 TCP和UDP
30110 TCP和UDP

Ubuntu 19.04随附 UFW 作为默认防火墙,如果使用UFW,则可以通过执行以下命令来打开必要的端口:

sudo ufw allow 30120
sudo ufw allow 30110

安装

首先,创建一个空文件夹并导航到它。该文件夹将保存您所有的FiveM服务器文件。

mkdir ~/fivem_server 
cd ~/fivem_server

从下载最新的master分支版本 工件服务器。复制最新服务器版本的URL并使用 wget 将其下载到创建的文件夹中。下载构建后,请使用以下命令将其解压缩:

tar -xvf fx.tar.xz

这将提取所有必要的文件。

成功提取下载的存档后,您现在可以将其删除。

rm fx.tar.xz

接下来克隆 cfx-服务器数据 存储库到服务器文件文件夹外部的新文件夹。此文件夹将包含服务器资源。下面的命令会将存储库克隆到一个新文件夹,名为 fivem_resources 在您的主目录中。

git clone https://github.com/citizenfx/cfx-server-data ~/fivem_resources

您的服务器现已下载,但尚未准备就绪。

产生一个 FiveM许可证密钥,它是完全免费的,可用于服务器识别。
使用您喜欢的文本编辑器制作一个新文件,名为 server.cfg 在你的 fivem_resources 夹:

nano ~/fivem_resources/server.cfg

用以下内容填充它:

# Only change the IP if you're using a server with multiple network interfaces, otherwise change the port only.
endpoint_add_tcp "0.0.0.0:30120"
endpoint_add_udp "0.0.0.0:30120"

# These resources will start by default.
ensure mapmanager
ensure chat
ensure spawnmanager
ensure sessionmanager
ensure fivem
ensure hardcap
ensure rconlog
ensure scoreboard

# This allows players to use scripthook-based plugins such as the legacy Lambda Menu.
# Set this to 1 to allow scripthook. Do note that this does _not_ guarantee players won't be able to use external plugins.
sv_scriptHookAllowed 0

# Uncomment this and set a password to enable RCON. Make sure to change the password - it should look like rcon_password "YOURPASSWORD"
#rcon_password ""

# A comma-separated list of tags for your server.
# For example:
# - sets tags "drifting, cars, racing"
# Or:
# - sets tags "roleplay, military, tanks"
sets tags "default"

# Set an optional server info and connecting banner image url.
# Size doesn't matter, any banner sized image will be fine.
#sets banner_detail "https://static.bynss.com/uploads/image.png"
#sets banner_connecting "https://static.bynss.com/uploads/image.png"

# Set your server's hostname
sv_hostname "FXServer, but unconfigured"

# Nested configs!
#exec server_internal.cfg

# Loading a server icon (96x96 PNG file)
#load_server_icon myLogo.png

# convars which can be used in scripts
set temp_convar "hey world!"

# Uncomment this line if you do not want your server to be listed in the server browser.
# Do not edit it if you *do* want your server listed.
#sv_master1 ""

# Add system admins
add_ace group.admin command allow # allow all commands
add_ace group.admin command.quit deny # but don't allow quit
add_principal identifier.steam:110000100000000 group.admin # add the admin to the group

# Hide player endpoints in external log output.
sv_endpointprivacy true

# Server player slot limit (must be between 1 and 32, unless using OneSync)
sv_maxclients 32

# License key for your server (https://keymaster.fivem.net)
sv_licenseKey replaceThisWithYourLicenseKey

这将是您的服务器配置文件。在配置的最后一行,有一个名为 sv_licenseKey。将此设置更改为您生成的许可证密钥。另外,配置中的所有配置设置旁边都有注释,因此您可以了解每个设置的含义,并根据需要进行更改。

完成后,保存文件并关闭编辑器。

启动服务器

要启动服务器,您需要位于服务器资源目录中。然后,您可以使用 runserver.sh 中的脚本 fivem_server 目录。确保包括 +exec server.cfg 参数。

cd ~/fivem_resources && bash ~/fivem_server/run.sh +exec server.cfg

您可以通过按CTRL + C关闭服务器。

在后台运行服务器(可选)

要在后台运行服务器,我们将为服务器创建一个新的屏幕会话。

cd ~/fivem_resources && screen -s "FiveM server" bash ~/fivem_server/run.sh +exec server.cfg

如果要退出FiveM控制台,请按CTRL + A,然后按D。您可以使用以下命令再次重新打开窗口 screen -r

我们可以通过创建bash脚本来实现此目的。用您选择的名称和扩展名创建一个新文件 .sh。在您喜欢的文本编辑器中将其打开。

nano yourscript.sh

然后粘贴以下脚本:

#/bin/bash
cd ~/fivem_resources
screen -s "FiveM server"  bash ~/fivem_server/run.sh +exec server.cfg

然后,通过输入以下命令将该文件标记为可执行文件:

chmod +x yourscript.sh

现在,您可以通过执行脚本来启动服务器:

./yourscript.sh

使服务器在引导时启动(可选)

为了使服务器在启动时启动,我们将制作一个新的Linux服务,该服务将执行服务器启动脚本。该服务将称为 fivem 并在系统启动时启动并启动服务器。

使用您喜欢的编辑器制作一个新文件,名为 fivem.service/lib/systemd/system/。这将需要超级用户权限。

sudo nano /lib/systemd/system/fivem.service

用以下内容填充它:

[Unit]
Description=FiveM server

[Service]
Type=forking
User=username
ExecStart=/usr/bin/fivem_start.sh

[Install]
WantedBy=multi-user.target

在之后设置您的实际Linux用户名 User=

保存文件并关闭编辑器。

创建一个新文件 /usr/bin/fivem_start.sh 使用您喜欢的文本编辑器。

sudo nano /usr/bin/fivem_start.sh

用以下内容填充它:

#!/bin/bash
screen -dm bash -c 'cd /home/username/fivem_resources && bash /home/username/fivem_server/run.sh +exec server.cfg'

更换 username 使用您的Linux用户名。保存并关闭文件。

输入以下命令,将文件标记为可执行文件:

sudo chmod +x /usr/bin/fivem_start.sh

运行以下命令以重新加载systemd管理器配置:

sudo systemctl daemon-reload

使用以下命令启动服务:

sudo systemctl start fivem

执行以下命令以使服务在启动时启动:

sudo systemctl enable fivem

现在,您可以重新启动Linux服务器,并且FiveM服务器将在启动时自动启动。重新引导后,以安装服务器的Linux帐户登录,然后键入以下命令以打开控制台:

screen -r

常见问题

如果您未找到任何“找到资源”,并且显示“无法启动资源”,则说明您没有 cd 到正确的文件夹。
如果您遇到很多有关的错误 citizen:/scripting/,您没有使用 run.sh
如果什么都没有发生,除了 sending heartbeat,您没有使用 run.sh 并未能 cd 到文件夹。
如果没有资源开始并且您无法连接,那么您没有添加 +exec
如果你得到 no license key was specified,以上条件之一适用。

连接到创建的服务器

安装FiveM客户端

要连接到服务器,您必须拥有有效的Grand Theft Auto V副本并将其安装在计算机上。
您需要从以下位置下载FiveM客户端安装程序 FiveM的官方网站。运行安装程序,它将指导您完成安装。安装FiveM客户端后,运行它。它将要求您使用您的GTA社交俱乐部帐户登录。登录到您的帐户,安装现已完成。继续进行下一步。

连接到服务器

运行已安装的FiveM客户端。如果有可用的更新,它将自动下载它,只需单击“接受”。
您会在顶部看到一个名为 Direct Connect。单击它,然后将服务器的IP地址输入到 IP:Port 领域。连接到服务器,您就可以在服务器上玩了!

注:本教程在Vultr VPS上测试通过,如需部署请前往Vultr.com