SSD Nodes Learn Hosting plans →
गाइड Matt Connorलेखक: Matt Connor

VPS पर FiveM सर्वर कैसे सेटअप करें: स्टेप-बाय-स्टेप गाइड

Ubuntu पर FXServer इंस्टॉल करने, Cfx.re लाइसेंस की कॉन्फ़िगर करने और 30120 पोर्ट खोलने का सही तरीका जानें। txAdmin को सुरक्षित रखने और सर्वर परफॉर्मेंस सुधारने के टिप्स देखें।

VPS पर FiveM सर्वर के लिए आवश्यक चीजें

VPS पर FiveM सर्वर के लिए एक unprivileged Linux user, Cfx.re से एक artifact build, एक licence key, और TCP तथा UDP दोनों पर एक open port की आवश्यकता होती है। इंस्टॉलेशन में लगभग दस मिनट का समय लगता है। इस गाइड का शेष भाग उन पहलुओं को कवर करता है जो यह तय करते हैं कि सर्वर खेलने योग्य है या नहीं: एक single CPU core की गति, आपके resources के लिए आवश्यक memory, और एक management panel जिसे कभी भी public address पर खुला नहीं छोड़ना चाहिए।

तीन पूर्वापेक्षाएँ (prerequisites) निश्चित हैं। सर्वर बाइनरी, जिन्हें artifacts कहा जाता है, आधिकारिक Cfx.re build listing से प्राप्त की जाती हैं। Licence key portal.cfx.re पर स्थित Cfx.re portal से प्राप्त होती है, जिसे पुरानी गाइड्स में keymaster कहा जाता है, और यह key उस मशीन के address से जुड़ी होती है जो इसका उपयोग करती है। कनेक्ट करने वाले प्रत्येक खिलाड़ी के पास Steam, Rockstar Games Launcher या Epic Games पर GTA V (Grand Theft Auto V) की अपनी वैध कॉपी होनी चाहिए, साथ ही एक मुफ्त Cfx.re अकाउंट भी। क्लाइंट शुरू होने पर गेम के स्वामित्व की जाँच करता है, इसलिए किसी अन्य माध्यम से बनाए गए सर्वर काम नहीं करते हैं, और यहाँ किसी भी प्रकार के workaround content को कवर नहीं किया गया है।

सर्वर को होस्ट करना उस मशीन पर गेम खेलने से अलग काम है, जो क्या आप VPS पर गेम चला सकते हैं का विषय है और यह एक अलग प्रश्न है जिसका उत्तर भी अलग है।

FiveM सर्वर का अनुभव सिंगल कोर स्पीड पर क्यों निर्भर करता है

FXServer, जो FiveM सर्वर का बाइनरी है, गेम लॉजिक को एक मुख्य थ्रेड पर चलाता है। प्रत्येक रिसोर्स स्क्रिप्ट, प्रत्येक इवेंट हैंडलर और प्रत्येक स्टेट अपडेट उसी एक लूप से होकर गुजरता है। अतिरिक्त कोर कर्नेल, डेटाबेस और नेटवर्क स्टैक की मदद तो करते हैं, लेकिन वे गेम लूप को विभाजित नहीं करते। इसलिए, धीमी कोर वाला 4 vCPU बॉक्स लोड के तहत अटकता (stutter) है, जबकि तेज कोर वाला 2 vCPU बॉक्स सुचारू रूप से चलता है।

यह VPS खरीदने की सामान्य आदत को उलट देता है, जहाँ कोर की संख्या को मुख्य आँकड़ा माना जाता है। पैसे खर्च करने से पहले प्रति कोर स्पीड की जाँच करें। CPU मॉडल से शुरुआत करें:

lscpu | grep -E 'Model name|MHz'

फिर उस मॉडल का प्रकाशित सिंगल थ्रेड स्कोर देखें। PassMark सिंगल थ्रेड रेटिंग और Geekbench सिंगल-कोर स्कोर दोनों सार्वजनिक हैं, और दोनों एक कोर द्वारा किए गए कार्य को मापते हैं, जो यहाँ सबसे महत्वपूर्ण संख्या है। इसके बाद, उस बॉक्स को मापें जो आपको वास्तव में दिया गया है:

sudo apt update && sudo apt install -y sysbench
sysbench cpu --cpu-max-prime=20000 --threads=1 run

