SSD Nodes Learn Hosting plans →
मार्गदर्शक Matt Connorद्वारे Matt Connor

VPS वर FiveM सर्व्हर कसा चालवायचा

Ubuntu वर FXServer इन्स्टॉल करा, artifact build निश्चित करा, Cfx.re licence key जोडा, TCP आणि UDP वर 30120 उघडा आणि txAdmin सार्वजनिक इंटरनेटपासून दूर ठेवा.

VPS वर FiveM सर्व्हरसाठी आवश्यक गोष्टी

VPS वरील FiveM सर्व्हरसाठी एक unprivileged Linux user, Cfx.re कडील एक artifact build, एक licence key आणि TCP व UDP दोन्हीवर एक open पोर्ट आवश्यक असतो. हे इन्स्टॉलेशन साधारण दहा मिनिटांत पूर्ण होते. या मार्गदर्शिकेचा उर्वरित भाग सर्व्हर खेळण्यायोग्य आहे की नाही हे ठरवणाऱ्या घटकांवर लक्ष केंद्रित करतो: सिंगल CPU कोरचा वेग, तुमच्या resources ना लागणारी मेमरी आणि एक मॅनेजमेंट पॅनेल जे कधीही सार्वजनिक पत्त्यावर उघडे ठेवू नये.

तीन पूर्वअटी निश्चित आहेत. सर्व्हर बायनरीज, ज्यांना artifacts म्हणतात, त्या अधिकृत Cfx.re build लिस्टिंगमधून मिळतात. licence key Cfx.re पोर्टलवरून portal.cfx.re येथे मिळतो, ज्याला जुन्या मार्गदर्शिकांमध्ये keymaster असे संबोधले जाते आणि ही की ती वापरणाऱ्या मशीनच्या पत्त्याशी जोडलेली असते. कनेक्ट होणाऱ्या प्रत्येक खेळाडूकडे Steam, Rockstar Games Launcher किंवा Epic Games वरील GTA V (Grand Theft Auto V) ची स्वतःची कायदेशीर प्रत आणि एक मोफत Cfx.re खाते असणे आवश्यक आहे. क्लायंट सुरू होताना गेमच्या मालकीची पडताळणी करतो, त्यामुळे इतर कोणत्याही मार्गाने तयार केलेला सर्व्हर काम करत नाही आणि कोणत्याही प्रकारच्या workaround सामग्रीचा येथे समावेश केलेला नाही.

सर्व्हर होस्ट करणे हे त्या मशीनवर गेम खेळण्यापेक्षा वेगळे काम आहे, जे तुम्ही VPS वर गेम चालवू शकता का या प्रश्नापेक्षा वेगळे आहे आणि त्याचे उत्तरही वेगळे आहे.

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

FXServer, हे FiveM सर्व्हरचे बायनरी, गेम लॉजिक एका मुख्य थ्रेडवर चालवते. प्रत्येक रिसोर्स स्क्रिप्ट, प्रत्येक इव्हेंट हँडलर आणि प्रत्येक स्टेट अपडेट या एकाच लूपमधून जाते. अतिरिक्त कोअर्स कर्नल, डेटाबेस आणि नेटवर्क स्टॅकसाठी उपयुक्त ठरतात. ते गेम लूपचे विभाजन करत नाहीत. त्यामुळे, कमी वेगाच्या कोअरवर असलेला 4 vCPU चा सर्व्हर लोड वाढल्यावर लॅग होतो, तर वेगवान कोअरवर असलेला 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 चे निरीक्षण करा.

वापरकर्ता तयार करा आणि dependencies इंस्टॉल करा

सर्व्हर नेहमी सामान्य वापरकर्त्याच्या अधिकारात चालवा, कधीही root म्हणून नको. याची दोन मुख्य कारणे आहेत. कोणत्याही इंटरनेट-फेसिंग सेवेसाठी root वापरणे ही एक वाईट सवय आहे. तसेच, Linux artifact हे एका बंडल केलेल्या Alpine Linux root filesystem मध्ये चालते. त्यामुळे root द्वारे अनपॅक केलेल्या फाइल्स इतर कोणीही एक्झिक्युट करू शकत नाही. नवीन इन्स्टॉलेशन सुरू न होण्याचे हे सर्वात सामान्य कारण आहे.

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

