Страница 1 из 1

Запуск собственного сервера Factorio на Debian

Добавлено: 02 ноя 2024, 11:48
1d98
Для установки сервера на Debian первоначально нужно подключиться по ssh к серверу от имени пользователя с sudo привилегиями

Первоначальная настройка

Создаем пользователя для Factorio:

Код: Выделить всё

sudo useradd factorio
после чего переходим в каталог того пользователя

Код: Выделить всё

cd /home/factorio
Создаем папку для сохранений

Код: Выделить всё

mkdir saves
chown -R factorio:factorio saves
Для простоты обновлений создаем .sh файл

Код: Выделить всё

sudo nano update.sh
Вставляем текст

Код: Выделить всё

#!/bin/bash
wget -O factorio.tar.xz https://www.factorio.com/get-download/latest/headless/linux64
tar xJvf factorio.tar.xz
rm factorio.tar.xz
systemctl stop factorio
rm -rf /opt/factorio
mv -f factorio /opt/factorio
chown -R factorio:factorio /opt/factorio
systemctl start factorio
Сохраняем через ctrl+x
Добавляем привилегии для исполнения файла

Код: Выделить всё

chmod +x update.sh
Создаем системный сервис

Код: Выделить всё

sudo nano /etc/systemd/system/factorio.service
с текстом

Код: Выделить всё

[Unit]
Description=Factorio Server
After=network.target

[Service]
Type=simple
Restart=always
RestartSec=3
User=factorio
ExecStart=/opt/factorio/bin/x64/factorio --start-server /home/factorio/saves/world.zip

[Install]
WantedBy=multi-user.target
В данном файле мы указываем что будем запускать сервер с миром world.zip (название сохранения) из папки /home/factorio/saves
Сохраняем через ctrl+x

Обновляем deamon

Код: Выделить всё

sudo systemctl daemon-reload
Готово!
Осталось только переместить свои сохранения в папку /home/factorio/saves/ с названием world.zip
и запустить

Код: Выделить всё

/home/factorio/update.sh



Что делать если нет сохранений / нужно создать новую карту ?

выполняем

Код: Выделить всё

/home/factorio/update.sh
Останавливаем сервер

Код: Выделить всё

systemctl stop factorio
Создаем новую карту

Код: Выделить всё

/opt/factorio/bin/x64/factorio --create /home/factorio/saves/world.zip

Запускаем сервер

Код: Выделить всё

systemctl start factorio
Готово!


Как обновлять сервер?

Просто запуском нашего скрипта для обновления ( сохранения в нем не затрагиваются)

Код: Выделить всё

/home/factorio/update.sh