events per second लाइन को पढ़ें। दो संभावित प्रदाताओं पर यही कमांड चलाएँ और आप उनकी ईमानदारी से तुलना कर पाएंगे, क्योंकि वर्कलोड समान है और यह एक कोर तक सीमित है। एक दोहराने योग्य VPS बेंचमार्क रन दिखाता है कि उन नंबरों को बॉक्स के बीच तुलनात्मक कैसे रखा जाए।

फिर जाँचें कि क्या वह कोर वास्तव में आपका है:

vmstat 1 5

अंतिम कॉलम, st, 'steal time' है: यह उस समय का हिस्सा है जब आपका वर्चुअल CPU चलने के लिए तैयार था लेकिन हाइपरवाइजर ने उसे इंतजार कराया। 1 या 2 से ऊपर का स्थिर आँकड़ा यह दर्शाता है कि आप एक फिजिकल कोर को व्यस्त पड़ोसियों के साथ साझा कर रहे हैं, और गेम लूप में यह तुरंत रबर बैंडिंग के रूप में महसूस होता है। शोर मचाने वाले पड़ोसी से steal time इस कॉलम को पढ़ने और उस पर क्या करना है, इसे कवर करता है।

मेमोरी आपके द्वारा चलाए जाने वाले रिसोर्सेज के साथ स्केल होती है, न कि केवल स्लॉट्स के साथ। Cfx.re का बेस सर्वर डेटा कुछ सौ मेगाबाइट में चलता है। चालीस या पचास रिसोर्सेज और उसी बॉक्स पर MariaDB डेटाबेस वाला एक रोलप्ले फ्रेमवर्क एक अलग मशीन है: 4 GB एक उचित न्यूनतम सीमा है, और 32 से 64 स्लॉट्स के लिए 8 GB आरामदायक है। ये कम्युनिटी सेटअप द्वारा प्रकाशित सामान्य आँकड़े हैं, इसलिए इन्हें शुरुआती बिंदु के रूप में मानें और वास्तविक प्लेयर लोड के तहत free -m पर नज़र रखें।

एक user बनाएँ और dependencies install करें

Server को हमेशा एक सामान्य user के रूप में चलाएँ, कभी भी root के रूप में नहीं। इसके दो कारण हैं। किसी भी internet-facing service पर root का उपयोग करना एक बुरी आदत है। साथ ही, Linux artifact एक bundled Alpine Linux root filesystem के अंदर चलता है, इसलिए root द्वारा unpack की गई files को कोई अन्य user execute नहीं कर सकता। यह सबसे आम कारण है कि एक नया install शुरू होने से मना कर देता है।

sudo adduser --disabled-password --gecos "" fivem
sudo apt update
sudo apt install -y git xz-utils curl tcpdump
sudo -iu fivem

नीचे दी गई सभी प्रक्रियाएँ fivem user के रूप में चलेंगी। xz-utils की आवश्यकता इसलिए है क्योंकि download एक .tar.xz archive है, और git का उपयोग base server data को clone करने के लिए किया जाता है।

Pinned artifact build को डाउनलोड करें

Linux build, Cfx.re artifact server के build_proot_linux चैनल में स्थित है। सूची में एक build को नवीनतम अनुशंसित (latest recommended) के रूप में चिह्नित किया जाता है, और यह लेबल हर कुछ हफ्तों में एक नए build पर चला जाता है। इसके बजाय, क्रमांकित फ़ोल्डर (numbered folder) को पिन करें। अगले महीने अपने सर्वर को फिर से बनाने पर आपको वही binary मिलेगी जिसका आपने इस महीने परीक्षण किया था, और अपग्रेड करना एक सचेत निर्णय बन जाएगा।

mkdir -p ~/FXServer/server
cd ~/FXServer/server
curl -fLO https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/25770-8ddccd4e4dfd6a760ce18651656463f961cc4761/fx.tar.xz
tar xf fx.tar.xz
ls

अगस्त 2026 में जब मैंने सूची देखी, तब Build 25770 पर अनुशंसित लेबल लगा था। वर्तमान build देखने के लिए उसी निर्देशिका को ब्राउज़र में खोलें, फिर उस फ़ोल्डर के नाम को, जो build संख्या और commit hash का संयोजन है, URL में पेस्ट करें।