खालील सर्व प्रक्रिया fivem वापरकर्त्याच्या अधिकारात चालवा. xz-utils आवश्यक आहे कारण डाउनलोड केलेली फाइल एक .tar.xz आर्काइव्ह आहे आणि बेस सर्व्हर डेटा क्लोन करण्यासाठी git चा वापर केला जातो.

पिन केलेला artifact build डाउनलोड करा

Linux build Cfx.re artifact server वरील build_proot_linux channel मध्ये उपलब्ध आहे. Cfx.re server download page वर एका build ला Recommended आणि त्यापेक्षा नवीन build ला Latest असे चिन्हांकित केले जाते. नवीन releases उपलब्ध झाल्यावर ही दोन्ही labels नव्या builds कडे हलतात. त्याऐवजी क्रमांक असलेले folder pin करा. पुढील महिन्यात server पुन्हा build केल्यावर या महिन्यात तपासलेलाच binary मिळेल. त्यामुळे upgrade जाणीवपूर्वक घेता येणारा निर्णय राहतो.

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

9 October 2026 रोजी मी Cfx.re server download page तपासली तेव्हा Build 35245 वर Recommended label होती. ते page उघडा, Linux निवडा आणि सध्याच्या fx.tar.xz link मधून folder name कॉपी करून URL मध्ये वापरा. या folder name मध्ये build number आणि commit hash असतो. अनेक guides अजूनही ज्या जुन्या artifacts directory listing कडे निर्देश करतात, ती आता याच page वर redirect होते.

पिन केलेल्या build ची उपयुक्तताही मर्यादित असते. Cfx.re एखाद्या Recommended artifact ला त्याच्या क्रमाने पुढे असलेल्या पुढील artifact नंतर सहा आठवड्यांपर्यंत support करते. तसेच, policy नुसार तीन महिन्यांपेक्षा जुने आणि unsupported server artifacts server browser मधून join करता येणार नाहीत. जुना build सुरू राहतो, परंतु players त्यात browser मधून join करू शकत नाहीत. त्यामुळे build कायमचा pin करण्याऐवजी upgrades calendar वर नियोजित करा.

ls मध्ये आता run.sh आणि alpine directory दिसली पाहिजे. हाच या पद्धतीचा मुख्य भाग आहे: Linux artifact मध्ये स्वतःचे छोटे Alpine root filesystem असते. तो root privileges शिवाय chroot चे अनुकरण करणाऱ्या userspace tool proot च्या मदतीने त्यात server सुरू करतो. त्यामुळे distribution-specific packages न वापरता एकच download Ubuntu, Debian आणि Rocky वर चालतो.

आता base server data clone करा. त्यात तुमचा server.cfg सुरू करतो ती default resources असतात:

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

लायसन्स की मिळवा आणि server.cfg लिहा

तुमच्या Cfx.re खात्याने portal.cfx.re मध्ये साइन इन करा आणि server key तयार करा. पोर्टल ही key वापरणाऱ्या मशीनचा IP address विचारते आणि key त्या address शी जोडली जाते. नवीन VPS वर स्थलांतर केल्यास दुसरी key तयार करू नका; पोर्टलमध्ये विद्यमान key संपादित करा. हा बदल लगेच लागू होतो, परंतु FXServer पुन्हा सुरू झाल्यावरच key ची पुन्हा पडताळणी करतो.

~/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 मधील value स्वीकारली जाते. 32 किंवा त्याहून अधिक value साठी onesync हे on किंवा legacy वर सेट केलेले असणे आवश्यक आहे. 64 पेक्षा अधिक value साठी on आवश्यक आहे. OneSync हा server चा state awareness mode आहे. यामुळे server ला base game मधील लहान slot count पेक्षा अधिक slots वापरता येतात. OneSync बंद असताना 128 slots सेट केल्याने 128 slots मिळत नाहीत. त्याऐवजी server नाकारणारी config तयार होते.

sv_licenseKey मध्ये key कोणत्याही quotes शिवाय आणि शेवटी space न ठेवता द्या. FXServer ही line whitespace वर विभाजित करतो. त्यामुळे एक अनावश्यक character validation बिघडवतो आणि server सुरू होण्यास नकार देतो.

