注:本教程在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://digitalixy.com/image/image.png"
#sets banner_connecting "https://digitalixy.com/image/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