ls में अब run.sh और एक alpine निर्देशिका दिखाई देनी चाहिए। वह निर्देशिका ही मुख्य तकनीक है: Linux artifact अपना छोटा Alpine root filesystem साथ लाता है और proot का उपयोग करके सर्वर को उसके भीतर शुरू करता है। proot एक userspace टूल है जो root विशेषाधिकारों के बिना chroot को emulate करता है। यही कारण है कि एक ही डाउनलोड Ubuntu, Debian और Rocky पर बिना किसी वितरण-विशिष्ट पैकेज के चल जाता है।

अब base server data को clone करें, जिसमें वे डिफ़ॉल्ट संसाधन (resources) होते हैं जिन्हें आपका server.cfg शुरू करता है:

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

Licence key प्राप्त करें और server.cfg लिखें

portal.cfx.re पर अपने Cfx.re account से sign in करें और एक server key बनाएँ। पोर्टल उस मशीन का IP address माँगता है जो इसका उपयोग करेगी, और key उसी address से bound होती है। नए VPS पर जाने का अर्थ है पोर्टल में key को edit करना, न कि दूसरी key बनाना। बदलाव तुरंत लागू हो जाते हैं, लेकिन FXServer restart होने पर ही पुनः revalidate करता है।

~/FXServer/server-data/server.cfg लिखें:

endpoint_add_tcp "0.0.0.0:30120"
endpoint_add_udp "0.0.0.0:30120"

ensure mapmanager
ensure chat
ensure spawnmanager
ensure sessionmanager
ensure basic-gamemode
ensure hardcap

sv_hostname "My FiveM server"
sv_maxclients 48
set onesync on
sv_scriptHookAllowed false

sv_licenseKey ChangeMe

add_ace group.admin command allow
add_principal identifier.fivem:1 group.admin

sv_maxclients 1 से 2048 तक का मान स्वीकार करता है। 32 या उससे अधिक के मान के लिए onesync को on या legacy पर set करना आवश्यक है, और 64 से ऊपर के मान के लिए on की आवश्यकता होती है। OneSync सर्वर का state awareness mode है, और यही वह सुविधा है जो सर्वर को base game की सीमित slot संख्या से आगे जाने देती है। OneSync बंद होने पर 128 slots set करने से आपको 128 slots नहीं मिलते, बल्कि यह एक ऐसी config देता है जिसे सर्वर reject कर देता है।

sv_licenseKey में key को बिना quotes और बिना trailing space के लिखें। FXServer उस line को whitespace पर split करता है, इसलिए एक भी अतिरिक्त character validation को तोड़ देता है और सर्वर start होने से मना कर देता है।

rcon_password उस file में जानबूझकर नहीं दिया गया है। RCON (remote console) तभी switch on होता है जब variable set हो, और फिर यह game वाले UDP port पर ही listen करता है। Public port पर RCON password आपके सर्वर के लिए एक remote command channel है। जब तक आपको विशेष आवश्यकता न हो, इसे unset रहने दें, और यदि आवश्यकता हो तो इसे लंबा और random रखें।

sv_scriptHookAllowed को false रहने दें। आधिकारिक documentation इसे अनुशंसित नहीं करता है, क्योंकि Script Hook V clients को अनुमति देने से सर्वर client side abuse के प्रति असुरक्षित हो जाता है।

add_principal identifier.fivem:1 Cfx.re account ID 1 को admin rights देता है। 1 को अपनी numeric ID से बदलें, अन्यथा आप किसी और के account को admin अधिकार दे देंगे और खुद के पास कोई अधिकार नहीं रहेगा।

इसे एक बार मैन्युअल रूप से start करें:

cd ~/FXServer/server-data
bash ~/FXServer/server/run.sh +exec server.cfg

दूसरे SSH session से, सर्वर से उसके बारे में पूछें:

curl -s http://127.0.0.1:30120/info.json | head -c 200

आपके सर्वर variables और resources के नाम वाला JSON यह दर्शाता है कि FXServer bound है और जवाब दे रहा है। Connection refused का अर्थ है कि इसने port को bind नहीं किया है, इसलिए अनुमान लगाने के बजाय console output पढ़ें।

बिना key वाला सर्वर यह print करता है और रुक जाता है:

This server does not have a license key specified. Please set the sv_licenseKey console variable to a key from https://keymaster.fivem.net/.