rcon_password ही त्या file मध्ये जाणीवपूर्वक नसते. Variable सेट केल्यावरच RCON (remote console) सुरू होते आणि ते game च्या त्याच UDP port वर listening करते. सार्वजनिक port वर RCON password म्हणजे तुमच्या server मध्ये remote command channel उपलब्ध करून देणे होय. विशिष्ट गरज नसल्यास ते unset ठेवा. वापरणे आवश्यक असल्यास password लांब आणि random ठेवा.

sv_scriptHookAllowed हे false तसेच ठेवा. अधिकृत documentation मध्ये हे recommended नसल्याचे नमूद केले आहे, कारण Script Hook V clients ला परवानगी दिल्यास client-side abuse चा धोका निर्माण होतो.

शेवटच्या दोन lines एकत्र कार्य करतात. add_ace group.admin command allow मुळे group.admin group ला प्रत्येक command चालवता येतो. add_principal identifier.fivem:1 group.admin मुळे Cfx.re account ID 1 ला त्या group कडून अधिकार मिळतात आणि account ला admin rights मिळतात. Documented syntax add_principal [child_principal] [parent_principal] आहे. त्यामुळे दोन्ही भाग आवश्यक आहेत. फक्त account चे नाव असलेली add_principal line कोणताही group वारसा म्हणून घेत नाही आणि कोणतेही अधिकार देत नाही. 1 ऐवजी तुमचा स्वतःचा numeric ID द्या. अन्यथा तुम्ही दुसऱ्याच्या account ला admin अधिकार द्याल आणि स्वतःच्या account ला कोणतेही अधिकार मिळणार नाहीत.

एकदा ते manually सुरू करा:

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

दुसऱ्या SSH session मधून server ची माहिती मागवा:

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

तुमच्या server variables आणि resources ची नावे असलेला JSON मिळाल्यास FXServer ने bind होऊन प्रतिसाद दिला आहे. Connection refused याचा अर्थ त्याने port bind केलेला नाही. त्यामुळे अंदाज न लावता console output तपासा.

key नसलेला server हे 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/.

या message मध्ये अजूनही जुना keymaster address दिसतो. तो address त्याच Cfx.re portal कडे नेतो. key सेट केलेली असूनही server सुरू होण्यास नकार देत असल्यास, सामान्य कारण म्हणजे key शी नोंदवलेला IP या machine च्या 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 ची मूलभूत माहिती मध्ये 'default deny' धोरणाबद्दल सांगितले आहे, ज्यामुळे वरील नियम स्वतःहून पुरेसे ठरतात.

बहुतेक प्रोव्हायडर्स गेस्टच्या बाहेर एक नेटवर्क फायरवॉल देखील चालवतात, जे शेलऐवजी पॅनेलवरून नियंत्रित केले जाते. ufw नियम त्या स्तरावर काहीही सिद्ध करत नाही. जेव्हा बाहेरून TCP प्रतिसाद मिळतो आणि तरीही खेळाडू कनेक्ट होऊ शकत नाहीत, तेव्हा कोणीतरी प्रयत्न करत असताना नेटवर्क ट्रॅफिक तपासा:

sudo tcpdump -ni any udp port 30120

पॅकेट्स पोहोचत असतील तर बाह्य फायरवॉल व्यवस्थित आहे आणि दोष सर्व्हरच्या आत आहे. जर शांतता असेल, तर बॉक्सच्या समोर काहीतरी पॅकेट्स ड्रॉप करत आहे, त्यामुळे प्रोव्हायडर पॅनेल तपासा.

txAdmin द्वारे सर्व्हरचे व्यवस्थापन करा, पण तो उघड करू नका

txAdmin तुम्ही आधीच डाउनलोड केलेल्या artifact मध्ये समाविष्ट आहे. run.sh ला कोणत्याही +exec आर्ग्युमेंटशिवाय सुरू करा. हे TCP पोर्ट 40120 वर एक वेब पॅनेल सुरू करते आणि कन्सोलवर पॅनेलची URL आणि एक अल्पकालीन PIN प्रिंट करते. तुमचा Cfx.re खाते लिंक करण्यासाठी तुम्ही तो PIN एकदाच वापरता आणि त्यानंतर तुम्ही तयार केलेल्या ॲडमिन खात्याद्वारे लॉग इन करता.

