Setting up a FiveM server
Setting up a FiveM server

راه اندازی سرور FiveM/ سرور بازی GTA V

0 اشتراک گذاری
0
0
0
0

فهرست مطالب

  1. معرفی کلی

  2. پیش‌نیازها و نکات سخت‌افزاری

  3. آماده‌سازی سرور (کاربر، به‌روزرسانی، پکیج‌ها)

  4. دانلود آخرین (Recommended) FXServer (روش خودکار)

  5. استخراج و ساختار پوشه‌ها

  6. دریافت License Key از Keymaster و پیکربندی server.cfg

  7. راه‌اندازی دستی برای تست

  8. سرویس سیستم‌د (systemd) برای اجرای خودکار و مدیریت

  9. فایروال و باز کردن پورت‌ها

  10. بررسی مشکلات رایج و راه‌حل‌ها

  11. خلاصهٔ دستورات (برای کپی/پیست سریع)

  12. منابع و ارجاعات


1. معرفی کلی

FiveM (FXServer) یک پلتفرم برای اجرای سرورهای سفارشی GTA V است. برای اجرای سرور نیاز به فایل‌های باینری FXServer، دادهٔ سرور (cfx-server-data) و یک License Key از Keymaster دارید. دستورالعمل‌های زیر بر مبنای مستندات رسمی و صفحات آثار (artifacts) رسمی استخراج شده‌اند. Cfx.re Docs+1


2. پیش‌نیازها و نکات سخت‌افزاری

  • سیستم‌عامل پیشنهادی: Ubuntu 22.04 یا 20.04 (64-bit).

  • حداقل: 2GB RAM، پیشنهاد: 4GB+ برای سرورهای با بازیکن بیشتر.

  • فضای دیسک: حداقل 5—10GB آزاد (بسته به مودها/ریسورس‌ها بیشتر لازم می‌شود).

  • دسترسی: SSH با دسترسی sudo یا روت.
    (این موارد معمولاً در راهنماهای میزبانی و مستندات ذکر شده‌اند). EUGameHost+1


3. آماده‌سازی سرور (ایجاد کاربر و نصب پکیج‌ها)

ابتدا وارد سرور شوید و یک کاربر غیرروت اختصاصی بسازید (مثال fivem):

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


بهترین روش این است که از مخزن رسمی «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 تهیه کنید:

  1. وارد https://keymaster.fivem.net شوید (ورود با اکانت Cfx.re / FiveM).

  2. در بخش Servers، یک کلید جدید (Register / New) بسازید و IP/اطلاعات خواسته‌شده را وارد کنید.

  3. کلید تولید شده را دریافت و در 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/udp

12. منابع و ارجاعات (برای مطالعهٔ بیشتر)

  • مستندات رسمی — Setting up a Vanilla FXServer (Cfx.re / FiveM).
  • صفحهٔ artifacts رسمی (Runtime) برای دانلود باینری‌ها.
  • Keymaster برای تولید لایسنس: https://keymaster.fivem.net.
  • مثال‌ها و بحث‌های انجمنی دربارهٔ systemd و خطاهای رایج.

پایان — نکتهٔ اخلاقی / امنیتی

  • کلید لایسنس را هرگز در مکالمات عمومی منتشر نکنید.

  • برای سرورهای عمومی حتماً از ابزارهای محافظت در برابر DDoS/فایروال‌های سخت‌افزاری استفاده کنید.

  • اگر می‌خواهید من برایتان یک server.cfg نمونهٔ کامل‌تر (شامل resources پیشنهادی، کانفیگ‌های امنیتی و کدهای مفید) بنویسم، همین الآن یک پیام بفرستید و من آن فایل را آماده و داخل همین پاسخ می‌گذارم.


 

 

[تعداد: 0   میانگین: 0/5]
دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

شاید دوست داشته باشید

داستان بازی God Of War: Ragnarok

مقدمه این بر کریتوس، خدای جنگ، و پسر نوجوانش، آترئوس متمرکز است، که با درگیری راگناروک آینده روبرو…

فضای ابری

فضای ابری چیست و معرفی بهترین فضای ذخیره سازی ابری ۲۰۲۰ با افزایش استفاده از فضای ابری، در این…