यह संदेश अभी भी पुराने keymaster address का नाम लेता है। वह address उसी Cfx.re पोर्टल पर ले जाता है। यदि key set है और सर्वर फिर भी चलने से मना कर रहा है, तो सामान्य कारण यह है कि key के साथ registered IP अब इस मशीन से मेल नहीं खाता है।

FiveM सर्वर के लिए कौन से पोर्ट खुले होने चाहिए?

TCP (transmission control protocol) और UDP (user datagram protocol) पर पोर्ट 30120 खुला होना चाहिए। FiveM एक ही पोर्ट नंबर का उपयोग दो प्रोटोकॉल के लिए करता है और उसे दोनों की आवश्यकता होती है। यदि आप केवल TCP खोलते हैं, तो परिणाम भ्रमित करने वाला होता है: http://your.ip:30120/info.json ब्राउज़र में उत्तर देता है, इसलिए सर्वर स्वस्थ दिखता है, जबकि गेम क्लाइंट Failed to get info from server पर अटका रहता है और कभी कनेक्ट नहीं होता, क्योंकि क्लाइंट की अपनी क्वेरी और उसका गेम ट्रैफिक UDP पर चलता है।

sudo ufw allow OpenSSH
sudo ufw allow 30120/tcp
sudo ufw allow 30120/udp
sudo ufw enable
sudo ufw status verbose

किसी भी फायरवॉल को सक्षम करते समय एक दूसरा SSH सत्र खुला रखें। VPS के लिए ufw की मूल बातें डिफ़ॉल्ट 'deny' नीति की व्याख्या करता है, जो ऊपर दिए गए नियमों को अपने आप में पर्याप्त बनाती है।

अधिकांश प्रदाता गेस्ट के बाहर भी एक नेटवर्क फायरवॉल चलाते हैं, जिसे शेल के बजाय पैनल से नियंत्रित किया जाता है। ufw नियम उस परत के बारे में कुछ भी सिद्ध नहीं करता है। जब बाहर से TCP उत्तर देता है और खिलाड़ी अभी भी कनेक्ट नहीं हो पाते हैं, तो किसी के प्रयास करने के दौरान ट्रैफिक की निगरानी करें:

sudo tcpdump -ni any udp port 30120

यदि पैकेट आ रहे हैं, तो इसका मतलब है कि बाहरी फायरवॉल ठीक है और खराबी सर्वर के अंदर है। यदि कोई प्रतिक्रिया नहीं मिल रही है, तो इसका मतलब है कि बॉक्स के सामने कोई चीज़ उन्हें ड्रॉप कर रही है, इसलिए प्रदाता पैनल की जाँच करें।

txAdmin के साथ सर्वर को बिना expose किए मैनेज करें

txAdmin आपके द्वारा डाउनलोड किए गए artifact के अंदर ही आता है। run.sh को बिना किसी +exec argument के start करें, यह TCP port 40120 पर एक वेब पैनल खोल देगा और console पर पैनल का URL और एक अल्पकालिक PIN प्रिंट करेगा। आप उस PIN का उपयोग एक बार अपने Cfx.re account को लिंक करने के लिए करते हैं, और उसके बाद आप उस admin account से login करते हैं जिसे यह बनाता है।

txAdmin का कोई default password नहीं होता, इसलिए जोखिम आपके द्वारा न बदले गए किसी credential का नहीं है। जोखिम यह है कि पैनल क्या है: एक remote console। यह सर्वर को restart करता है, server.cfg को edit करता है, सर्वर डेटा deploy करता है और आपके server user के रूप में commands चलाता है। 40120 को internet के लिए खुला छोड़ने का मतलब है कि इन सभी चीजों का login page public address पर उपलब्ध है, और scanners कुछ ही घंटों में खुले पैनल ports को ढूंढ लेते हैं। firewall में 40120 को न खोलें। इसे अपनी मशीन से SSH tunnel के जरिए access करें:

ssh -N -L 40120:127.0.0.1:40120 fivem@YOUR_SERVER_IP

इसके बाद अपने browser में http://127.0.0.1:40120 खोलें। पैनल का traffic SSH connection के अंदर रहता है, और port बाकी सभी के लिए बंद रहता है।