txAdmin चा कोणताही डीफॉल्ट पासवर्ड नसतो, त्यामुळे धोका तुम्ही न बदललेल्या क्रेडेंशियल्सचा नाही. धोका पॅनेलच्या स्वरूपाचा आहे: हे एक रिमोट कन्सोल आहे. हे सर्व्हर रीस्टार्ट करते, server.cfg संपादित करते, सर्व्हर डेटा डिप्लॉय करते आणि तुमच्या सर्व्हर युजरच्या अधिकाराने कमांड्स रन करते. 40120 पोर्ट इंटरनेटसाठी खुला ठेवल्यास हे सर्व पर्याय एका सार्वजनिक पत्त्यावर उपलब्ध होतात आणि स्कॅनर काही तासांतच उघडे पॅनेल पोर्ट शोधून काढतात. फायरवॉलमध्ये 40120 पोर्ट उघडू नका. तुमच्या स्वतःच्या मशीनवरून SSH टनेलद्वारे त्यापर्यंत पोहोचा:

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

त्यानंतर तुमच्या ब्राउझरमध्ये http://127.0.0.1:40120 उघडा. पॅनेलचा ट्रॅफिक SSH कनेक्शनच्या आतून जातो आणि पोर्ट इतर कोणासाठीही बंद राहतो.

हे वेगळ्या पद्धतीने सोडवण्याचा प्रयत्न करण्यापूर्वी एक गोष्ट लक्षात घेणे आवश्यक आहे. txAdmin कोणत्या इंटरफेसवर बाइंड व्हायचे हे ठरवण्यासाठी TXHOST_INTERFACE (डीफॉल्ट 0.0.0.0) वाचते आणि डॉक्युमेंटेशननुसार हेच मूल्य FXServer वर सक्तीने लागू केले जाते. पॅनेल लपवण्यासाठी ते 127.0.0.1 वर सेट केल्यास गेम सर्व्हर देखील लूपबॅकवर बाइंड होईल, ज्यामुळे कोणताही खेळाडू सर्व्हरशी कनेक्ट होऊ शकणार नाही. पॅनेल पोर्ट फायरवॉलद्वारे बंद करा, त्या व्हेरिएबलद्वारे नाही. पॅनेल दुसऱ्या पोर्टवर हलवण्यासाठी TXHOST_TXA_PORT सेट करा, जे 30120 सोडून इतर कोणतेही पोर्ट स्वीकारते. जुने +set txAdminPort convar अनेक मार्गदर्शकांमध्ये दिसते; txAdmin च्या स्वतःच्या डॉक्युमेंटेशनमध्ये ते deprecated म्हणून चिन्हांकित केले आहे आणि भविष्यातील रिलीजमध्ये ते काम करणे बंद करेल असे नमूद केले आहे.

लॉग आउट केल्यानंतर सर्व्हर चालू ठेवा

तुमचे SSH सत्र बंद झाले की bash run.sh देखील बंद होते. चाचणी करत असताना tmux वापरणे सोयीचे आहे: tmux new -s fivem चालवा, सर्व्हर सुरू करा, Ctrl-b दाबून नंतर d दाबून detach करा आणि परत येण्यासाठी tmux attach -t fivem वापरा. tmux सत्र रीबूटनंतर टिकत नाही, त्यामुळे महत्त्वाची कोणतीही गोष्ट 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 दोन कामे करते: ते सेवा त्वरित सुरू करते आणि रीबूटनंतर ती पुन्हा कार्यान्वित करते. हाताने सुरू केलेला सर्व्हर कर्नल अपडेटनंतर बंद होतो. journalctl -u fivem -f आता तुमचे कन्सोल आहे, कारण systemd सेवेला टाइप करण्यासाठी कोणतेही टर्मिनल नसते. जर तुम्ही त्याऐवजी txAdmin द्वारे सर्व्हर व्यवस्थापित करत असाल, तर +exec server.cfg ला ExecStart मधून काढून टाका आणि WorkingDirectory ला /home/fivem/FXServer/server कडे निर्देशित करा, कारण txAdmin स्वतः गेम सर्व्हर सुरू करते आणि त्याचा डेटा फोल्डर run.sh च्या शेजारी ठेवते.

काय बॅकअप घ्यावे आणि ते कुठे असते

