Установка сервера 7 Days to Die на Linux
В данной инструкции мы расскажем как установить сервер игры 7 Days to Die на ОС Linux Debian 10
Минимальная характеристика сервера для игры 7 Days to Die до 8 игроков.
- Тариф: Medium
- Процессор: от 2.6 GHz
- Количество потоков: 2
- Оперативная память: 8 Gb
- Сервер занимает: 12 Gb
Содержание
Первичная настройка Linux
Вы заказали на сайте 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 -configfile=serverconfig.xml
После этих действий сервер начнет запускаться, вы сможете зайти на него указав ip адрес и порт, например 37.230.228.208:26900
Завершить процесс и выключить игровой сервер нажатием клавиш ctrl+c
На этом установка сервера закончена.
Настройка сервера 7 Days to Die
1. Чтобы в будущем избежать правок конфигурационного файла serverconfig.xml при обновлении сервера, следует создать его копию.
Находясь в директории /7dtd, прописываем данную команду. С этим файлом мы будем работать дальше.
cp serverconfig.xml server_config.xml
Данная команда скопирует файл serverconfig.xml и создаст его копию с названием server_config.xml.
2. Открываем конфиг сервера server_config.xml командой
nano server_config.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 включен для всех |
3. Сохраняем результат нажатием одновременно ctrl+x, у вас попросят подтвердить действия, нажимаем на Y и enter.
4. Проверим сервер, запустим startserver.sh командой
./startserver.sh -configfile=server_config.xml
После этих действий сервер начнет запускаться. Завершить процесс и выключить игровой сервер нажатием клавиш ctrl+c.
Лог консоли сервера
После того, как вы запустили сервер, будет создан output_log.txt в папке 7DaysToDieServer_Data.
В нем вы можете посмотреть полностью лог консоли сервера, запуск сервера, ошибки, подключение\отключение игроков, информацию по работе античита и многое другое.
Проверка обновлений и автоматический перезапуск игрового сервера после падения или перезапуска VDS
1. Находясь в директории /7dtd, создадим дополнительный файл start_7dtd_server.sh для запуска сервера.
nano start_7dtd_server.sh
2. Проверка обновлений. В данный файл прописываем данные параметры.
#!/bin/bash cd /home/gameserver/steamcmd /home/gameserver/steamcmd/steamcmd.sh +login anonymous +force_install_dir /home/gameserver/7dtd +app_update 294420 +quit
3. Автоматический запуск сервера. Ниже прописываем данные параметры, после этого сохраняем результат нажатием одновременно ctrl+x, у вас попросят подтвердить действия, нажимаем на Y и enter.
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'
4. Добавляем права на файл start_7dtd_server.sh, командой.
chmod +x start_7dtd_server.sh
5. Под пользователем gameserver прописываем команду crontab -e и указываем эти данные.
@reboot /home/gameserver/7dtd/start_7dtd_server.sh
- После этого нажимаем на сочетание клавиш ctrl+x и сохраняем результат
- Чтобы посмотреть, что запущено в скрине наберите screen -ls
- Чтобы посмотреть отдельный скрин screen -x название скрина или его номер.
- Чтобы выйти из выбранного скрина нажмите ctrl+a затем d.
- Чтобы убить запущенный процесс kill и номер процесса.
6. Перезапуск сервера в час ночи.
Выходим из под пользователя gameserver командой exit обратно под root, прописываем вновь crontab -e и указываем эти данные.
0 1 * * * pkill -9 -U gameserver; su gameserver -c /home/gameserver/7dtd/start_7dtd_server.sh
Теперь каждый день, в час ночи игровой сервер будет перезапущен.
На этом установка и настройка сервера закончена.
Важные файлы сервера
1. Расположение папки с картами сервера. Если у вас есть своя карта, то её нужна закачать в данную папку.
# Путь папки с картами /Data/Worlds
2. После запуска сервера, будет создан новый каталог.
Сервер сохраняет данные игры в «скрытую» директорию учетной записи gameserver, каталог называется .local (с точкой).
# Путь до папки с сохранением игры /gameserver/.local/share/7DaysToDie/Saves
Тут вы найдете игроков, админов, информацию по открытым регионам и многое другое.
Вы можете изменять инвентарь игроков, переносить его между серверами, даже части карты можно перенести, достаточно скопировать соответствующие файлы в другой каталог для сохранения.
3. Редактирование файла serveradmin.xml. В данный файл добавляются администраторы сервера
Найдите строку:
<!-- <user steamID="76561198021925107" name="Hint on who this user is" permission_level="0" /> -->
Сразу после нее добавьте новую строку со своим Steam 64 ID. Узнать его можно на сайте http://steamid.io. Пример строки:
<user steamID="Ваш_Steam_64_ID" permission_level="0" />
После этого перезапустите сервер.