इसे किसी अन्य तरीके से ठीक करने का प्रयास करने से पहले एक trap के बारे में जानना जरूरी है। txAdmin यह तय करने के लिए कि किस interface पर bind करना है, TXHOST_INTERFACE (default 0.0.0.0) को पढ़ता है, और documentation स्पष्ट है कि यही value FXServer पर भी लागू होती है। यदि आप पैनल को छिपाने के लिए इसे 127.0.0.1 पर set करते हैं, तो आप game server को भी loopback पर bind कर देंगे, जिससे कोई भी player सर्वर तक नहीं पहुँच पाएगा। पैनल port को उस variable से नहीं, बल्कि firewall से बंद करें। पैनल को किसी अन्य port पर ले जाने के लिए TXHOST_TXA_PORT set करें, जो 30120 को छोड़कर किसी भी port को स्वीकार करता है। पुराना +set txAdminPort convar कई guides में दिखाई देता है; txAdmin की अपनी documentation इसे deprecated बताती है और कहती है कि भविष्य के release में यह काम करना बंद कर देगा।

लॉग आउट करने के बाद सर्वर को चालू रखना

bash run.sh आपके SSH session के साथ ही बंद हो जाता है। टेस्टिंग के दौरान tmux का उपयोग करना ठीक है: tmux new -s fivem चलाएं, सर्वर शुरू करें, detach करने के लिए Ctrl-b और फिर d दबाएं, और वापस आने के लिए tmux attach -t fivem का उपयोग करें। tmux session रीबूट के बाद सुरक्षित नहीं रहता है, इसलिए जिस भी चीज़ की आपको परवाह है उसे systemd unit में होना चाहिए।

/etc/systemd/system/fivem.service लिखें:

[Unit]
Description=FiveM FXServer
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
User=fivem
Environment=HOME=/home/fivem
WorkingDirectory=/home/fivem/FXServer/server-data
ExecStart=/bin/bash /home/fivem/FXServer/server/run.sh +exec server.cfg
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now fivem
systemctl status fivem
journalctl -u fivem -f

enable --now दो काम करता है: यह सर्विस को तुरंत शुरू करता है, और रीबूट के बाद सर्विस को वापस लाता है। मैन्युअल रूप से शुरू किया गया सर्वर अगले kernel update के बाद बंद हो जाता है। journalctl -u fivem -f अब आपका कंसोल है, क्योंकि systemd सर्विस में कोई टर्मिनल नहीं होता जिसमें आप टाइप कर सकें। यदि आप इसके बजाय txAdmin के माध्यम से सर्वर को मैनेज करते हैं, तो ExecStart से +exec server.cfg को हटा दें और WorkingDirectory को /home/fivem/FXServer/server पर पॉइंट करें, क्योंकि txAdmin गेम सर्वर को खुद शुरू करता है और इसके डेटा फोल्डर को run.sh के बगल में रखता है।

किन चीजों का बैकअप लें और वे कहाँ स्थित होती हैं

Artifacts का बैकअप लेना आवश्यक नहीं है, क्योंकि आप pinned build को एक मिनट में दोबारा डाउनलोड कर सकते हैं। केवल चार चीजें पूरी तरह से आपकी हैं।

  • ~/FXServer/server-data/resources: आपके द्वारा इंस्टॉल, खरीदी या लिखी गई प्रत्येक resource।
  • server.cfg, चाहे वह कहीं भी स्थित हो: संपूर्ण सर्वर कॉन्फ़िगरेशन, जिसमें आपके admin principals भी शामिल हैं।
  • ~/FXServer/server/txData: txAdmin का कॉन्फ़िगरेशन, एडमिन सूची और लॉग्स। Linux artifact के साथ यह फ़ोल्डर run.sh के बगल में बनाया जाता है।
  • MariaDB या MySQL डेटाबेस, यदि आपका framework इसका उपयोग करता है। पात्र (characters), पैसे, वाहन और इन्वेंट्री केवल वहीं रहते हैं, इसलिए डेटाबेस डंप के बिना resource बैकअप लेने से एक खाली दुनिया ही रिस्टोर होगी।
mkdir -p ~/backups
mysqldump -u fivem -p --single-transaction fivem_db > ~/backups/fivem-$(date +%F).sql

