Установка сервера 7 Days to Die на Linux

Материал из Википедия MyArena.ru
Версия от 14:46, 21 апреля 2021; Papay (обсуждение | вклад) (Лог консоли сервера)

Перейти к: навигация, поиск
7dtd header.jpg

В данной инструкции мы расскажем как установить сервер игры 7 Days to Die на ОС Linux Debian 10

Минимальная характеристика сервера для игры 7 Days to Die до 8 игроков.

  • Тариф: Medium
  • Процессор: от 2.6 GHz
  • Количество потоков: 2
  • Оперативная память: 8 Gb
  • Сервер занимает: 12 Gb


Первичная настройка Linux

PuTTY

Вы заказали на сайте MyArena виртуальный сервер, выбрали и установили операционную систему, что же делать дальше? Прежде чем перейти к установке сервера игры, нам потребуется провести предварительную настройку Linux.

1. Скачиваем и устанавливаем программу PuTTY себе на компьютер, что бы подключиться к серверу.

  • Запускаем программу, открываем вкладку Window, переходим в Translation и в меню Remote character set выбираем UTF-8.
  • Возвращаемся во вкладку Session.
  • В Host Name указываем IP адрес вашего сервера, порт 22, ниже в Saved Sessions придумайте имя для подключения и нажмите на кнопку Save.
  • Выделяем название сервер и нажимаем на кнопку Open.
  • У вас откроется черное окно терминала в котором вам потребуется указать логин и пароль от вашего сервера.

2. Установка дополнительных библиотек, при использование 64 битной операционной системы

apt install lib32gcc1
apt install lib32stdc++6
apt install libsdl2-2.0-0
dpkg --add-architecture i386
apt update
apt install libsdl2-2.0-0:i386

3. Установка дополнительных программ.

apt install curl
apt install mc
apt install htop
apt install screen

4. Устанавливаем редактор Nano для пользователя root по умолчанию.

echo 'export EDITOR=nano' >> ~/.bashrc

Установка сервера 7 Days to Die

1. Создаем нового пользователя с паролем, например gameserver.
Все последующие шаги выполняются под созданным пользователем. Выйти из него можно командой 'exit'.

# Создаем пользователя и его домашнюю директорию
useradd gameserver -s /bin/bash -m

# Добавляем пароль, вас попросят указать пароль дважды
passwd gameserver

2. Переключаемся на пользователя gameserver.

su gameserver -l

3. Устанавливаем редактор Nano для пользователя gameserver по умолчанию.

echo 'export EDITOR=nano' >> ~/.bashrc

4. Создаем и переходим в папку, куда будем загружать steamcmd.

mkdir steamcmd
cd steamcmd

5. Скачиваем архив steamcmd и разархивируем его.

wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -xvzf steamcmd_linux.tar.gz

6. Запускаем steamcmd.sh. Важно: нужно находиться в папке steamcmd.

./steamcmd.sh

7. Загрузка и установка сервера

# Указываем логин, аноним
login anonymous

# Указываем путь куда будет загружен сервер игры 7 Days to Die.
# Пример расположения: /home/gameserver/7dtd/
force_install_dir /home/gameserver/7dtd/

# Загружаем сервер игры
app_update 294420

8. Запуск сервера. После загрузки сервера выходим из steamcmd введя команду 'quit'

# Выходим из папки steamcmd
cd

# Переходим в папку 7dtd
cd 7dtd

Теперь проверим, запускаем сервер, для этого пропишите в консоли команду

./startserver.sh

После этих действий сервер начнет запускаться, вы сможете зайти на него указав ip адрес и порт, например 37.230.228.208:26900
Завершить процесс и выключить игровой сервер нажатием клавиш ctrl+c
На этом установка сервера закончена.

Настройка сервера 7 Days to Die

1. Открываем конфиг сервера serverconfig.xml, который находиться в /7dtd

nano serverconfig.xml

Список самых важных переменных:

