用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
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+O,Ctrl+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: 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)
5. 验证服务器
- 启动日志中应出现
Public endpoint is ...,表示注册成功。
- 在 FiveM 客户端按
F8,输入 connect 你的IP:30120 测试连接。
- 若出现
This server does not have a license key 错误,请检查 server.cfg 中的 sv_licenseKey 是否正确。
6. (可选)安装 txAdmin 管理面板
- 安装并配置 MySQL/MariaDB 数据库。
- 开放端口
40120(TCP)。
- 按照 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 论坛 交流。