सर्वर वाली डिस्क पर ही रखा गया डंप बैकअप नहीं है, क्योंकि डिस्क ही वह चीज है जो खराब हो सकती है। इसे एक शेड्यूल के अनुसार सर्वर से बाहर भेजें, जिसके लिए restic backups from a VPS का उपयोग किया जाता है।

विफलता के प्रकार और आपको दिखाई देने वाले संदेश

Loader पर Permission denied। सर्वर तुरंत बंद हो जाता है और ऐसी लाइन दिखाता है:

run.sh: line 8: /home/fivem/FXServer/server/alpine/opt/cfx-server/ld-musl-x86_64.so.1: Permission denied

यह इसलिए होता है क्योंकि आर्काइव को sudo के साथ एक्सट्रैक्ट किया गया था, इसलिए alpine/ के अंतर्गत सब कुछ root का है और fivem यूजर उसके अंदर मौजूद लोडर को निष्पादित (execute) नहीं कर सकता। sudo chown -R fivem:fivem /home/fivem/FXServer के साथ ओनरशिप ठीक करें, या फोल्डर को डिलीट करके उसे fivem के रूप में फिर से एक्सट्रैक्ट करें।

tar डाउनलोड खोलने से मना कर देता है। tar (child): xz: Cannot exec: No such file or directory का मतलब है कि xz-utils पैकेज गायब है, इसलिए tar एक .tar.xz आर्काइव को डीकंप्रेस नहीं कर सकता। इसे इंस्टॉल करें और फिर से एक्सट्रैक्ट करें। जो डाउनलोड बहुत जल्दी पूरा हो जाता है, वह आमतौर पर fx.tar.xz के रूप में सेव किया गया एक HTML एरर पेज होता है, और tar उसे एक करप्ट आर्काइव के रूप में रिपोर्ट करता है।

सर्वर चल रहा है और कोई जुड़ नहीं पा रहा है। सबसे पहले इस क्रम में पोर्ट्स की जाँच करें: 30120 पर TCP और UDP दोनों के लिए ufw नियम, फिर प्रोवाइडर का अपना नेटवर्क फायरवॉल, और अंत में लाइसेंस की (licence key) का रजिस्टर्ड IP। बॉक्स के बाहर से curl बनाम info.json का उपयोग करना एक ही कमांड में नेटवर्क समस्या और सर्वर समस्या के बीच अंतर स्पष्ट कर देता है।

खिलाड़ियों के आने पर टिक टाइम (tick time) बढ़ जाता है। txAdmin का परफॉरमेंस पैनल सर्वर का टिक टाइम दिखाता है। जब खिलाड़ियों की संख्या बढ़ने के साथ यह बढ़ता है जबकि कुल CPU उपयोग कम दिखता है, तो कोई एक रिसोर्स मुख्य थ्रेड (main thread) को संतृप्त (saturate) कर रहा होता है। गणित याद रखें: 4 vCPU वाले बॉक्स पर, एक पूरी तरह से लोड हुआ कोर top में लगभग 25 प्रतिशत कुल CPU के रूप में दिखता है, जो खाली (idle) लग सकता है लेकिन वास्तव में ऐसा नहीं है। एक-एक करके रिसोर्सेज को रोकें और यह पता लगाने के लिए टिक टाइम पर नज़र रखें कि कौन सा रिसोर्स समस्या पैदा कर रहा है।

अन्य गेम सर्वर्स के मुकाबले इसका आकार निर्धारित करना

एक खेलने योग्य FiveM सर्वर के लिए तेज़ single core और आपके द्वारा चलाए जा रहे resource list के लिए पर्याप्त memory की आवश्यकता होती है। स्लॉट की संख्या इन दो कारकों पर निर्भर करती है, और vCPUs की अधिक संख्या धीमी core की समस्या को ठीक नहीं कर सकती। गेम सर्वर्स के लिए VPS चुनना मिश्रित बेड़े के लिए इस संतुलन को समझाता है, और VPS पर Minecraft सर्वर चलाना भी मूल रूप से इसी तरह काम करता है: इसमें एक मुख्य tick loop होता है, इसलिए प्रति core गति ही वहां भी प्रदर्शन की सीमा तय करती है।

FAQ

FiveM सर्वर को कितनी CPU और RAM की आवश्यकता होती है?