Переменные Стандартное значение Описание.
ServerName My Game Host Название сервера.
ServerPort 26900 Игровой порт сервера.
ServerVisibility 2 Видимость сервера в интернете:
2 = Виден в интернете, в поиске серверов, 1 = Виден только друзьям, 0 = отсутствует в списке.
1 - Это значит, что сервер станет виден всем друзьям игрока, который подключился к серверу.
ServerPassword Пароль сервера, который будет требоваться при подключении.
ServerMaxPlayerCount 8 Максимальное количество игроков.
ServerDescription A 7 Days to Die server Описание сервера.
EACEnabled true Включает или отключает античит EasyAntiCheat.
GameWorld Navezgane Карты сервера.
Можно установить значение «RWG» для случайной карты.
GameName My Game Названия игры, должно быть написано Латиницей. Не используйте «:» и прочие специфические символы.
WorldGenSeed asdf Если выбрали RWG, нужно указать семя (пример: asdf) для создания новой случайной карты. Если карта с таким именем уже существует, она просто будет загружена.
WorldGenSize 4096 Если выбрали RWG, нужно указать ширину и высоту для новой карты (пример: 4096).
Размер карты должен быть от 2048 до 16384, создание новой карты может занять очень много времени.
DayNightLength 60 Длительность суток в игре.
LootRespawnDays 30 Через какое количество игровых дней будет происходить респаун лута.
PlayerKillingMode 3 Настройки PVP режима.
(0 = PVP запрещен для всех, 1 = можно убивать только союзников, 2 = можно убивать только незнакомцев, 3 = PVP включен для всех

2. Сохраняем результат нажатием одновременно ctrl+x, у вас попросят подтвердить действия, нажимаем на Y и enter.
4. Проверим сервер, запустим startserver.sh командой

./startserver.sh -configfile=serverconfig.xml

После этих действий сервер начнет запускаться. Завершить процесс и выключить игровой сервер нажатием клавиш ctrl+c.

Лог консоли сервера

После того, как вы запустили сервер, будет создан output_log.txt в папке 7DaysToDieServer_Data.
В нем вы можете посмотреть полностью лог консоли сервера, запуск сервера, ошибки, подключение\отключение игроков, информацию по работе античита и многое другое.

Автоматический перезапуск игрового сервера после падения или перезапуска VDS

1. Находясь в директории /7dtd, создадим дополнительный файл start_7dtd_server.sh для запуска сервера.

nano start_7dtd_server.sh

2. В данный файл прописываем параметры ниже и сохраняем результат нажатием одновременно ctrl+x, у вас попросят подтвердить действия, нажимаем на Y и enter.

#!/bin/bash
cd /home/gameserver/7dtd
screen -AmdS run_7dtd bash -c 'while [ true ]; do /home/gameserver/7dtd/startserver.sh -configfile=serverconfig.xml; echo "CRASH - RESTART"; sleep 1; done'

3. Добавляем права на файл start_7dtd_server.sh, командой.

chmod +x start_7dtd_server.sh

4. Под пользователем gameserver прописываем команду crontab -e и указываем эти данные.

@reboot /home/gameserver/7dtd/start_7dtd_server.sh
  • После этого нажимаем на сочетание клавиш ctrl+x и сохраняем результат
  • Чтобы посмотреть, что запущено в скрине наберите screen -ls
  • Чтобы посмотреть отдельный скрин screen -x название скрина или его номер.
  • Чтобы выйти из выбранного скрина нажмите ctrl+a затем d.

5. Перезапуск сервера в час ночи.
Выходим из под пользователя gameserver командой exit обратно под root, прописываем вновь crontab -e и указываем эти данные.

0 1 * * * pkill -9 -U gameserver; su gameserver -c /home/gameserver/7dtd/start_7dtd_server.sh

Теперь каждый день, в час ночи игровой сервер будет перезапущен.

На этом установка и настройка сервера закончена.