目次
概要
ハードウェア要件とヒント
サーバーの準備(ユーザー、アップデート、パッケージ)
最新の(推奨)FXServerをダウンロードする(自動方法)
抽出とフォルダ構造
受け取る ライセンスキー Keymasterと設定から
サーバー.cfgテストのための手動セットアップ
自動化と管理のためのSystemdサービス
ファイアウォールとポートの開放
よくある問題と解決策を確認する
コマンドの概要(簡単にコピー/貼り付けできる)
出典と参考文献
1. 概要
FiveM(FXServer)は、カスタムGTA Vサーバーを実行するためのプラットフォームです。サーバーを実行するには、FXServerバイナリ、サーバーデータ(cfxサーバーデータ)と1つ ライセンスキー Keymasterをお持ちですか?以下の手順は公式ドキュメントと公式アーティファクトページに基づいています。. Cfx.re ドキュメント+1
2. ハードウェアの前提条件とヒント
推奨オペレーティング システム: ウブントゥ 22.04 または 20.04 (64 ビット)。.
最小: 2GB RAM、推奨: プレイヤーが多いサーバーの場合は 4GB 以上。.
ディスク容量: 少なくとも 5〜10 GB の空き容量 (mod/リソースによってはそれ以上が必要になる場合があります)。.
アクセス: SSH アクセス
須藤あるいはルース。.
(これらは通常、ホスティング ガイドやドキュメントに記載されています)。. EUゲームホスト+1
3. サーバーの準備(ユーザーの作成とパッケージのインストール)
まず、サーバーにログインし、専用の非 root ユーザー (例: 5m):
sudo apt update && sudo apt upgrade -y
# کاربر جدید (اختیاری اما توصیهشده)
sudo adduser --disabled-password --gecos "" fivem
sudo usermod -aG sudo fivem
su - fivemنصب بستههای موردنیاز پایه:
# روی Ubuntu 22.04/20.04
sudo apt install -y git wget xz-utils screen curl tar unzip build-essential
# بستههای کتابخانهای 32/64 باینریها (در صورت نیاز)
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install -y lib32gcc-s1 lib32stdc++6 libc6-i386نکته: نام بستههای lib32* ممکن است بسته به نسخهٔ اوبونتو تغییر کند (مثلاً lib32gcc1 در توزیعهای جدید ممکن است موجود نباشد). در صورت بروز خطا، پیام خطا را بررسی کنید و بستهٔ معادل (lib32gcc-s1 و غیره) را نصب کنید. منابع و بحثهای مربوط در انجمنها موجود است. Stack Overflow+1
4. دانلود آخرین نسخهٔ Recommended FXServer (روش خودکار)
بهترین روش این است که از مخزن رسمی «artifacts» فایلهای FXServer را بگیرید. برای دریافت آخرین Recommended build میتوانید از اسکریپت زیر استفاده کنید (این اسکریپت شمارهٔ آخرین ساخت را از لیست دریافت و فایل fx.tar.xz را دانلود میکند):
# پوشه نصب پیشنهادی
mkdir -p ~/FXServer && cd ~/FXServer
# دریافت آخرین build number و دانلود fx.tar.xz
LATEST=$(curl -s https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/ | \
grep -oP 'href="\K[0-9]+(?=/")' | sort -rn | head -n1)
echo "latest build: $LATEST"
wget -O fx.tar.xz "https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/${LATEST}/fx.tar.xz"توضیح: آدرس و روش دانلود از مخزن رسمی runtime.fivem.net گرفته شده است — همیشه مطمئن شوید که آخرین Recommended/Stable را دانلود میکنید. اگر مایلید دستی عمل کنید، به صفحهٔ artifacts مراجعه و لینک آخرین Recommended را کپی کنید.
5. استخراج و ساختار پوشهها
پس از دانلود، فایل را استخراج کنید و پوشهٔ server-data (دادهٔ پایه) را از GitHub کلون کنید:
# استخراج
tar -xJf fx.tar.xz
# کلون دیتای پایه (مثال: cfx-server-data)
git clone https://github.com/citizenfx/cfx-server-data.git server-data
# یا اگر نسخهٔ دیگری دارید آن را در server-data بریزید
# به سرور داده بروید
cd server-dataساختار پیشنهادی:
~/FXServer/
├─ fx.tar.xz
├─ run.sh (یا باینریها بعد از استخراج)
└─ server-data/
└─ server.cfg
└─ resources/
...6. دریافت License Key و پیکربندی server.cfg
برای اجرای سرور نیاز به License Key دارید. آن را از Keymaster تهیه کنید:
وارد https://keymaster.fivem.net شوید (ورود با اکانت Cfx.re / FiveM).
در بخش Servers، یک کلید جدید (Register / New) بسازید و IP/اطلاعات خواستهشده را وارد کنید.
کلید تولید شده را دریافت و در
server.cfgقرار دهید.
مثال server.cfg (حداقل مورد نیاز):
# server.cfg مثال
endpoint_add_tcp "0.0.0.0:30120"
endpoint_add_udp "0.0.0.0:30120"
sv_hostname "My FiveM Server"
sv_maxclients 32
# مسیر resources معمولاً به صورت زیر است:
ensure mapmanager
ensure chat
ensure spawnmanager
ensure sessionmanager
ensure fivem
ensure hardcap
# License key (کلید خود را جایگزین کنید)
sv_licenseKey "YOUR_LICENSE_KEY_HERE"
# RCON (اختیاری)
#rcon_password your_rcon_password
# اضافه کنید هر تنظیم دلخواه و resourcesحتماً sv_licenseKey را در server.cfg قرار دهید؛ در غیر این صورت سرور بالا نخواهد آمد و خطای مربوط به نداشتن license نمایش داده میشود.
7. راهاندازی دستی (برای تست)
برای تست سریع، در پوشهٔ FXServer (یا جایی که run.sh قرار دارد) این دستور را اجرا کنید:
cd ~/FXServer/server-data
bash ../run.sh +exec server.cfgاگر همه چیز درست باشد، در کنسول خروجی لاگ سرور نمایش داده میشود و سرور شروع به شنیدن روی پورت 30120 میکند. مستندات رسمی همین روش را برای اجرای دستی توصیه میکنند.
8. ساخت سرویس systemd (اجرا، راهاندازی خودکار و مانیتورینگ)
برای اینکه سرور بهصورت خودکار با بالا آمدن سیستم اجرا شود و قابل مدیریت با systemctl باشد، یک واحد systemd بسازید:
ایجاد فایل سرویس (به عنوان روت):
sudo tee /etc/systemd/system/fivem.service > /dev/null <<'UNIT'
[Unit]
Description=FiveM Server
After=network.target
[Service]
Type=simple
User=fivem
WorkingDirectory=/home/fivem/FXServer/server-data
# اگر run.sh در مسیر متفاوت است آن را تنظیم کنید
ExecStart=/bin/bash /home/fivem/FXServer/run.sh +exec server.cfg
Restart=on-failure
RestartSec=10
KillMode=process
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
UNITسپس فعال و اجرا کنید:
sudo systemctl daemon-reload
sudo systemctl enable fivem.service
sudo systemctl start fivem.service
sudo journalctl -u fivem.service -fنکته: مسیرها و کاربر (User=fivem) را بر اساس تنظیمات واقعی خود تغییر دهید. نکات بیشتر و مثالها در انجمن رسمی وجود دارد.
9. پورتها و فایروال
پورت پیشفرض FiveM: 30120 TCP/UDP. اگر از UFW استفاده میکنید:
sudo ufw allow 30120/tcp
sudo ufw allow 30120/udp
sudo ufw reloadدر صورتی که VPS یا پنل میزبانی دارید، از باز بودن پورت 30120 TCP/UDP در کنترلپنل هاست (و همچنین NAT/پورتفورواردینگ روی شبکه) مطمئن شوید. همچنین اگر Plan/DDoS protection provider دارید، ممکن است تنظیمات اضافی نیاز باشد.
10. بررسی مشکلات رایج و راهحلها
- خطای license key: مطمئن شوید
sv_licenseKeyمقداردهی شده و سرور ازserver.cfgاجرا میشود. (اجرای از دایرکتوری اشتباه باعث این خطا میشود). - کتابخانهٔ گمشده / error about lib: بستههای 32 بیتی/وابستگیها را نصب کنید و با
ldd ./fxserverدر دایرکتوری باینریها چک کنید. اگر با نسخهٔ اوبونتو تداخل باشد، بستهٔ معادل را نصب کنید. - فایروال یا پورت بسته: بررسی کنید پورت 30120 باز باشد.
- اجازهٔ اجرا (Permission denied):
chmod +x run.shو مطمئن شوید مالک فایلها کاربر مناسب است. - سرویس systemd بالا نمیآید:
sudo journalctl -u fivem.service -bرا بررسی کنید تا خطاها را ببینید.
11. خلاصهٔ دستورات (کپی/پیست سریع)
این بلوک برای کاربرانی است که میخواهند سریع همهٔ مراحل را اجرا کنند — قبل از اجرا مسیرها (مثلاً /home/fivem) و نام کاربر/کلید لایسنس را مطابق سیستم خود عوض کنید.
# update & create user
sudo apt update && sudo apt upgrade -y
sudo adduser --disabled-password --gecos "" fivem
sudo usermod -aG sudo fivem
su - fivem
# install deps
sudo apt install -y git wget xz-utils screen curl tar unzip build-essential
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install -y lib32gcc-s1 lib32stdc++6 libc6-i386
# download latest fx
mkdir -p ~/FXServer && cd ~/FXServer
LATEST=$(curl -s https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/ | \
grep -oP 'href="\K[0-9]+(?=/")' | sort -rn | head -n1)
wget -O fx.tar.xz "https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/${LATEST}/fx.tar.xz"
tar -xJf fx.tar.xz
# clone server-data
git clone https://github.com/citizenfx/cfx-server-data.git server-data
cd server-data
# place your server.cfg (edit with sv_licenseKey)
# test run
bash ../run.sh +exec server.cfg
# create systemd service (run as sudo from your main user)
sudo tee /etc/systemd/system/fivem.service > /dev/null <<'UNIT'
[Unit]
Description=FiveM Server
After=network.target
[Service]
Type=simple
User=fivem
WorkingDirectory=/home/fivem/FXServer/server-data
ExecStart=/bin/bash /home/fivem/FXServer/run.sh +exec server.cfg
Restart=on-failure
RestartSec=10
KillMode=process
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
UNIT
sudo systemctl daemon-reload
sudo systemctl enable fivem.service
sudo systemctl start fivem.service
# firewall
sudo ufw allow 30120/tcp
sudo ufw allow 30120/udp12. منابع و ارجاعات (برای مطالعهٔ بیشتر)
- مستندات رسمی — Setting up a Vanilla FXServer (Cfx.re / FiveM).
- صفحهٔ artifacts رسمی (Runtime) برای دانلود باینریها.
- Keymaster برای تولید لایسنس: https://keymaster.fivem.net.
- مثالها و بحثهای انجمنی دربارهٔ systemd و خطاهای رایج.
پایان — نکتهٔ اخلاقی / امنیتی
کلید لایسنس را هرگز در مکالمات عمومی منتشر نکنید.
برای سرورهای عمومی حتماً از ابزارهای محافظت در برابر DDoS/فایروالهای سختافزاری استفاده کنید.
اگر میخواهید من برایتان یک
server.cfgنمونهٔ کاملتر (شامل resources پیشنهادی، کانفیگهای امنیتی و کدهای مفید) بنویسم، همین الآن یک پیام بفرستید و من آن فایل را آماده و داخل همین پاسخ میگذارم.