आर्टिफॅक्ट्सचा बॅकअप घेणे निरर्थक आहे, कारण तुम्ही पिन केलेली बिल्ड काही मिनिटांत पुन्हा डाउनलोड करू शकता. केवळ चार गोष्टी तुमच्या मालकीच्या आहेत.

  • ~/FXServer/server-data/resources: तुम्ही इन्स्टॉल केलेले, खरेदी केलेले किंवा लिहिलेले प्रत्येक रिसोर्स.
  • server.cfg, ते कुठेही असो: संपूर्ण सर्व्हर कॉन्फिगरेशन, ज्यामध्ये तुमच्या ॲडमिन प्रिन्सिपल्सचा समावेश आहे.
  • ~/FXServer/server/txData: txAdmin चे कॉन्फिगरेशन, ॲडमिन यादी आणि लॉग्स. Linux आर्टिफॅक्टसह हे फोल्डर run.sh च्या शेजारी तयार होते.
  • MariaDB किंवा MySQL डेटाबेस, जर तुमचा फ्रेमवर्क तो वापरत असेल तर. कॅरेक्टर्स, पैसे, वाहने आणि इन्व्हेंटरीज तिथेच असतात, इतर कुठेही नाहीत. त्यामुळे डेटाबेस डंपशिवाय घेतलेला रिसोर्स बॅकअप रिकामे जग रिस्टोर करेल.
mkdir -p ~/backups
mysqldump -u fivem -p --single-transaction fivem_db > ~/backups/fivem-$(date +%F).sql

सर्व्हरच्या त्याच डिस्कवर असलेला डंप म्हणजे बॅकअप नव्हे, कारण डिस्क निकामी होण्याची शक्यता असते. ते एका वेळापत्रकानुसार सर्व्हरच्या बाहेर पाठवा, ज्यासाठी restic backups from a VPS वापरले जाते.

अपयशाचे प्रकार आणि तुम्हाला दिसणारे संदेश

Permission denied on the loader. सर्व्हर खालील ओळीसह त्वरित बंद होतो:

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

हे घडते कारण आर्काइव्ह sudo वापरून एक्सट्रॅक्ट केले गेले आहे, त्यामुळे alpine/ अंतर्गत सर्व फाइल्सची मालकी root कडे आहे आणि fivem वापरकर्त्याला त्यातील लोडर एक्झिक्युट करता येत नाही. मालकी हक्क 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 नियम, त्यानंतर प्रोव्हायडरचा स्वतःचा नेटवर्क फायरवॉल, आणि शेवटी लायसन्स की साठी नोंदणीकृत IP. बाहेरून info.json विरुद्ध curl वापरल्यास नेटवर्क समस्या आणि सर्व्हर समस्या यातील फरक एका कमांडमध्ये स्पष्ट होतो.

खेळाडू आल्यावर Tick time वाढतो. txAdmin चे परफॉर्मन्स पॅनेल सर्व्हरचा tick time दर्शवते. जेव्हा खेळाडूंच्या संख्येनुसार हा वेळ वाढतो आणि एकूण CPU वापर कमी दिसतो, तेव्हा एखादे रिसोर्स मेन थ्रेडवर ताण देत असते. हे गणित लक्षात ठेवा: 4 vCPU असलेल्या बॉक्सवर, एक पूर्ण लोड झालेला कोअर top मध्ये साधारण 25 टक्के एकूण CPU वापर दर्शवतो, जो आयडल (idle) वाटू शकतो पण तसा नसतो. कोणते रिसोर्स जास्त खर्चिक आहे हे शोधण्यासाठी एक-एक करून रिसोर्सेस थांबवा आणि tick time चे निरीक्षण करा.

इतर गेम सर्व्हर्सच्या तुलनेत आकारमान निश्चित करणे

खेळण्यायोग्य FiveM सर्व्हरसाठी वेगवान सिंगल कोअर आणि तुम्ही प्रत्यक्षात चालवत असलेल्या रिसोर्स लिस्टसाठी पुरेशी मेमरी आवश्यक असते. स्लॉटची संख्या या दोन गोष्टींवर अवलंबून असते आणि कितीही vCPUs वाढवले तरी संथ कोअरचा वेग सुधारत नाही. गेम सर्व्हर्ससाठी VPS निवडणे या लेखात मिश्र फ्लीटसाठी यातील तडजोडी स्पष्ट केल्या आहेत, आणि VPS वर Minecraft सर्व्हर चालवणे यामध्येही मूळ रचना सारखीच असते: एक मुख्य टिक लूप (tick loop), त्यामुळे तिथेही कोअरचा वेगच सर्व्हरची कमाल क्षमता ठरवतो.

