- Зачем мне устанавливать сервер Factorio на Linux-сервер?
- Почему для Factorio лучше выбрать VPS или выделенный сервер?
- Требования к Factorio Headless и загрузка
- Первоначальная настройка и запуск сервера.
- Создайте службу systemd для автоматического запуска.
- Настройка файла server-settings.json (важные моменты)
- Запуск Factorio в Docker (альтернативный метод)
- Безопасность и межсетевой экран
- Автоматическое резервное копирование и сохранение сохранений.
- Оптимизировано для низкого пинга и повышения производительности.
- Мониторинг и журналы
- Советы по модификациям и обновлениям
- Практические примеры и устранение распространенных проблем.
- Воспользуйтесь услугами компании для получения наилучшего опыта.
- Заключение и заключительные предложения
- Часто задаваемые вопросы
Зачем мне устанавливать сервер Factorio на Linux-сервер?
В этом руководстве представлено пошаговое техническое описание процесса настройки игрового сервера для онлайн-игр. Факторио В этой статье объясняется, как это работает на сервере Linux (VPS или выделенном сервере). Администраторы серверов, геймеры и команды разработчиков игр Предназначен для создания стабильного сервера с низкой задержкой и высокой безопасностью для многопользовательских игр.
Почему для Factorio лучше выбрать VPS или выделенный сервер?
Factorio не подходит для серверов с большим количеством игроков или ресурсоемкими модификациями. Мощный одноядерный процессорДля этого требуется достаточно большой объем памяти и высокая скорость ввода-вывода. Выбор между VPS и выделенным сервером зависит от количества игроков и бюджета:
- Небольшая группа (до 8 игроков): Для работы достаточно VPS с быстрым процессором, 2 виртуальными процессорами и 4–8 ГБ оперативной памяти.
- Средняя группа (8–32 игрока): 4 виртуальных процессора, 8–16 ГБ оперативной памяти, рекомендуется NVMe.
- Большой сервер (более 32 игроков или с большим количеством модификаций): Для этой задачи подойдет выделенный сервер с 6–12 высокочастотными ядрами, 32 ГБ оперативной памяти и более, а также NVMe-накопителем.
Для достижения минимального пинга важен правильный выбор местоположения (из более чем 85 глобальных локаций): Европа (Франкфурт, Амстердам), Восток США (Нью-Джерси), Запад США (Калифорния), Азия (Сингапур, Токио), Австралия (Сидней) и Бразилия (Сан-Паулу).
Требования к Factorio Headless и загрузка
Необходимые условия для работы сервера Linux:
- Дистрибутив Linux: Ubuntu 20.04/22.04 или Debian 11+ Рекомендовано.
- Для запуска сервера требуется пользователь без прав root.
- Доступ по SSH и возможность установки пакетов.
Пример основных команд (Ubuntu):
sudo apt update && sudo apt upgrade -y
sudo apt install -y wget unzip tar libstdc++6
sudo adduser --disabled-login --gecos "Factorio Server" factorio
sudo usermod -aG sudo factorioСкачать версию без графического интерфейса:
- Скачайте версию без графического интерфейса с официального сайта Factorio (проверьте наличие соответствующей версии).
- Пример (замените URL официальной ссылкой):
sudo -u factorio mkdir -p /opt/factorio
cd /opt/factorio
sudo -u factorio wget https://www.factorio.com/get-download/latest/headless/linux64 -O factorio_headless.tar.xz
sudo -u factorio tar -xf factorio_headless.tar.xzПервоначальная настройка и запуск сервера.
Запуск сервера с новым сохранением или загрузка существующего сохранения:
Запуск сервера с новым сохранением:
sudo -u factorio /opt/factorio/bin/x64/factorio --start-server /opt/factorio/saves/my-save.zip --server-settings /opt/factorio/config/server-settings.json --port 34197Загрузить существующее сохранение (загрузить последнее):
sudo -u factorio /opt/factorio/bin/x64/factorio --start-server-load-latestПорты:
- Порт игры: UDP 34197 (по умолчанию)
- RCON: Если эта функция включена, вы можете указать пользовательский TCP-порт (например, 27015). Настройки находятся в файле.
server-settings.jsonОно установлено.
Создайте службу systemd для автоматического запуска.
Создайте файл службы для автоматического запуска и управления сервером:
sudo tee /etc/systemd/system/factorio.service > /dev/null <<'EOF'
[Unit]
Description=Factorio Headless Server
After=network.target
[Service]
User=factorio
Group=factorio
Type=simple
WorkingDirectory=/opt/factorio
ExecStart=/opt/factorio/bin/x64/factorio --start-server /opt/factorio/saves/my-save.zip --server-settings /opt/factorio/config/server-settings.json --port 34197
Restart=on-failure
RestartSec=10
LimitNOFILE=4096
[Install]
WantedBy=multi-user.target
EOFАктивация и запуск сервиса:
sudo systemctl daemon-reload
sudo systemctl enable --now factorio.service
sudo journalctl -u factorio -fфайл конфигурации server-settings.json (Важные моменты)
В пути /opt/factorio/config/server-settings.json Проверьте или отредактируйте следующие настройки:
- имя: Имя сервера
- описание: Пояснение для игроков
- max_players: Максимальное количество игроков
- игровой пароль: Вход в систему необязателен (рекомендуется для частных серверов).
- require_user_verification: Включить аутентификацию Steam (при необходимости)
Простой пример:
{
"name": "My Factorio Server",
"description": "سرور رسمی جامعه",
"max_players": 32,
"game_password": "securepassword",
"require_user_verification": true
}Запуск Factorio в Docker (альтернативный метод)
Если вы предпочитаете использовать Docker, следующий пример предоставляет быстрый и изолированный способ запуска:
docker run -d --name=factorio \
-p 34197:34197/udp \
-p 27015:27015/tcp \
-v /host/factorio/saves:/factorio/saves \
-v /host/factorio/config:/factorio/config \
--restart unless-stopped \
--user 1000:1000 \
factoriotools/factorio:latestПреимущества: Изоляция, простота обновления и резервного копирования.
Безопасность и межсетевой экран
Основные рекомендации по обеспечению безопасности игровых серверов:
1. Ограничьте доступ по SSH:
sudo sed -i 's/PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config
sudo sed -i 's/PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config
sudo systemctl reload sshd2. Пример использования UFW для открытия только необходимых портов:
sudo apt install ufw -y
sudo ufw default deny incoming
sudo ufw default allow outgoing
# اجازه SSH (اگر پورت 22 یا پورت دلخواه)
sudo ufw allow 22/tcp
# اجازه پورت بازی (UDP)
sudo ufw allow 34197/udp
# اگر RCON فعال است:
sudo ufw allow 27015/tcp
sudo ufw enable3. Установите Fail2Ban для защиты SSH:
sudo apt install fail2ban -yАвтоматическое резервное копирование и сохранение сохранений.
Пример простого скрипта резервного копирования, который можно запустить с помощью cron или таймера systemd:
#!/bin/bash
SAVE_DIR=/opt/factorio/saves
BACKUP_DIR=/var/backups/factorio
mkdir -p $BACKUP_DIR
TIMESTAMP=$(date +%F_%T)
cp $SAVE_DIR/*.zip $BACKUP_DIR/factorio_save_$TIMESTAMP.zip
# نگهداری آخرین 7 بکاپ
ls -1t $BACKUP_DIR | tail -n +8 | xargs -I{} rm -f $BACKUP_DIR/{}Добавьте в crontab параметр для запуска ежечасно:
0 * * * * /usr/local/bin/factorio_backup.shРекомендация: Синхронизируйте резервные копии с объектным хранилищем (S3 или совместимым) или другим сервером, чтобы сохранить данные в случае возникновения проблем.
Оптимизировано для низкого пинга и повышения производительности.
- Выберите местоположение: Выберите ближайшее к игрокам географическое местоположение или местоположение в центре игровой популяции.
- Высокочастотный процессор: Эмуляция Factorio в значительной степени зависит от производительности одного ядра; предпочтительнее выбрать сервер с высокой тактовой частотой одного ядра (3,5 ГГц и выше).
- Память и диск: SSD/NVMe необходим для быстрой работы ввода-вывода при сохранении и загрузке игрового мира.
- Сеть и качество обслуживания (QoS): Обеспечьте достаточную пропускную способность (особенно для загрузки) и используйте сети с низкой задержкой и BGP при необходимости.
Мониторинг и журналы
Чтобы просмотреть журналы и проверить состояние сервера:
sudo journalctl -u factorio -f
# یا اگر لاگ در فایل است:
tail -f /opt/factorio/factorio-current.logРекомендуемые инструменты: Netdata, Prometheus + Grafana Или более простые инструменты, такие как htop и nload Для просмотра использования ресурсов.
Советы по модификациям и обновлениям
- Режимы тестирования: Перед установкой модов на основной сервер протестируйте их в тестовой среде; моды могут вызывать сбои или замедление работы игры.
- Совместимость версий: Версии клиента и сервера должны совпадать.
- Способ обновления: При обновлении сервера обязательно сделайте резервную копию сохраненных данных, остановите службу, выполните обновление, а затем перезапустите сервер.
Практические примеры и устранение распространенных проблем.
Проблема: Игроки не могут подключиться.
- Проверьте брандмауэр и порты:
статус UFWПроверьте наличие открытых портов с помощьюSS. - Убедитесь, что сервер прослушивает UDP-порт 34197:
- Проверьте журналы на наличие ошибок или связанных сообщений.
sudo ss -unlp | grep 34197Проблема: Задержка сервера при увеличении числа игроков.
- Проверьте частоту процессора, загрузку одного ядра, использование оперативной памяти и операции ввода-вывода.
- При необходимости обновите ядро системы до более мощного уровня или распределите игроков по нескольким серверам.
Воспользуйтесь услугами компании для получения наилучшего опыта.
Если у вас есть доступ к таким услугам, как Более 85 представительств по всему миру, VPS для игр, Анти-DDoS-сервер и Облачный сервер с NVMe Вы можете значительно улучшить игровой процесс.
Применимые случаи:
- Чтобы уменьшить пинг, выбирайте местоположение поближе к игрокам.
- Примеры с высокочастотными процессорами и NVMe для повышения производительности.
- Используйте сервер защиты от DDoS-атак для защиты от UDP-атак.
- Для расширенной маршрутизации используйте Network и BGP, а также Anycast.
- CDN для статического контента (моды, изображения) — Обратите внимание, что CDN не подходит для игр в реальном времени по протоколу UDP.
Заключение и заключительные предложения
Для настройки сервера Factorio необходимо уделить внимание выбору оборудования (мощный одноядерный процессор, NVMe-накопитель), подходящему местоположению, настройкам безопасности и регулярному резервному копированию.
Краткое изложение рекомендаций для быстрого старта:
- Выберите VPS с мощным процессором и NVMe-накопителем.
- Установите версию без графического интерфейса и настройте службу systemd в соответствии с инструкциями.
- Автоматизируйте работу межсетевых экранов и резервного копирования.
- Выбирайте местоположение серверов в зависимости от игроков и при необходимости используйте сервисы защиты от DDoS-атак.
Для получения информации о планах и консультаций вы можете посетить раздел поддержки.









