تشغيل خادم FiveM على VPS: دليل Ubuntu وFXServer
ثبّت FXServer على Ubuntu، وثبّت إصدار artifact محدداً، وأضف مفتاح Cfx.re، ثم افتح 30120 عبر TCP وUDP مع إبقاء txAdmin بعيداً عن الإنترنت العام.
ما يحتاج إليه خادم FiveM على VPS
يتكوّن خادم FiveM على VPS من مستخدم Linux واحد غير مميّز، وبنية artifact واحدة من Cfx.re، ومفتاح ترخيص واحد، ومنفذ مفتوح على كلٍّ من TCP وUDP. يستغرق التثبيت نحو عشر دقائق. ويتناول باقي هذا الدليل العوامل التي تحدد قابلية تشغيل الخادم: سرعة نواة CPU واحدة، والذاكرة التي تحتاج إليها مواردك، ولوحة إدارة يجب ألا تكون مكشوفة أبداً على عنوان عام.
هناك ثلاثة متطلبات ثابتة. تأتي ثنائيات الخادم، وتُسمّى artifacts، من قائمة البنيات الرسمية لدى Cfx.re. يأتي مفتاح الترخيص من بوابة Cfx.re على portal.cfx.re، وهي الخدمة التي تسميها الأدلة الأقدم keymaster، ويرتبط المفتاح بعنوان الجهاز الذي يستخدمه. يحتاج كل لاعب يتصل إلى نسخة شرعية خاصة به من GTA V (Grand Theft Auto V) على Steam أو Rockstar Games Launcher أو Epic Games، إضافة إلى حساب Cfx.re مجاني. يتحقق العميل من ملكية اللعبة عند تشغيله، لذلك لا يعمل خادم مبني على أي شيء آخر، ولا يتناول هذا الدليل أي محتوى التفافي من أي نوع.
استضافة الخادم تختلف عن تشغيل اللعبة على الجهاز، وهو ما يتعلّق بـإمكانية تشغيل اللعبة نفسها على VPS، ويمثل سؤالاً منفصلاً له إجابة مختلفة.
لماذا تحدد سرعة النواة الواحدة أداء خادم FiveM
يعمل FXServer، وهو الملف الثنائي لخادم FiveM، على منطق اللعبة ضمن مسار رئيسي واحد. يمر كل نص مورد، وكل معالج أحداث، وكل تحديث للحالة عبر هذه الحلقة الوحيدة. تساعد الأنوية الإضافية النواةَ، وقاعدة البيانات، ومكدس الشبكة. لكنها لا تقسّم حلقة اللعبة. لذلك قد يتقطّع الأداء تحت الحمل على خادم يضم 4 vCPU بنواة بطيئة، بينما يبقى سلساً على خادم يضم 2 vCPU بنواة سريعة.
وهذا يعكس عادة اختيار VPS المعتادة، حيث يكون عدد الأنوية هو الرقم الأبرز. تحقّق من سرعة النواة الواحدة قبل إنفاق المال. ابدأ بطراز وحدة المعالجة المركزية:
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، هو وقت السرقة: نسبة الوقت الذي كانت فيه وحدة المعالجة الافتراضية جاهزة للتشغيل، لكن المشرف الافتراضي أجبرها على الانتظار. تشير قيمة ثابتة تتجاوز 1 أو 2 إلى أنك تشارك نواة فعلية مع جيران مشغولين، ويظهر ذلك فوراً في حلقة اللعبة على شكل تقطّع وتأخر في الحركة. يشرح وقت السرقة الناتج عن جار مشغول كيفية قراءة هذا العمود وما الذي يمكنك فعله حياله.
تزداد الذاكرة وفقاً للموارد التي تشغّلها، لا وفقاً لعدد الخانات وحده. تعمل بيانات الخادم الأساسية من Cfx.re ضمن بضع مئات من الميغابايت. أما إطار لعب الأدوار الذي يضم أربعين أو خمسين مورداً وقاعدة بيانات MariaDB على الخادم نفسه، فيحتاج إلى موارد مختلفة: يُعد 4 GB حداً أدنى مناسباً، وتكون 8 GB مريحة عند 32 إلى 64 خانة. هذه أرقام شائعة منشورة في إعدادات المجتمع، لذا تعامل معها كنقطة بداية وراقب free -m أثناء الحمل الفعلي للاعبين.
أنشئ مستخدماً وثبّت التبعيات
شغّل الخادم باستخدام مستخدم عادي، ولا تستخدم root مطلقاً. هناك سببان لذلك. استخدام root عادة سيئة في أي خدمة متاحة عبر الإنترنت. كما تعمل حزمة Linux التنفيذية داخل نظام ملفات root مضمّن من Alpine Linux، لذلك لا يمكن لأي مستخدم آخر تنفيذ الملفات التي فكّها 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 محدد الإصدار
يوجد بناء Linux في قناة build_proot_linux على خادم artifacts التابع لـCfx.re. تعرض القائمة أحد الأبنية على أنّه الأحدث والموصى به، ويتغير هذا الوسم إلى بناء جديد كل بضعة أسابيع. استخدم مجلد الإصدار المرقّم بدلاً من ذلك. عند إعادة بناء الخادم الشهر المقبل، ستحصل على الملف الثنائي نفسه الذي اختبرته هذا الشهر، وتصبح الترقية قراراً تتخذه عن قصد.
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كان البناء 25770 يحمل وسم البناء الموصى به عندما قرأت القائمة في أغسطس 2026. افتح الدليل نفسه في متصفح للاطلاع على البناء الحالي، ثم الصق اسم ذلك المجلد، وهو رقم البناء متبوعاً بتجزئة commit، في URL.
يجب أن يعرض ls الآن run.sh ودليلاً باسم alpine. هذا الدليل هو جوهر العملية: يتضمن artifact الخاص بـLinux نظام ملفات root صغيراً مبنياً على Alpine، ويشغّل الخادم داخله باستخدام proot، وهي أداة في مساحة المستخدم تحاكي chroot من دون امتيازات root. لذلك يعمل التنزيل نفسه على Ubuntu وDebian وRocky من دون حزم خاصة بالتوزيعة.
استنسخ الآن بيانات الخادم الأساسية، التي تحتوي على الموارد الافتراضية التي يبدأ بها server.cfg:
git clone https://github.com/citizenfx/cfx-server-data.git ~/FXServer/server-dataاحصل على مفتاح ترخيص واكتب server.cfg
سجّل الدخول إلى portal.cfx.re باستخدام حساب Cfx.re وأنشئ مفتاح خادم. يطلب منك البوابة عنوان IP للجهاز الذي سيستخدم المفتاح، ويرتبط المفتاح بذلك العنوان. عند الانتقال إلى VPS جديد، عدّل المفتاح في البوابة بدلاً من إنشاء مفتاح ثانٍ. يسري التعديل فوراً، لكن 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.adminيقبل sv_maxclients قيمة من 1 إلى 2048. تتطلب القيمة 32 أو أكثر ضبط onesync على on أو legacy، بينما تتطلب القيمة التي تتجاوز 64 ضبط on. يحدد OneSync وضع وعي الخادم بحالة اللعبة، وهو ما يتيح للخادم تجاوز العدد الصغير الأساسي للخانات في اللعبة. ضبط 128 خانة مع تعطيل OneSync لا يمنحك 128 خانة، بل ينتج إعداداً يرفضه الخادم.
يأخذ sv_licenseKey المفتاح من دون علامات اقتباس ومن دون مسافة زائدة في نهاية السطر. يقسم FXServer ذلك السطر عند المسافات البيضاء، لذلك يؤدي أي محرف زائد إلى فشل التحقق، ويرفض الخادم بدء التشغيل.
يغيب rcon_password عن ذلك الملف عمداً. لا يتم تفعيل RCON (وحدة التحكم عن بُعد) إلا عند ضبط المتغير، وعندئذ يستمع إلى منفذ UDP نفسه الذي تستخدمه اللعبة. كلمة مرور RCON على منفذ عام هي قناة أوامر عن بُعد إلى خادمك. اتركها غير مضبوطة ما لم تكن لديك حاجة محددة إليها، واجعلها طويلة وعشوائية إذا فعّلتها.
يبقى sv_scriptHookAllowed بالقيمة false. تضع الوثائق الرسمية علامة «غير موصى به» عليه، لأن السماح لعملاء Script Hook V يعرّض الخادم لإساءة استخدام من جهة العميل.
يمنح add_principal identifier.fivem:1 صلاحيات المسؤول لحساب Cfx.re ذي المعرّف 1. استبدل 1 بمعرّفك الرقمي، وإلا فقد منحت صلاحيات المسؤول لحساب شخص آخر ولم تمنحها لحسابك.
شغّله مرة واحدة يدوياً:
cd ~/FXServer/server-data
bash ~/FXServer/server/run.sh +exec server.cfgمن جلسة SSH ثانية، اطلب من الخادم عرض معلوماته:
curl -s http://127.0.0.1:30120/info.json | head -c 200يعني JSON الذي يذكر متغيرات الخادم وموارده أن FXServer مرتبط بالمنفذ ويستجيب. يعني Connection refused أنه لم يرتبط بالمنفذ، لذلك راجع مخرجات وحدة التحكم بدلاً من التخمين.
يطبع الخادم الذي لا يملك مفتاحاً الرسالة التالية ثم يتوقف:
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 القديم. يقود ذلك العنوان إلى بوابة Cfx.re نفسها. إذا كان المفتاح مضبوطاً وما زال الخادم يرفض التشغيل، فالسبب المعتاد هو أن عنوان IP المسجّل مع المفتاح لم يعد يطابق عنوان هذا الجهاز.
ما المنافذ التي يحتاج FiveM إلى فتحها؟
يحتاج إلى المنفذ 30120 عبر TCP (بروتوكول التحكم في الإرسال) وUDP (بروتوكول مخططات بيانات المستخدم). يستخدم 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 ثانية مفتوحة أثناء تفعيل أي جدار ناري. يشرح أساسيات ufw لـ VPS سياسة الرفض الافتراضية التي تجعل القواعد أعلاه كافية بمفردها.
يشغّل معظم المزوّدين أيضاً جداراً نارياً للشبكة خارج الجهاز الضيف، ويمكن التحكم فيه من لوحة التحكم بدلاً من الصدفة. لا تثبت قاعدة ufw شيئاً بشأن هذه الطبقة. عندما يستجيب TCP من خارج الخادم، ولا يزال اللاعبون غير قادرين على الاتصال، راقب حركة الشبكة أثناء محاولة أحدهم الاتصال:
sudo tcpdump -ni any udp port 30120وصول الحزم يعني أن الجدار الناري الخارجي يعمل، وأن الخلل داخل الخادم. أما عدم وصول أي حزم فيعني أن شيئاً أمام الخادم يسقطها، لذا تحقّق من لوحة تحكم المزوّد بعد ذلك.
إدارة الخادم باستخدام txAdmin من دون تعريضه للإنترنت
يتضمن artifact الذي نزّلته مسبقاً txAdmin. شغّل run.sh من دون وسيطة +exec، وسيشغّل لوحة ويب على منفذ TCP 40120، ثم يطبع عنوان URL للوحة ورمز PIN قصير الصلاحية في وحدة التحكم. استخدم رمز PIN مرة واحدة لربط حساب Cfx.re الخاص بك. بعد ذلك، سجّل الدخول باستخدام حساب المسؤول الذي ينشئه txAdmin.
لا يملك 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 لإخفاء اللوحة، فستربط أيضاً خادم اللعبة بواجهة loopback، ولن يتمكن أي لاعب من الوصول إلى الخادم. أغلق منفذ اللوحة باستخدام جدار الحماية، لا باستخدام ذلك المتغير. لنقل اللوحة إلى منفذ آخر، اضبط TXHOST_TXA_PORT، الذي يقبل أي قيمة باستثناء 30120. يظهر convar الأقدم +set txAdminPort في أدلة كثيرة، لكن وثائق txAdmin نفسها تضع علامة deprecated عليه وتذكر أنه سيتوقف عن العمل في إصدار مستقبلي.
أبقِ الخادم قيد التشغيل بعد تسجيل الخروج
يتوقف bash run.sh عند انتهاء جلسة SSH. يكون tmux مناسباً أثناء الاختبار: شغّل tmux new -s fivem، ثم شغّل الخادم، واضغط Ctrl-b ثم d لفصل الجلسة، واستخدم tmux attach -t fivem للعودة إليها. لا تستمر جلسة tmux بعد إعادة التشغيل، لذلك يجب وضع كل ما يهمك في وحدة systemd.
اكتب /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 -fينفّذ enable --now مهمتين: يبدأ الخدمة فوراً، ويعيد تشغيلها بعد إعادة التشغيل. يختفي الخادم الذي شغّلته يدوياً بعد تحديث kernel التالي. أصبحت 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 من VPS.
أنماط الفشل والعبارات التي ستظهر
رفض الإذن عند أداة التحميل. يتوقف الخادم فوراً ويعرض سطراً مثل هذا:
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. ثبّت الحزمة ثم أعد الاستخراج. عادةً ما يكون التنزيل الذي يكتمل بسرعة كبيرة جداً صفحة خطأ HTML محفوظة باسم fx.tar.xz، ويبلغ tar عن ذلك باعتباره أرشيفاً تالفاً.
يعمل الخادم ولا يستطيع أحد الانضمام. افحص المنافذ أولاً بالترتيب التالي: قاعدة ufw لكل من TCP وUDP على المنفذ 30120، ثم جدار الشبكة الناري الخاص بمزوّد الخدمة، ثم عنوان IP المسجّل لمفتاح الترخيص. يؤدي تنفيذ curl مقابل info.json من خارج الخادم إلى التمييز بين مشكلة في الشبكة ومشكلة في الخادم باستخدام أمر واحد.
يزداد زمن النبضة مع انضمام اللاعبين. تعرض لوحة أداء txAdmin زمن نبضة الخادم. عندما يرتفع الزمن مع زيادة عدد اللاعبين بينما يبدو استخدام CPU الإجمالي منخفضاً، يكون أحد الموارد قد استنفد قدرة الخيط الرئيسي. تذكّر الحساب: في خادم يحتوي على 4 vCPU، يظهر امتلاء نواة واحدة تقريباً على أنه 25 بالمئة من إجمالي CPU في top، ما يبدو استخداماً منخفضاً لكنه ليس كذلك. أوقف الموارد واحداً تلو الآخر وراقب زمن النبضة لتحديد المورد الذي يستهلك القدرة.
مقارنة متطلبات FiveM بخوادم الألعاب الأخرى
يتطلب خادم FiveM القابل للعب نواة واحدة سريعة وذاكرة كافية لقائمة الموارد التي تشغّلها فعلياً. يعتمد عدد الخانات على هذين العاملين، ولا يمكن لأي عدد من vCPUs معالجة بطء النواة. يوضّح اختيار VPS لخوادم الألعاب هذه المفاضلة عند تشغيل مجموعة متنوعة من الخوادم، كما أن تشغيل خادم Minecraft على VPS يتبع المبدأ نفسه في الأساس: حلقة tick رئيسية واحدة، ولذلك تحدد سرعة النواة الواحدة الحد الأعلى هناك أيضاً.
FAQ
ما مقدار CPU وRAM الذي يحتاج إليه خادم FiveM؟
تُعد نواة واحدة سريعة أهم من عدة أنوية بطيئة، لأن FXServer يشغّل منطق اللعبة على خيط رئيسي واحد. قارن نتيجة single thread المنشورة لطراز CPU، ثم أكّدها على الخادم باستخدام sysbench cpu --threads=1 run، وتحقق من أن vmstat يعرض وقت steal قريباً من الصفر. بالنسبة إلى الذاكرة، تعمل بيانات خادم Cfx.re الأساسية ضمن بضع مئات من الميغابايت، بينما يكون إطار roleplay يضم أربعين أو خمسين مورداً مع قاعدة بيانات محلية مريحاً عند 8 GB ويصبح ضيقاً عند أقل من 4 GB. هذه أرقام شائعة بين المستخدمين، لذلك راقب free -m أثناء ذروة الاستخدام بدلاً من الاعتماد عليها.
هل يحتاج اللاعبون إلى امتلاك GTA V للانضمام إلى خادم FiveM الخاص بي؟
نعم. يحتاج كل لاعب متصل إلى نسخة شرعية ومرخّصة من GTA V على Steam أو Rockstar Games Launcher أو Epic Games، إضافة إلى حساب Cfx.re مجاني. يتحقق عميل FiveM من ملكية اللعبة قبل الاتصال. لا توجد طريقة مدعومة لتجاوز ذلك، وتشغيل خادم يحاول الالتفاف عليه خارج ما يسمح به Cfx.re.
ما المنافذ التي يجب فتحها لخادم FiveM؟
يجب فتح المنفذ 30120 عبر TCP وUDP معاً. تستخدم نقاط HTTP النهائية مثل info.json وتنزيلات الموارد TCP، بينما تستخدم حركة مرور اللعبة الخاصة بالعميل UDP. يؤدي فتح TCP فقط إلى حالة مربكة، إذ يستجيب الخادم للمتصفح بينما يرى اللاعبون Failed to get info from server. يحتاج txAdmin إلى TCP 40120، ويجب أن يبقى هذا المنفذ مغلقاً أمام الإنترنت.
هل من الآمن إبقاء txAdmin قابلاً للوصول عبر المنفذ 40120؟
لا. txAdmin وحدة تحكم عن بُعد تعيد تشغيل الخادم، وتعدّل الإعدادات، وتشغّل الأوامر، لذلك فإن لوحة مكشوفة تعني كشف مستوى التحكم في خادم اللعبة بالكامل. لا توجد كلمة مرور افتراضية، لكن صفحة تسجيل دخول عامة تتيح تنفيذ محاولات تخمين بيانات الاعتماد دون أن تتمكن من رؤيتها. اترك 40120 مغلقاً في الجدار الناري، واصل إلى اللوحة عبر نفق SSH باستخدام ssh -N -L 40120:127.0.0.1:40120 user@server، ثم انتقل إلى http://127.0.0.1:40120 في المتصفح. لا تربط txAdmin بالعنوان 127.0.0.1 باستخدام TXHOST_INTERFACE، لأن هذا الإعداد يجبر خادم اللعبة أيضاً على استخدام loopback، ولن يتمكن أي لاعب من الاتصال.
هل ينبغي تثبيت إصدار artifact محدد أم استخدام أحدث إصدار موصى به دائماً؟
ثبّت مجلد الإصدار المرقّم. تتغير تسمية الإصدار الموصى به بانتظام إلى إصدار جديد، لذلك قد يجلب لك script ينزّل الإصدار الموصى به ملفاً تنفيذياً مختلفاً في كل عملية إعادة بناء، وقد يتعطل خادم كان يعمل بالأمس عند إعادة النشر لأسباب لا تتعلق بتغييراتك. سجّل رقم الإصدار وcommit hash اللذين اختبرتهما، ونفّذ الترقية عن قصد، واحتفظ بالمجلد السابق على القرص حتى تتمكن من الرجوع إليه بتعديل مسار واحد في وحدة systemd الخاصة بك.