FAQ

FiveM server ला किती CPU आणि RAM आवश्यक आहे?

अनेक धीम्या core पेक्षा एक वेगवान core अधिक महत्त्वाचा असतो, कारण FXServer त्याचे game logic एका मुख्य thread वर चालवतो. CPU model चा प्रकाशित single thread score तपासा. त्यानंतर sysbench cpu --threads=1 run वापरून server वर पडताळणी करा आणि vmstat जवळपास शून्य steal time दाखवत आहे का ते तपासा. Memory बाबतीत, मूलभूत Cfx.re server data काहीशे megabytes मध्ये चालतो. roleplay framework मध्ये चाळीस किंवा पन्नास resources आणि local database असल्यास 8 GB memory पुरेशी असते, तर 4 GB पेक्षा कमी memory अपुरी पडते. हे समुदायात आढळणारे सामान्य आकडे आहेत. त्यामुळे त्यांच्यावर पूर्णपणे अवलंबून न राहता peak वेळेत free -m monitor करा.

माझ्या FiveM server मध्ये सहभागी होण्यासाठी players कडे GTA V असणे आवश्यक आहे का?

होय. प्रत्येक connecting player कडे Steam, Rockstar Games Launcher किंवा Epic Games वरील GTA V ची वैध, licensed copy आणि विनामूल्य Cfx.re account असणे आवश्यक आहे. FiveM client connect होण्यापूर्वी game ownership तपासतो. याला वळसा घालण्याची समर्थित पद्धत नाही. हा तपास टाळण्याचा प्रयत्न करणारा server चालवणे Cfx.re च्या परवानगीच्या कक्षेबाहेर आहे.

FiveM server साठी कोणते ports खुले असणे आवश्यक आहे?

TCP आणि UDP दोन्हींवर port 30120 खुले असणे आवश्यक आहे. info.json सारखे HTTP endpoints आणि resource downloads TCP वापरतात, तर client चा game traffic UDP वापरतो. फक्त TCP खुले ठेवल्यास गोंधळाची स्थिती निर्माण होते: server browser ला उत्तर देतो, पण players ना Failed to get info from server दिसते. txAdmin साठी TCP 40120 आवश्यक आहे. हा port इंटरनेटसाठी बंद ठेवावा.

txAdmin ला port 40120 वर reachable ठेवणे सुरक्षित आहे का?

नाही. txAdmin हा remote console आहे. तो server restart करू शकतो, configuration संपादित करू शकतो आणि commands चालवू शकतो. त्यामुळे उघडलेले panel म्हणजे संपूर्ण game server चे control plane उघडे ठेवणे होय. Default password नसले तरी public login page मुळे तुम्हाला दिसणार नाहीत असे credential attacks होऊ शकतात. Firewall मध्ये 40120 बंद ठेवा आणि ssh -N -L 40120:127.0.0.1:40120 user@server वापरून SSH tunnel द्वारे panel पर्यंत पोहोचा. त्यानंतर http://127.0.0.1:40120 वर browse करा. TXHOST_INTERFACE सह txAdmin ला 127.0.0.1 वर bind करू नका, कारण या setting मुळे game server देखील loopback वर bind होतो आणि कोणताही player connect करू शकत नाही.

क्रमांक असलेला build folder pin करा. Recommended label नियमितपणे नवीन build कडे हलतो. त्यामुळे recommended build fetch करणारी script प्रत्येक rebuild वेळी वेगळी binary देऊ शकते. परिणामी, काल व्यवस्थित चाललेला server तुमच्या बदलांशी संबंधित नसलेल्या कारणामुळे redeploy वेळी fail होऊ शकतो. तुम्ही तपासलेला build number आणि commit hash नोंदवा. जाणीवपूर्वक upgrade करा. मागील folder disk वर ठेवा, म्हणजे systemd unit मधील एक path संपादित करून मागील build वर परत जाता येईल. मात्र pin कायमचा जुना ठेवू नका. Cfx.re च्या policy नुसार तीन महिन्यांपेक्षा जुने unsupported artifacts server browser मधून join करता येत नाहीत. त्यामुळे support window मध्ये upgrade करा.

हा लेख उपयुक्त होता का?

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