VPSలో FiveM సర్వర్ను ఎలా అమలు చేయాలి
Ubuntuలో FXServerను ఇన్స్టాల్ చేసి artifact buildను pin చేయడం, Cfx.re licence key జోడించడం, TCP మరియు UDPలో 30120 తెరవడం, txAdminను public internet నుంచి దూరంగా ఉంచడం నేర్చుకోండి.
VPSలో FiveM సర్వర్కు అవసరమైనవి
VPSలో FiveM సర్వర్కు ఒక unprivileged Linux user, Cfx.re నుంచి పొందిన ఒక artifact build, ఒక licence key, అలాగే TCP మరియు UDP రెండింటిలోనూ open గా ఉన్న ఒక port అవసరం. ఇన్స్టాలేషన్కు సుమారు పది నిమిషాలు పడుతుంది. సర్వర్ playable గా ఉంటుందా లేదా అనేది నిర్ణయించే అంశాలను ఈ guide లోని మిగిలిన భాగాలు వివరిస్తాయి: ఒకే CPU core వేగం, మీ resources కు అవసరమైన memory, అలాగే public address పై ఎప్పుడూ open గా ఉంచకూడని management panel.
మూడు prerequisites తప్పనిసరి. Artifacts అని పిలిచే server binaries అధికారిక Cfx.re build listing నుంచి వస్తాయి. Licence key ను portal.cfx.re లోని Cfx.re portal నుంచి పొందాలి. పాత guides లో దీనిని keymaster అని పిలుస్తారు. ఈ key ను ఉపయోగించే machine address కు అది అనుసంధానించబడి ఉంటుంది. కనెక్ట్ అయ్యే ప్రతి player వద్ద Steam, Rockstar Games Launcher లేదా Epic Games లో చట్టబద్ధంగా పొందిన GTA V (Grand Theft Auto V) copy ఉండాలి. అదనంగా ఉచిత Cfx.re account కూడా అవసరం. Client ప్రారంభమైనప్పుడు game ownership ను తనిఖీ చేస్తుంది. అందువల్ల ఇతర మార్గంలో నిర్మించిన server పనిచేయదు. ఏ రకమైన workaround content గురించీ ఇక్కడ చర్చించబడదు.
సర్వర్ను host చేయడం, ఆ machine పై game ఆడడం కంటే వేరు. అంటే VPSలోనే game ను నడపగలరా అనేది ప్రత్యేకమైన ప్రశ్న. దానికి సమాధానం కూడా వేరుగా ఉంటుంది.
FiveM సర్వర్ పనితీరును single core వేగం ఎందుకు నిర్ణయిస్తుంది
FiveM సర్వర్ binary అయిన FXServer, game logic ను ఒక main thread పై నడుపుతుంది. ప్రతి resource script, ప్రతి event handler, ప్రతి state update ఆ single loop గుండా వెళ్తాయి. అదనపు cores kernel, database, network stack కు సహాయపడతాయి. కానీ అవి game loop ను విభజించవు. అందువల్ల slow core కలిగిన 4 vCPU server load సమయంలో stutter అవుతుంది. Fast core కలిగిన 2 vCPU server మాత్రం సజావుగా పనిచేస్తుంది.
దీంతో సాధారణ VPS ఎంపిక విధానం మారుతుంది. సాధారణంగా core count ను ప్రధాన సంఖ్యగా చూస్తారు. డబ్బు చెల్లించే ముందు ఒక్కో core వేగాన్ని పరిశీలించండి. ముందుగా CPU model తెలుసుకోండి:
lscpu | grep -E 'Model name|MHz'తర్వాత ఆ model కోసం ప్రచురించిన single thread score ను చూడండి. PassMark single thread rating, Geekbench single-core score రెండూ public metrics. రెండూ ఒక core పని చేసే సామర్థ్యాన్ని కొలుస్తాయి. ఇక్కడ ముఖ్యమైన సంఖ్య ఇదే. ఆ తర్వాత మీకు నిజంగా ఇచ్చిన server ను కొలవండి:
sudo apt update && sudo apt install -y sysbench
sysbench cpu --cpu-max-prime=20000 --threads=1 runevents per second line ను చదవండి. ఇద్దరు అభ్యర్థి providers పై ఇదే command ను అమలు చేస్తే నిజాయితీగా పోల్చవచ్చు. Workload ఒకటే, అది ఒక core కే పరిమితమవుతుంది. పునరావృతం చేయగల VPS benchmark run ద్వారా ఈ సంఖ్యలను servers మధ్య ఎలా పోల్చదగినవిగా ఉంచాలో తెలుసుకోవచ్చు.
తర్వాత ఆ core నిజంగా మీకే కేటాయించబడిందో తనిఖీ చేయండి:
vmstat 1 5చివరి column, st, steal time ను చూపిస్తుంది. మీ virtual CPU run కావడానికి సిద్ధంగా ఉన్నప్పటికీ hypervisor దాన్ని వేచి ఉండేలా చేసిన సమయానికి ఇది శాతం. ఈ విలువ నిరంతరం 1 లేదా 2 కంటే ఎక్కువగా ఉంటే, మీరు busy neighbours తో physical core ను పంచుకుంటున్నారని అర్థం. Game loop దీన్ని వెంటనే rubber banding రూపంలో చూపిస్తుంది. noisy neighbour నుంచి Steal time ద్వారా ఆ column ను ఎలా చదవాలో, దాని గురించి ఏమి చేయాలో తెలుసుకోవచ్చు.
Memory అవసరం మీరు నడిపే resources పై ఆధారపడి ఉంటుంది. Slots సంఖ్యపై మాత్రమే ఆధారపడదు. Cfx.re అందించే base server data కొన్ని వందల megabytes లో నడుస్తుంది. నలభై లేదా యాభై resources, అదే server పై MariaDB database కలిగిన roleplay framework వేరే స్థాయి machine. 4 GB ను కనిష్ఠంగా పరిగణించడం సముచితం. 32 నుంచి 64 slots కోసం 8 GB సౌకర్యవంతంగా ఉంటుంది. ఇవి community setups ప్రచురించిన సాధారణ గణాంకాలు. అందువల్ల వీటిని ప్రారంభ అంచనాలుగా మాత్రమే తీసుకోండి. నిజమైన player load సమయంలో free -m ను పర్యవేక్షించండి.
వినియోగదారుని సృష్టించి dependencies ను ఇన్స్టాల్ చేయండి
సర్వర్ను సాధారణ వినియోగదారుగా నడపండి. root గా ఎప్పుడూ నడపకండి. దీనికి రెండు కారణాలు ఉన్నాయి. Internet-facing సేవలో root ఉపయోగించడం మంచి పద్ధతి కాదు. అలాగే Linux artifact bundled Alpine Linux root filesystem లో నడుస్తుంది. అందువల్ల root unpack చేసిన files ను ఇతరులు execute చేయలేరు. Fresh install ప్రారంభం కాకపోవడానికి ఇదే అత్యంత సాధారణ కారణం.
sudo adduser --disabled-password --gecos "" fivem
sudo apt update
sudo apt install -y git xz-utils curl tcpdump
sudo -iu fivemక్రింది పనులన్నీ fivem user గా నిర్వహించాలి. Download ఒక .tar.xz archive కావడంతో xz-utils అవసరం. Base server data ను clone చేయడానికి git ఉపయోగించబడుతుంది.
పిన్ చేసిన artifact build ను డౌన్లోడ్ చేయడం
Linux build, Cfx.re artifact server లోని build_proot_linux channel లో ఉంటుంది. Listing లో ఒక build ను తాజా సిఫార్సు చేసిన build గా గుర్తిస్తారు. ఈ label ప్రతి కొన్ని వారాలకు కొత్త build కు మారుతుంది. అందువల్ల సంఖ్యతో ఉన్న 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/25770-8ddccd4e4dfd6a760ce18651656463f961cc4761/fx.tar.xz
tar xf fx.tar.xz
lsఆగస్టు 2026లో listing ను చూసినప్పుడు Build 25770 కు సిఫార్సు చేసిన label ఉంది. ప్రస్తుత build ను చూడటానికి browser లో అదే directory తెరవండి. తరువాత build number మరియు commit hash కలిగిన ఆ folder పేరు తీసుకుని URL లో ఉంచండి.
ఇప్పుడు ls లో run.sh మరియు ఒక alpine directory కనిపించాలి. ఆ 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 సృష్టించండి. దాన్ని ఉపయోగించే యంత్రం యొక్క IP address ను portal అడుగుతుంది, మరియు ఆ key ఆ address కు అనుసంధానించబడుతుంది. కొత్త VPS కు మారినప్పుడు రెండో key సృష్టించకండి; portal లో ఉన్న key ను సవరించండి. ఈ సవరణ వెంటనే వర్తిస్తుంది, కానీ FXServer పునఃప్రారంభమైనప్పుడు మాత్రమే దాన్ని మళ్లీ ధృవీకరిస్తుంది.
~/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.adminsv_maxclients కు 1 నుంచి 2048 వరకు విలువ ఇవ్వవచ్చు. 32 లేదా అంతకంటే ఎక్కువ విలువకు onesync ను on లేదా legacy గా సెట్ చేయాలి. 64 కంటే ఎక్కువ విలువకు on అవసరం. OneSync అనేది server యొక్క state awareness mode. దీని వల్ల server base game లోని చిన్న slot పరిమితిని దాటగలదు. OneSync ఆపివేసి 128 slots సెట్ చేస్తే 128 slots లభించవు. బదులుగా server తిరస్కరించే config ఏర్పడుతుంది.
sv_licenseKey లో key ను quotes లేకుండా, చివరలో ఖాళీ లేకుండా ఇవ్వాలి. FXServer ఆ line ను whitespace ఆధారంగా విభజిస్తుంది. అందువల్ల ఒక్క అదనపు character ఉన్నా validation విఫలమై, server ప్రారంభం కావడానికి నిరాకరిస్తుంది.
ఆ file లో rcon_password ఉద్దేశపూర్వకంగా లేదు. Variable సెట్ చేసినప్పుడే RCON (remote console) ప్రారంభమవుతుంది. అప్పుడు అది game ఉపయోగించే అదే UDP port పై listening చేస్తుంది. Public port పై ఉన్న RCON password మీ server లోకి remote command channel ను అందిస్తుంది. ప్రత్యేక అవసరం లేకపోతే దీన్ని unset గా ఉంచండి. ఉపయోగించాల్సి వస్తే పొడవైన, random password ఇవ్వండి.
sv_scriptHookAllowed విలువ false గానే ఉండాలి. Script Hook V clients ను అనుమతించడం వల్ల client-side దుర్వినియోగానికి server తెరుచుకుంటుందని official documentation పేర్కొంటుంది. అందువల్ల దీన్ని సిఫార్సు చేయదు.
add_principal identifier.fivem:1 Cfx.re account ID 1 కు admin హక్కులు ఇస్తుంది. 1 స్థానంలో మీ numeric ID ను పెట్టండి. లేకపోతే మరొకరి account కు admin హక్కులు ఇచ్చి, మీ account కు ఇవ్వనట్టవుతుంది.
దీన్ని మొదటిసారి చేతితో ప్రారంభించండి:
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 ఈ సందేశాన్ని చూపించి ఆగిపోతుంది:
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 address ఈ machine యొక్క IP address తో సరిపోకపోవడమే.
FiveM సర్వర్కు ఏ portలు open గా ఉండాలి?
TCP (transmission control protocol) మరియు UDP (user datagram protocol) పై Port 30120 open గా ఉండాలి. FiveM రెండు protocolలకు ఒకే port numberను ఉపయోగిస్తుంది. రెండూ అవసరం. TCP మాత్రమే open చేస్తే గందరగోళమైన లక్షణం కనిపిస్తుంది: browserలో http://your.ip:30120/info.json స్పందిస్తుంది కాబట్టి సర్వర్ సక్రమంగా ఉన్నట్లు కనిపిస్తుంది. కానీ game client Failed to get info from server వద్దనే నిలిచిపోతుంది, join కాదు. కారణం, client query మరియు game traffic UDP ద్వారా జరుగుతాయి.
sudo ufw allow OpenSSH
sudo ufw allow 30120/tcp
sudo ufw allow 30120/udp
sudo ufw enable
sudo ufw status verboseఏదైనా firewall enable చేసే సమయంలో రెండవ SSH sessionను open గా ఉంచండి. VPS కోసం ufw ప్రాథమికాలు పైన పేర్కొన్న rules ఒక్కటే సరిపోవడానికి కారణమైన default deny policyని వివరిస్తుంది.
చాలా providers guest వెలుపల network firewallను కూడా అమలు చేస్తారు. దాన్ని shell నుంచి కాకుండా panel నుంచి నియంత్రిస్తారు. ufw rule ఉండటం వల్ల ఆ layer గురించి ఏదీ నిర్ధారించలేం. బయట నుంచి TCP స్పందిస్తున్నప్పటికీ players connect కాలేకపోతే, ఎవరైనా ప్రయత్నిస్తున్న సమయంలో network trafficను పరిశీలించండి:
sudo tcpdump -ni any udp port 30120Packets చేరుతున్నాయంటే outer firewall సరిగానే ఉంది, సమస్య server లోపల ఉంది. ఏమీ కనిపించకపోతే serverకు ముందున్న ఏదో భాగం packetsను drop చేస్తోంది. తరువాత provider panelను పరిశీలించండి.
txAdminతో సర్వర్ను బహిర్గతం చేయకుండా నిర్వహించండి
మీరు ఇప్పటికే డౌన్లోడ్ చేసిన artifactలో txAdmin ఉంటుంది. run.sh ను +exec argument లేకుండా ప్రారంభిస్తే, అది TCP port 40120పై web panelను ప్రారంభించి, panel URLతో పాటు తక్కువకాలం మాత్రమే చెల్లుబాటు అయ్యే PINను consoleలో చూపిస్తుంది. ఆ PINను ఒకసారి ఉపయోగించి మీ Cfx.re accountను link చేయాలి. ఆ తర్వాత txAdmin సృష్టించే admin accountతో login చేయవచ్చు.
txAdminకు default password ఉండదు. కాబట్టి మార్చడం మరిచిపోయిన credential వల్ల ప్రమాదం ఏర్పడదు. ప్రమాదం panel స్వభావంలోనే ఉంది: ఇది remote console. ఇది సర్వర్ను restart చేయగలదు, server.cfg ను సవరించగలదు, server dataను deploy చేయగలదు మరియు మీ server userగా commandsను అమలు చేయగలదు. 40120 internet నుంచి అందుబాటులో ఉంటే, ఈ అన్ని చర్యలకు సంబంధించిన login page public addressపై కనిపిస్తుంది. Scanners కొన్ని గంటల్లోనే open panel portsను గుర్తిస్తాయి. Firewallలో 40120ను open చేయవద్దు. మీ స్వంత machine నుంచి SSH tunnel ద్వారా దాన్ని access చేయండి:
ssh -N -L 40120:127.0.0.1:40120 fivem@YOUR_SERVER_IPతర్వాత మీ browserలో http://127.0.0.1:40120 ను open చేయండి. Panel traffic SSH connectionలోనే ప్రయాణిస్తుంది. ఇతరులందరికీ ఆ port మూసి ఉంటుంది.
దీనిని వేరే విధంగా సరిచేయడానికి ప్రయత్నించే ముందు ఒక ముఖ్యమైన విషయం తెలుసుకోండి. ఏ interfaceకు bind కావాలో నిర్ణయించడానికి txAdmin TXHOST_INTERFACE (default 0.0.0.0) ను చదువుతుంది. అదే valueను FXServerపై కూడా బలవంతంగా వర్తింపజేస్తుందని documentation స్పష్టంగా చెబుతుంది. Panelను దాచడానికి దాన్ని 127.0.0.1 గా set చేస్తే, game server కూడా loopbackకు bind అవుతుంది. దాంతో ఏ player కూడా serverను చేరుకోలేడు. Panel portను ఆ variableతో కాకుండా firewallతో మూసివేయండి. Panelను వేరే portకు మార్చాలంటే TXHOST_TXA_PORT ను set చేయండి. ఇది 30120 మినహా ఏ valueనైనా అంగీకరిస్తుంది. పాత +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 reboot తర్వాత కొనసాగదు. అందువల్ల ముఖ్యమైన సేవలను 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.targetsudo systemctl daemon-reload
sudo systemctl enable --now fivem
systemctl status fivem
journalctl -u fivem -fenable --now రెండు పనులు చేస్తుంది: ఇది సేవను వెంటనే ప్రారంభిస్తుంది, అలాగే reboot తర్వాత సేవను తిరిగి ప్రారంభిస్తుంది. చేతితో ప్రారంభించిన సర్వర్ తదుపరి kernel update తర్వాత ఆగిపోతుంది. journalctl -u fivem -f ఇప్పుడు మీ console అవుతుంది, ఎందుకంటే systemd service కు మీరు టైప్ చేయగల terminal ఉండదు. బదులుగా txAdmin ద్వారా సర్వర్ను నిర్వహిస్తే, ExecStart నుంచి +exec server.cfg ను తొలగించి, WorkingDirectory ను /home/fivem/FXServer/server కు చూపించండి. కారణం, txAdmin స్వయంగా game server ను ప్రారంభించి, దాని data folder ను run.sh పక్కన ఉంచుతుంది.
ఏవి బ్యాకప్ చేయాలి, అవి ఎక్కడ ఉంటాయి
Artifacts ను బ్యాకప్ చేయాల్సిన అవసరం లేదు, ఎందుకంటే pinned build ను మళ్లీ ఒక నిమిషంలో download చేయవచ్చు. కింది నాలుగు అంశాలు మీ సొంతమైనవి.
~/FXServer/server-data/resources: మీరు install చేసిన, కొనుగోలు చేసిన లేదా రాసిన ప్రతి resource.server.cfg, అది ఎక్కడ ఉన్నా: admin principals తో సహా మొత్తం server configuration.~/FXServer/server/txData: txAdmin configuration, admin list మరియు logs. Linux artifact తో ఈ folderrun.shపక్కన సృష్టించబడుతుంది.- మీ framework ఉపయోగిస్తే MariaDB లేదా MySQL database. Characters, money, vehicles మరియు inventories అక్కడే ఉంటాయి. మరెక్కడా ఉండవు. అందువల్ల database dump లేకుండా resource backup ను restore చేస్తే world ఖాళీగా ఉంటుంది.
mkdir -p ~/backups
mysqldump -u fivem -p --single-transaction fivem_db > ~/backups/fivem-$(date +%F).sqlServer ఉన్న అదే disk లో ఉన్న dump backup కాదు, ఎందుకంటే విఫలమయ్యేది ఆ disk నే. దీన్ని schedule ప్రకారం server బయటకు పంపాలి. ఇందుకోసమే VPS నుంచి restic backups ఉపయోగపడుతుంది.
వైఫల్య పరిస్థితులు మరియు మీరు చూడబోయే సందేశాలు
Loader పై permission denied. Server వెంటనే ఈ విధమైన పంక్తితో మూసుకుపోతుంది:
run.sh: line 8: /home/fivem/FXServer/server/alpine/opt/cfx-server/ld-musl-x86_64.so.1: Permission deniedArchive ను sudo తో extract చేయడం వల్ల ఇది జరుగుతుంది. అందువల్ల alpine/ లోని ప్రతిదీ root కు చెందినదిగా మారుతుంది. fivem user అందులోని loader ను execute చేయలేడు. sudo chown -R fivem:fivem /home/fivem/FXServer తో ownership ను సరిచేయండి. లేదా ఆ folder ను తొలగించి, fivem గా మళ్లీ extract చేయండి.
tar download ను open చేయడానికి నిరాకరిస్తుంది. tar (child): xz: Cannot exec: No such file or directory అంటే xz-utils package లేదు అని అర్థం. అందువల్ల tar, .tar.xz archive ను decompress చేయలేడు. దాన్ని install చేసి మళ్లీ extract చేయండి. Download అసాధారణంగా త్వరగా పూర్తయితే, సాధారణంగా అది fx.tar.xz గా సేవ్ అయిన HTML error page అయి ఉంటుంది. tar దాన్ని corrupt archive గా చూపిస్తుంది.
Server నడుస్తోంది, కానీ ఎవరూ join కాలేరు. ముందుగా ports ను ఈ క్రమంలో తనిఖీ చేయండి: 30120 పై TCP మరియు UDP రెండింటికీ ఉన్న ufw rule, తరువాత provider యొక్క network firewall, ఆపై licence key తో నమోదైన IP. Box వెలుపలి నుంచి curl ను info.json పై అమలు చేస్తే, ఒకే command తో ఇది network సమస్యా లేదా server సమస్యా అన్నది వేరు చేయవచ్చు.
Players చేరుతున్న కొద్దీ tick time పెరుగుతుంది. txAdmin యొక్క performance panel server tick time ను చూపిస్తుంది. Player count పెరిగినప్పుడు tick time కూడా పెరుగుతూ, మొత్తం CPU వినియోగం తక్కువగా కనిపిస్తే, ఒక resource main thread ను పూర్తిగా వినియోగిస్తోంది. ఈ లెక్కను గుర్తుంచుకోండి: 4 vCPU ఉన్న box లో, ఒక core పూర్తిగా load అయినప్పుడు top లో మొత్తం CPU సుమారు 25 percent గా కనిపిస్తుంది. అది idle లాగా కనిపించినా వాస్తవానికి idle కాదు. ఒక్కోసారి ఒక resource ను stop చేసి, tick time ను monitor చేయండి. సమస్యకు కారణమైన resource ఏదో ఇలా గుర్తించవచ్చు.
ఇతర game servers తో దీన్ని పోల్చి పరిమాణాన్ని నిర్ణయించడం
ఆడగలిగే FiveM server కోసం వేగవంతమైన single core తో పాటు, మీరు వాస్తవంగా నడిపే resource జాబితాకు సరిపడే memory అవసరం. ఈ రెండు అంశాల ఆధారంగానే slot count నిర్ణయించబడుతుంది. Slow core ను ఎంత vCPUలు ఉన్నా సరిచేయలేరు. game servers కోసం VPS ఎంపిక mixed fleet కోసం ఈ సమతుల్యతను వివరిస్తుంది. VPSలో Minecraft server నడపడం కూడా అంతర్గతంగా ఇదే విధానాన్ని అనుసరిస్తుంది: ఒక ప్రధాన tick loop ఉంటుంది. అందువల్ల అక్కడ కూడా పరిమితిని per core speed నిర్ణయిస్తుంది.
FAQ
FiveM server కు ఎంత CPU మరియు RAM అవసరం?
FXServer తన game logic ను ఒకే main thread పై నడుపుతుంది. అందువల్ల నెమ్మదైన అనేక cores కంటే వేగవంతమైన ఒక core ఎక్కువ ఉపయోగకరం. ముందుగా CPU model యొక్క ప్రచురిత single-thread score ను పోల్చండి. తరువాత machine పై sysbench cpu --threads=1 run తో నిర్ధారించండి. vmstat లో steal time దాదాపు సున్నాగా ఉందో కూడా చూడండి. Memory విషయంలో, ప్రాథమిక Cfx.re server data కు కొన్ని వందల megabytes సరిపోతాయి. అయితే నలభై లేదా యాభై resources తో roleplay framework, అలాగే local database ఉంటే 8 GB సౌకర్యవంతంగా ఉంటుంది. 4 GB కంటే తక్కువ memory ఇబ్బందికరంగా ఉంటుంది. ఇవి community లో సాధారణంగా కనిపించే అంచనాలు మాత్రమే. వాటిని నమ్మకుండా peak సమయంలో free -m ను monitor చేయండి.
నా FiveM server లో చేరడానికి players GTA V ను కలిగి ఉండాలా?
అవును. కనెక్ట్ అయ్యే ప్రతి player కు Steam, Rockstar Games Launcher లేదా Epic Games లో GTA V యొక్క చట్టబద్ధమైన licensed copy అవసరం. అదనంగా ఉచిత Cfx.re account కూడా అవసరం. కనెక్ట్ చేయడానికి ముందు FiveM client game ownership ను తనిఖీ చేస్తుంది. దీనిని దాటడానికి supported మార్గం లేదు. ఈ తనిఖీని తప్పించుకునే ప్రయత్నం చేసే server ను నడపడం Cfx.re అనుమతించే పరిధికి వెలుపల ఉంటుంది.
FiveM server కు ఏ ports open గా ఉండాలి?
30120 port ను TCP మరియు UDP రెండింటిలోనూ open గా ఉంచాలి. info.json వంటి HTTP endpoints మరియు resource downloads TCP ను ఉపయోగిస్తాయి. Client యొక్క game traffic UDP ను ఉపయోగిస్తుంది. TCP మాత్రమే open చేస్తే server browser కు సమాధానం ఇస్తుంది, కానీ players కు Failed to get info from server కనిపిస్తుంది. txAdmin కు TCP 40120 అవసరం. ఈ port ను internet కు closed గా ఉంచాలి.
txAdmin ను port 40120 పై reachable గా ఉంచడం సురక్షితమేనా?
కాదు. txAdmin ఒక remote console. ఇది server ను restart చేయగలదు, configuration ను మార్చగలదు మరియు commands ను run చేయగలదు. అందువల్ల బయటికి expose చేసిన panel మొత్తం game server కు సంబంధించిన control plane ను expose చేసినట్లే. Default password లేదు. అయితే public login page కనిపించడం వల్ల మీరు గుర్తించలేని credential attacks కు అవకాశం ఏర్పడుతుంది. Firewall లో 40120 ను closed గా ఉంచండి. 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 పైకి బలవంతంగా మారుస్తుంది. దాంతో ఏ player కూడా connect కాలేడు.
నేను artifact build ను pin చేయాలా, లేక ఎల్లప్పుడూ తాజా recommended build తీసుకోవాలా?
సంఖ్యతో ఉన్న build folder ను pin చేయండి. Recommended label క్రమం తప్పకుండా కొత్త build కు మారుతుంది. అందువల్ల recommended build ను fetch చేసే script ప్రతి rebuild సమయంలో వేరే binary ను అందించవచ్చు. నిన్న సరిగ్గా పనిచేసిన server, మీ మార్పులకు సంబంధం లేని కారణాలతో redeploy సమయంలో విఫలమవచ్చు. మీరు పరీక్షించిన build number మరియు commit hash ను నమోదు చేయండి. ఉద్దేశపూర్వకంగా upgrade చేయండి. మునుపటి folder ను disk పై ఉంచండి. అప్పుడు systemd unit లోని ఒక path ను మార్చడం ద్వారా పాత build కు తిరిగి మారవచ్చు.