甲骨文云ARM架构服务器部署FiveM服务端

用opencode写了个部署脚本

https://github.com/w1288568/Fivem-server-install?tab=readme-ov-file

在 ARM 架构 Ubuntu 上部署 FiveM 服务端完整指南

本指南基于社区方案,利用 FEX-Emu 模拟器在 ARM64 机器上运行 x86_64 的 FiveM 服务端。
适用于 Ubuntu 20.04 / 22.04 / 24.04 (aarch64)。


前提条件

  • ARM 架构服务器(建议 4 核 + 8 GB 以上内存,推荐 16 GB)
  • 已注册 Cfx.re 并获取 License Key
  • 防火墙开放端口:30120(TCP+UDP),可选 40120(TCP)用于 txAdmin
  • GTA 5 经典版(Legacy)游戏文件(增强版暂不支持)

1. 系统准备与端口开放

1
2
3
4
5
6
7
sudo apt update && sudo apt upgrade -y
sudo apt install -y git wget xz-utils screen curl

# 开放游戏端口
sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 30120 -j ACCEPT
sudo iptables -I INPUT 6 -m state --state NEW -p udp --dport 30120 -j ACCEPT
sudo netfilter-persistent save

若使用云服务商(如 AWS、Oracle Cloud 等),还需在安全组中放行上述端口。


2. 安装 FiveM 官方服务端

2.1 下载服务端核心(Artifacts)

1
2
3
4
5
6
7
mkdir -p ~/FXServer/server
cd ~/FXServer/server

# 从 https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/ 获取最新版本链接
# 例如(请替换为实际最新版本号):
wget https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/XXXX/fx.tar.xz
tar xf fx.tar.xz && rm fx.tar.xz

2.2 下载服务端数据模板

1
2
cd ~/FXServer
git clone https://github.com/citizenfx/cfx-server-data.git server-data

2.3 编辑配置文件 server.cfg

1
nano ~/FXServer/server-data/server.cfg

将以下优化版配置粘贴进去(务必把 sv_licenseKey "changeme" 替换成你的真实 Key):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
# ================================
# FiveM 服务器配置文件(中文优化版)
# 适用于 ARM 架构 + FEX-Emu 环境
# ================================

# ---------------------------------
# 1. 网络端点设置
# ---------------------------------
# 仅当服务器有多个网络接口时才需要修改 IP,一般只需修改端口
endpoint_add_tcp "0.0.0.0:30120"
endpoint_add_udp "0.0.0.0:30120"

# ---------------------------------
# 2. 基础资源(默认启动)
# ---------------------------------
ensure mapmanager
ensure chat
ensure spawnmanager
ensure sessionmanager
ensure basic-gamemode
ensure hardcap
ensure rconlog

# ---------------------------------
# 3. 脚本钩子权限
# ---------------------------------
# 是否允许玩家使用基于 Scripthook 的插件(如旧版 Lambda Menu)
# 设为 1 允许,设为 0 禁止(注意:设为 1 并不能完全阻止外部插件)
sv_scriptHookAllowed 0

# ---------------------------------
# 4. RCON 远程管理(如需启用请取消注释并设置强密码)
# ---------------------------------
#set rcon_password "你的强密码"

# ---------------------------------
# 5. 服务器标签和本地化
# ---------------------------------
# 服务器标签(用于分类,例如 "drifting, racing" 或 "roleplay, military")
sets tags "default"

# 服务器主要语言区域标识(例如 "en-US", "zh-CN", "fr-CA")
sets locale "zh-CN"

# 服务器信息横幅图片 URL(可选)
#sets banner_detail "https://你的图片链接/image.png"
#sets banner_connecting "https://你的图片链接/image.png"

# ---------------------------------
# 6. 服务器基本信息
# ---------------------------------
# 服务器名称(在列表和客户端中显示)
sv_hostname "我的 FiveM 服务器(ARM 版)"

# 项目名称和描述(用于服务器信息)
sets sv_projectName "我的 FiveM 项目"
sets sv_projectDesc "基于 ARM 架构的 FiveM 服务器"

# 强制 GTA 5 游戏版本(建议使用 2699 或 2802,根据客户端版本调整)
# 如果不确定,注释掉此行或保持默认
sv_enforceGameBuild 2699

# ---------------------------------
# 7. 额外配置(可选)
# ---------------------------------
# 加载嵌套配置(如需要可取消注释)
#exec server_internal.cfg

# 加载服务器图标(96x96 PNG 文件)
#load_server_icon myLogo.png

# 自定义变量(供脚本使用)
set temp_convar "hello world!"

# ---------------------------------
# 8. 服务器可见性和主服务器设置
# ---------------------------------
# 如果希望服务器在列表中显示为"私有",请取消下面这行的注释
# 不注释则服务器公开可见
#sv_master1 ""

