این راهنما تمام موارد مورد نیاز برای پیکربندی و اجرای سرور اختصاصی Factorio شما در Legion Hosting را پوشش میدهد، از جمله احراز هویت حساب کاربری، متغیرهای استارتاپ، تنظیمات سرور، تولید جهان، اتصال بازیکنان و مدیریت ذخیرهها. برای نصب مادها، به نصب مادهای Factorio مراجعه کنید.
۱. دریافت توکن حساب Factorio
نام کاربری و توکن حساب Factorio ضروری هستند اگر میخواهید سرور شما در مرورگر سرورهای چندنفره عمومی نمایش داده شود. همچنین برای دانلود مادها از پورتال رسمی مادها نیز مورد نیاز هستند.
- به factorio.com/login بروید و وارد حساب Factorio خود شوید.
- به صفحه پروفایل خود بروید.
- به بخش API Authentication Tokens اسکرول کنید.
- روی Generate کلیک کنید تا یک توکن جدید ایجاد شود (یا توکن موجود خود را کپی کنید).
- رشته توکن را کپی کنید -- آن را در تب Startup در GPanel در فیلد
SERVER_TOKENقرار خواهید داد.
SERVER_USERNAME و SERVER_TOKEN را خالی بگذارید. با این حال، سرور بدون اعتبارنامههای معتبر قادر به دانلود خودکار مادها از پورتال مادها نخواهد بود.
۲. اولین راهاندازی
پس از خرید سرور Factorio خود از Legion Hosting، مراحل زیر را برای اولین بار اجرا کنید:
- وارد GPanel شوید و سرور Factorio خود را انتخاب کنید.
- به تب Startup بروید.
- متغیر FACTORIO_VERSION را تنظیم کنید:
latest-- آخرین نسخه پایدار را نصب میکند (برای اکثر بازیکنان توصیه میشود).experimental-- آخرین نسخه آزمایشی/بتا را با جدیدترین ویژگیها نصب میکند، اما ممکن است باگ داشته باشد.
- SERVER_NAME را به نامی که میخواهید در مرورگر سرور نمایش داده شود تنظیم کنید.
- SERVER_USERNAME و SERVER_TOKEN را در صورت نیاز به لیست عمومی سرور پر کنید (بخش بالا را ببینید).
- به تب Console بروید و روی Start کلیک کنید.
- سرور فایلهای سرور اختصاصی Factorio را دانلود کرده و یک ذخیره پیشفرض تولید میکند. این ممکن است در اولین راهاندازی چند دقیقه طول بکشد.
FACTORIO_VERSION را در تب Startup بهروزرسانی کنید و سرور خود را ریستارت کنید. نسخه جدید به صورت خودکار دانلود خواهد شد.
۳. متغیرهای استارتاپ GPanel
این متغیرها در تب Startup در GPanel پیکربندی میشوند و رفتار اصلی سرور را کنترل میکنند. آنها در هر بار راهاندازی سرور اعمال میشوند.
| متغیر | پیشفرض | توضیحات |
|---|---|---|
FACTORIO_VERSION |
latest |
نسخه سرور برای نصب. از latest برای نسخه پایدار یا experimental برای آخرین بتا استفاده کنید. |
SAVE_NAME |
gamesave |
نام فایل ذخیرهای که سرور در هنگام راهاندازی بارگذاری میکند (بدون پسوند). |
SERVER_NAME |
|
نام سرور که در مرورگر چندنفره نمایش داده میشود. |
SERVER_DESC |
|
توضیح کوتاه که در کنار نام سرور در مرورگر نمایش داده میشود. |
SERVER_USERNAME |
|
نام کاربری حساب Factorio شما. برای لیست عمومی سرور و دانلود مادها ضروری است. |
SERVER_TOKEN |
|
توکن احراز هویت حساب Factorio شما. در کنار نام کاربری برای لیست عمومی ضروری است. |
MAX_SLOTS |
20 |
حداکثر تعداد اسلاتهای بازیکن در سرور. |
SAVE_INTERVAL |
10 |
فاصله زمانی ذخیره خودکار بر حسب دقیقه. |
SAVE_SLOTS |
5 |
تعداد اسلاتهای ذخیره خودکار چرخشی. ذخیرههای قدیمیتر هنگام رسیدن به این حد بازنویسی میشوند. |
AFK_KICK |
0 |
دقایق قبل از اخراج بازیکن غیرفعال. 0 اخراج AFK را غیرفعال میکند. |
4. server-settings.json
فایل اصلی پیکربندی سرور در مسیر زیر قرار دارد:
data/server-settings.json
این فایل را از طریق File Manager در GPanel یا از طریق SFTP ویرایش کنید. مهمترین تنظیمات در زیر آمده است.
SERVER_NAME، SERVER_DESC، MAX_SLOTS، SERVER_USERNAME و SERVER_TOKEN) ممکن است مقادیر مربوطه در server-settings.json را در هنگام راهاندازی بازنویسی کنند. اگر تنظیمات اعمال نمیشوند، ابتدا مقادیر تب Startup را بررسی کنید.
| تنظیم | پیشفرض | توضیحات |
|---|---|---|
name |
"" |
نام سرور که در مرورگر چندنفره نمایش داده میشود. |
description |
"" |
توضیحات سرور که در مرورگر نمایش داده میشود. |
tags |
[] |
آرایهای از رشتههای برچسب (مانند ["modded", "vanilla", "friendly"]) برای فیلتر کردن در مرورگر. |
max_players |
0 |
حداکثر بازیکنان. 0 به معنای نامحدود است (به جای آن از متغیر استارتاپ MAX_SLOTS استفاده کنید). |
visibility |
{"public": true, "lan": true} |
کنترل میکند که آیا سرور در مرورگر عمومی و/یا مرورگر LAN نمایش داده شود. برای نمایش عمومی نیاز به نام کاربری و توکن معتبر دارد. |
game_password |
"" |
رمز عبور مورد نیاز برای پیوستن. برای بدون رمز خالی بگذارید. |
require_user_verification |
true |
وقتی true باشد، فقط بازیکنانی با حساب تأیید شده Factorio میتوانند بپیوندند. |
autosave_interval |
10 |
فاصله زمانی ذخیره خودکار بر حسب دقیقه (ممکن است توسط متغیر استارتاپ SAVE_INTERVAL بازنویسی شود). |
autosave_slots |
5 |
تعداد فایلهای ذخیره خودکار چرخشی (ممکن است توسط متغیر استارتاپ SAVE_SLOTS بازنویسی شود). |
afk_autokick_interval |
0 |
مهلت اخراج AFK بر حسب دقیقه. 0 آن را غیرفعال میکند. |
auto_pause |
true |
بازی را وقتی هیچ بازیکنی متصل نیست متوقف میکند. منابع سرور شما را ذخیره میکند. |
only_admins_can_pause_the_game |
true |
قابلیت توقف بازی را فقط به ادمینهای سرور محدود میکند. |
admins |
[] |
آرایهای از نامهای کاربری Factorio که دارای امتیازات ادمین هستند (مانند ["YourUsername"]). ادمینها میتوانند بازیکنان را اخراج، مسدود و دستورات را اجرا کنند. |
نمونه server-settings.json
{
"name": "My Factorio Server",
"description": "A Legion Hosting Factorio Server",
"tags": ["vanilla", "friendly"],
"max_players": 0,
"visibility": {
"public": true,
"lan": true
},
"username": "YourFactorioUsername",
"token": "YourTokenHere",
"game_password": "",
"require_user_verification": true,
"max_heartbeats_per_second": 60,
"allow_commands": "admins-only",
"autosave_interval": 10,
"autosave_slots": 5,
"afk_autokick_interval": 0,
"auto_pause": true,
"only_admins_can_pause_the_game": true,
"max_upload_in_kilobytes_per_second": 0,
"max_upload_slots": 5,
"minimum_latency_in_ticks": 0,
"ignore_player_limit_for_returning_players": false,
"admins": ["YourFactorioUsername"]
}
۵. تولید نقشه
Factorio از دو فایل پیکربندی برای کنترل نحوه تولید نقشههای جدید و رفتار جهان در طول بازی استفاده میکند.
map-gen-settings.json (تولید جهان)
در مسیر زیر قرار دارد:
data/map-gen-settings.json
این فایل زمین، توزیع منابع و جایگذاری دشمنان را هنگام ایجاد نقشه جدید کنترل میکند. تغییرات در این فایل فقط هنگام تولید نقشه جدید اعمال میشوند -- آنها ذخیره موجود را تغییر نمیدهند.
| تنظیم | توضیحات |
|---|---|
width / height |
ابعاد نقشه بر حسب تایل. 0 به معنای بینهایت است (پیشفرض). مقادیر مشخص را برای محدود کردن اندازه نقشه تنظیم کنید. |
seed |
سید تولید نقشه. از null برای سید تصادفی استفاده کنید، یا یک عدد مشخص برای بازتولید نقشه خاص وارد کنید. |
peaceful_mode |
به صورت پیشفرض false. وقتی true باشد، دشمنان اول حمله نمیکنند. |
autoplace_controls |
فراوانی، اندازه و غنای منابع و ویژگیهای زمین را کنترل میکند. هر ورودی (مانند iron-ore، copper-ore، coal، stone، crude-oil، trees، enemy-base) مقادیر frequency، size و richness را قبول میکند. |
cliff_settings |
تولید صخرهها را کنترل میکند: name، cliff_elevation_0 (ارتفاع اولین صخره)، cliff_elevation_interval (فاصله بین سطوح صخره)، richness (تراکم صخره). |
starting_area |
اندازه منطقه شروع امن (بدون دشمن). پیشفرض 1 است. مقادیر بالاتر فضای بیشتری قبل از برخورد با بایترها فراهم میکنند. |
property_expression_names |
عبارات پیشرفته زمین برای پوشش آب، ارتفاع و رطوبت. control-setting:moisture:bias و کلیدهای مشابه تولید زمین را تنظیم میکنند. |
مقادیر فراوانی، اندازه و غنای منابع
برای هر منبع در autoplace_controls، میتوانید سه ویژگی را تنظیم کنید. مقادیر ضرایبی هستند که 1 حالت عادی است:
| ویژگی | اثر |
|---|---|
frequency |
هر چند وقت یکبار منبع ظاهر میشود. بالاتر = تکههای بیشتر پخش شده در سراسر نقشه. |
size |
هر تکه منبع چقدر بزرگ است. |
richness |
هر تایل منبع قبل از تخلیه چند آیتم تولید میکند. |
نمونه map-gen-settings.json
{
"width": 0,
"height": 0,
"seed": null,
"peaceful_mode": false,
"autoplace_controls": {
"iron-ore": { "frequency": 1, "size": 1.5, "richness": 2 },
"copper-ore": { "frequency": 1, "size": 1.5, "richness": 2 },
"coal": { "frequency": 1, "size": 1, "richness": 1.5 },
"stone": { "frequency": 1, "size": 1, "richness": 1.5 },
"crude-oil": { "frequency": 1, "size": 1, "richness": 2 },
"uranium-ore": { "frequency": 1, "size": 1, "richness": 1 },
"trees": { "frequency": 1, "size": 1, "richness": 1 },
"enemy-base": { "frequency": 1, "size": 1, "richness": 1 }
},
"cliff_settings": {
"name": "cliff",
"cliff_elevation_0": 10,
"cliff_elevation_interval": 40,
"richness": 1
},
"starting_area": 1,
"property_expression_names": {
"control-setting:moisture:frequency:multiplier": "1",
"control-setting:moisture:bias": "0"
}
}
map-settings.json (رفتار جهان در زمان اجرا)
در مسیر زیر قرار دارد:
data/map-settings.json
این فایل رفتار زمان اجرا مانند انتشار آلودگی، تکامل دشمن و گسترش را کنترل میکند. برخلاف map-gen-settings.json، برخی از این تنظیمات میتوانند هنگام تغییر و بارگذاری مجدد نقشه بر ذخیره موجود تأثیر بگذارند.
| بخش | تنظیمات کلیدی | توضیحات |
|---|---|---|
pollution |
enabled, diffusion_ratio, ageing, min_to_diffuse |
کنترل میکند که آیا آلودگی منتشر میشود، با چه سرعتی پخش میشود و چقدر سریع تجزیه میشود. غیرفعال کردن آلودگی همچنین حملات دشمن ناشی از آلودگی را غیرفعال میکند. |
enemy_evolution |
enabled, time_factor, destroy_factor, pollution_factor |
کنترل میکند دشمنان چگونه با گذشت زمان، از تخریب اسپاونرها و از آلودگی تکامل مییابند. ضرایب پایینتر = تکامل آهستهتر. enabled را روی false تنظیم کنید تا تکامل کاملاً متوقف شود. |
enemy_expansion |
enabled, max_expansion_distance, settler_group_min_size, settler_group_max_size, min_expansion_cooldown, max_expansion_cooldown |
کنترل میکند که آیا دشمنان پایگاههای جدید میسازند و چقدر تهاجمی گسترش مییابند. غیرفعال کنید تا از پخش شدن بایترها در سراسر نقشه جلوگیری شود. |
steering |
default, moving |
رفتار مسیریابی برای واحدها. به ندرت نیاز به تنظیم دارد. |
نمونه map-settings.json
{
"pollution": {
"enabled": true,
"diffusion_ratio": 0.02,
"min_to_diffuse": 15,
"ageing": 1,
"expected_max_per_chunk": 150,
"min_to_show_per_chunk": 50
},
"enemy_evolution": {
"enabled": true,
"time_factor": 0.000004,
"destroy_factor": 0.002,
"pollution_factor": 0.0000009
},
"enemy_expansion": {
"enabled": true,
"max_expansion_distance": 7,
"settler_group_min_size": 5,
"settler_group_max_size": 20,
"min_expansion_cooldown": 14400,
"max_expansion_cooldown": 216000
}
}
۶. ایجاد نقشه جدید
به صورت پیشفرض، سرور شما در اولین راهاندازی یک نقشه با تنظیمات استاندارد تولید میکند. برای ایجاد نقشه جدید با تنظیمات تولید سفارشی:
- سرور خود را در GPanel متوقف کنید.
data/map-gen-settings.jsonوdata/map-settings.jsonرا با تنظیمات تولید جهان و زمان اجرای مورد نظر ویرایش کنید (بخش بالا را ببینید).- به پوشه saves در File Manager بروید.
- فایل ذخیره موجود (مانند
gamesave.zip) را حذف یا تغییر نام دهید تا سرور یک فایل جدید تولید کند. - مطمئن شوید متغیر استارتاپ
SAVE_NAMEبا نام فایل ذخیره مورد نظر مطابقت دارد (پیشفرضgamesaveاست). - سرور را شروع کنید. سرور تشخیص میدهد که هیچ ذخیرهای با آن نام وجود ندارد و یک نقشه جدید با تنظیمات بهروز شده شما تولید میکند.
seed را در map-gen-settings.json قبل از تولید روی یک عدد مشخص تنظیم کنید. از null برای سید تصادفی استفاده کنید.
۷. نحوه اتصال
دو روش برای اتصال بازیکنان به سرور Factorio شما وجود دارد.
گزینه الف: مرورگر سرور عمومی
اگر SERVER_USERNAME و SERVER_TOKEN را با اعتبارنامههای معتبر Factorio پیکربندی کردهاید و visibility.public روی true تنظیم شده است:
- Factorio را باز کنید و روی Play کلیک کنید.
- Multiplayer را انتخاب کنید.
- روی Browse public games کلیک کنید.
- از نوار جستجو برای پیدا کردن سرور خود با نام استفاده کنید.
- روی سرور کلیک کنید تا بپیوندید. اگر رمز عبور بازی تنظیم شده، آن را وارد کنید.
گزینه ب: اتصال مستقیم
- Factorio را باز کنید و روی Play کلیک کنید.
- Multiplayer را انتخاب کنید.
- روی Connect to address کلیک کنید.
- آدرس IP و port سرور خود را با فرمت زیر وارد کنید:
IP:Port - روی Connect کلیک کنید.
۸. مدیریت ذخیرهها
پیکربندی ذخیره خودکار
ذخیرههای خودکار توسط دو متغیر استارتاپ کنترل میشوند:
SAVE_INTERVAL-- هر چند وقت یکبار سرور به صورت خودکار ذخیره میکند، بر حسب دقیقه (پیشفرض: ۱۰).SAVE_SLOTS-- تعداد فایلهای ذخیره خودکار چرخشی نگهداری شده (پیشفرض: ۵). پس از رسیدن به حد، قدیمیترین ذخیره خودکار بازنویسی میشود.
فایلهای ذخیره خودکار در پوشه saves با نامهایی مانند _autosave1.zip، _autosave2.zip و غیره ذخیره میشوند.
ذخیره دستی
میتوانید در هر زمان با اجرای دستور زیر در کنسول GPanel یک ذخیره دستی انجام دهید:
/server-save
این دستور یک ذخیره با نام فعلی SAVE_NAME ایجاد میکند. همچنین میتوانید با نام فایل مشخص ذخیره کنید:
/server-save my-backup
آپلود ذخیره موجود
برای انتقال یک جهان Factorio موجود به سرور خود:
- سرور خود را در GPanel متوقف کنید.
- فایل ذخیره محلی خود را پیدا کنید. در اکثر سیستمها، ذخیرههای Factorio در مسیر زیر یافت میشوند:
- Windows:
%APPDATA%\Factorio\saves\ - Linux:
~/.factorio/saves/ - macOS:
~/Library/Application Support/factorio/saves/
- Windows:
- فایل ذخیره
.zipرا به پوشه saves در سرور خود از طریق File Manager یا SFTP آپلود کنید. - در تب Startup در GPanel،
SAVE_NAMEرا به نام فایل آپلود شده (بدون پسوند.zip) تنظیم کنید. - سرور را شروع کنید.
FACTORIO_VERSION را با نسخهای که ذخیره شما با آن ایجاد شده مطابقت دهید.
مقالات مرتبط
- نصب مادهای Factorio
- نحوه پیدا کردن IP و Port سرور
- نحوه آپلود فایلها از طریق SFTP
- راهنمای راهاندازی سرور
نیاز به کمک دارید؟
اگر مشکلاتی دارید که در این راهنما پوشش داده نشدهاند، یک تیکت پشتیبانی ارسال کنید با جزئیات سرور و توضیح مشکل.