Инструкция по настройке онлайн-сервера для игры Factorio.
В этом руководстве рассматривается настройка игрового сервера Factorio и приводятся технические и практические советы для достижения наилучшей производительности.

Инструкция по настройке онлайн-сервера для игры Factorio.

Эта статья — исчерпывающее руководство по настройке онлайн-сервера для игры Factorio. Она поможет вам создать стабильный и безопасный сервер для многопользовательской игры, охватывая как технические, так и операционные этапы. От выбора местоположения и установки необходимого программного обеспечения до настроек безопасности и резервного копирования — в статье рассматривается всё.
0 Акции
0
0
0
0

Зачем мне устанавливать сервер 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

Скачать версию без графического интерфейса:

  1. Скачайте версию без графического интерфейса с официального сайта Factorio (проверьте наличие соответствующей версии).
  2. Пример (замените 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 sshd

2. Пример использования 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 enable

3. Установите 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-накопитель), подходящему местоположению, настройкам безопасности и регулярному резервному копированию.

Краткое изложение рекомендаций для быстрого старта:

  1. Выберите VPS с мощным процессором и NVMe-накопителем.
  2. Установите версию без графического интерфейса и настройте службу systemd в соответствии с инструкциями.
  3. Автоматизируйте работу межсетевых экранов и резервного копирования.
  4. Выбирайте местоположение серверов в зависимости от игроков и при необходимости используйте сервисы защиты от DDoS-атак.

Для получения информации о планах и консультаций вы можете посетить раздел поддержки.

Часто задаваемые вопросы

Вам также может понравиться

Сюжет игры God of War: Ragnarok

В основе сюжета — Кратос, бог войны, и его сын-подросток Атреус, которые сталкиваются с надвигающимся конфликтом Рагнарёк...