# ---------------------------------
# 9. 管理员权限
# ---------------------------------
# 添加管理员组,允许所有命令,但禁止 quit 命令
add_ace group.admin command allow
add_ace group.admin command.quit deny
# 将你的 FiveM 标识符(identifier)添加到管理员组
# 请将 "identifier.fivem:1" 替换为你的实际标识符
add_principal identifier.fivem:1 group.admin

# ---------------------------------
# 10. OneSync 和玩家数量
# ---------------------------------
# 开启 OneSync(必须开启,以实现服务器端状态同步)
set onesync on

# 最大玩家数量(受服务器托管限制,默认最大 48)
sv_maxclients 48

# ---------------------------------
# 11. Steam Web API Key(用于 Steam 认证,可选)
# ---------------------------------
# 如需使用 Steam 登录,请替换为你的 API Key
set steam_webApiKey ""

# ---------------------------------
# 12. 重要!License Key(必须填写)
# ---------------------------------
# 从 https://keymaster.fivem.net/ 获取你的授权密钥
# 注意:变量名必须是 sv_licenseKey(不是 licenseKey)
sv_licenseKey "changeme" # 请替换为你的真实 Key

# ================================
# 配置结束
# ================================

保存并退出(Ctrl+OCtrl+X)。


3. ARM 适配:安装 FEX-Emu 模拟器

3.1 安装依赖与 FEX

1
2
3
4
5
6
sudo apt update
sudo apt install -y software-properties-common curl git iproute2 libssl-dev \
squashfuse fuse squashfs-tools tzdata tar wget zip build-essential unzip gdb gettext

sudo add-apt-repository ppa:fex-emu/fex -y && sudo apt update
sudo apt install -y fex-emu-armv8.0 fex-emu-binfmt32 fex-emu-binfmt64

3.2 安装兼容的 libssl1.1

1
2
wget http://launchpadlibrarian.net/668077130/libssl1.1_1.1.1f-1ubuntu2.19_arm64.deb
sudo dpkg -i libssl1.1_*.deb && rm libssl1.1_*.deb

3.3 获取 RootFS(模拟环境文件系统)

1
FEXRootFSFetcher

出现提示时,选择 1: Extract(解压),然后一路回车确认,等待下载解压完成(约 1 GB)。


4. 启动服务器

4.1 首次启动(使用 FEXInterpreter)

1
cd $HOME/FXServer/server-data && FEXInterpreter $HOME/FXServer/server/alpine/opt/cfx-server/ld-musl-x86_64.so.1 --library-path "$HOME/FXServer/server/alpine/usr/lib/v8/:$HOME/FXServer/server/alpine/lib/:$HOME/FXServer/server/alpine/usr/lib/" -- $HOME/FXServer/server/alpine/opt/cfx-server/FXServer +exec $HOME/FXServer/server-data/server.cfg

4.2 后续快速启动(使用 run.sh

1
cd $HOME/FXServer/server-data && $HOME/FXServer/server/run.sh +exec $HOME/FXServer/server-data/server.cfg

4.3 保持后台运行(推荐使用 screen)

1
2
3
4
screen -S fivem
# 在 screen 中执行启动命令(如 4.2)
# 按 Ctrl+A 再按 D 脱离会话,服务器继续运行
# 重新连接:screen -r fivem

5. 验证服务器

  • 启动日志中应出现 Public endpoint is ...,表示注册成功。
  • 在 FiveM 客户端按 F8,输入 connect 你的IP:30120 测试连接。
  • 若出现 This server does not have a license key 错误,请检查 server.cfg 中的 sv_licenseKey 是否正确。

6. (可选)安装 txAdmin 管理面板

  1. 安装并配置 MySQL/MariaDB 数据库。
  2. 开放端口 40120(TCP)。
  3. 按照 txAdmin 官方文档 安装,首次启动会进入网页向导完成设置。

常见问题与解决方法

问题 解决办法
This server does not have a license key 检查 server.cfg 中是否使用 sv_licenseKey 并正确填写,重启服务
端口无法访问 同时检查系统 iptables 和云服务商安全组
运行卡顿 ARM 模拟有性能损耗,建议提升配置(4核+,16GB+)
找不到 GTA5.exe FiveM 暂不支持 GTA 5 增强版,请使用 经典版(Legacy) 游戏文件
FEXRootFSFetcher 下载慢 可尝试更换网络环境,或手动下载 RootFS 镜像(参考 FEX 文档)
官方更新后失效 此方案为社区方案,请关注 Cfx.re 官方动态

总结

在 ARM 机器上运行 FiveM 的核心是 FEX-Emu 模拟 x86_64,配合官方服务端文件即可。按上述步骤操作,你就能拥有一台低成本、特殊架构的 FiveM 服务器。

如有问题,欢迎在 Cfx.re 论坛 交流。