कई धीमी cores की तुलना में एक तेज़ core अधिक महत्वपूर्ण है, क्योंकि FXServer अपना गेम लॉजिक एक ही main thread पर चलाता है। CPU मॉडल के प्रकाशित single thread स्कोर की तुलना करें, फिर sysbench cpu --threads=1 run के साथ सर्वर पर पुष्टि करें और जाँचें कि vmstat शून्य के करीब steal time दिखाता है। मेमोरी के लिए, बेस Cfx.re सर्वर डेटा कुछ सौ megabytes में चलता है, जबकि चालीस या पचास resources और एक local database वाला roleplay framework 8 GB पर आराम से चलता है और 4 GB से नीचे कम पड़ जाता है। ये सामुदायिक आंकड़े हैं, इसलिए उन पर भरोसा करने के बजाय पीक समय पर free -m को मॉनिटर करें।

क्या मेरे FiveM सर्वर से जुड़ने के लिए खिलाड़ियों के पास GTA V होना आवश्यक है?

हाँ। जुड़ने वाले प्रत्येक खिलाड़ी के पास Steam, Rockstar Games Launcher या Epic Games पर GTA V की एक वैध, लाइसेंस प्राप्त कॉपी होनी चाहिए, साथ ही एक मुफ्त Cfx.re अकाउंट भी। FiveM क्लाइंट कनेक्ट करने से पहले गेम ओनरशिप की जाँच करता है। इसे बायपास करने का कोई समर्थित तरीका नहीं है, और ऐसा सर्वर चलाना जो इसे बायपास करने का प्रयास करता है, Cfx.re की नीतियों के विरुद्ध है।

FiveM सर्वर को किन ports को खुला रखने की आवश्यकता है?

TCP और UDP दोनों पर पोर्ट 30120। info.json जैसे HTTP endpoints और resource downloads TCP का उपयोग करते हैं, और क्लाइंट का गेम ट्रैफिक UDP का उपयोग करता है। केवल TCP खोलने पर ऐसी स्थिति उत्पन्न होती है जहाँ सर्वर ब्राउज़र को जवाब देता है लेकिन खिलाड़ी Failed to get info from server देखते हैं। txAdmin को TCP 40120 की आवश्यकता होती है, और उस पोर्ट को इंटरनेट के लिए बंद रखा जाना चाहिए।

क्या txAdmin को पोर्ट 40120 पर खुला छोड़ना सुरक्षित है?

नहीं। txAdmin एक रिमोट कंसोल है जो सर्वर को रीस्टार्ट करता है, कॉन्फ़िगरेशन को एडिट करता है और कमांड्स चलाता है, इसलिए एक exposed पैनल पूरे गेम सर्वर के लिए एक exposed कंट्रोल प्लेन है। इसमें कोई डिफ़ॉल्ट पासवर्ड नहीं है, लेकिन एक पब्लिक लॉगिन पेज credential हमलों को आमंत्रित करता है जिन्हें आप देख नहीं सकते। फायरवॉल में 40120 को बंद रखें और ssh -N -L 40120:127.0.0.1:40120 user@server के साथ SSH टनल के माध्यम से पैनल तक पहुँचें, फिर http://127.0.0.1:40120 पर ब्राउज़ करें। txAdmin को TXHOST_INTERFACE के साथ 127.0.0.1 पर बाइंड न करें, क्योंकि वह सेटिंग गेम सर्वर को भी loopback पर मजबूर कर देती है और कोई भी खिलाड़ी कनेक्ट नहीं हो पाएगा।

नंबर वाले बिल्ड फोल्डर को पिन करें। recommended लेबल नियमित रूप से एक नए बिल्ड पर चला जाता है, इसलिए जो स्क्रिप्ट recommended बिल्ड को फेच करती है, वह हर बार रीबिल्ड पर आपको एक अलग बाइनरी दे सकती है। इससे जो सर्वर कल काम कर रहा था, वह आपके बदलावों से असंबंधित कारणों से redeploy पर खराब हो सकता है। जिस बिल्ड नंबर और commit hash का आपने परीक्षण किया है उसे रिकॉर्ड करें, सोच-समझकर अपग्रेड करें, और पिछले फोल्डर को डिस्क पर रखें ताकि आप अपनी systemd यूनिट में एक पाथ बदलकर वापस स्विच कर सकें।

#fivem#game-server#txadmin#single-thread#vps