Установка игрового сервера Terraria на Linux
Инструкция по установке выделенного сервера Terraria на VDS с Ubuntu 24.04. Все команды и снимки экрана сняты с настоящего сервера: инструкция проверена 14 ноября 2026 года на чистой Ubuntu 24.04.4 с сервером версии 1.4.5.8.
Что понадобится
- VDS с Ubuntu 24.04 LTS и доступом root по SSH.
- Память: сервер со средним миром занимает около 800 МБ. Хватит VDS с 2 ГБ.
- Диск: файлы сервера занимают меньше 200 МБ, мир — от 3 МБ (маленький) до 15 МБ. Достаточно 1 ГБ свободного места.
- Процессор: от 1 ядра.
Сервер скачивается с сайта разработчика бесплатно, учётная запись Steam и купленная игра для него не нужны. Программа Mono тоже не нужна: в архиве есть готовый исполняемый файл для Linux.
1. Обновите систему
sudo apt update && sudo apt upgrade -y
На свежей системе обновление идёт от 5 минут до получаса. По ходу могут появиться два места, где нужно ваше участие.
Окно выбора раскладки клавиатуры. Обновление остановится и покажет окно «Configuring keyboard-configuration». Ничего менять не нужно: нажмите Enter, в следующем окне снова Enter.
Сообщение о новом ядре. Если в конце вы видите «Pending kernel upgrade», система обновила ядро и ждёт перезагрузки.
Перезагрузите сервер и подключитесь снова через минуту:
sudo reboot
2. Установите нужные пакеты
sudo apt install -y wget unzip screen
unzipраспаковывает архив с сервером.screenдаёт серверу консоль. Без неё сервер Terraria постоянно занимает целое ядро процессора и не сохраняет мир при остановке — подробнее в шаге 6.
3. Создайте пользователя для сервера
Игровой сервер не должен работать от root. Создайте для него отдельного пользователя и переключитесь на него:
sudo useradd -m -s /bin/bash terraria sudo su - terraria
Пароль этому пользователю не нужен: входить под ним по SSH никто не будет.
4. Скачайте сервер
mkdir -p ~/terraria-server ~/worlds cd ~/terraria-server wget https://terraria.org/api/download/pc-dedicated-server/terraria-server-1458.zip unzip -q terraria-server-1458.zip mv 1458/Linux bin chmod +x bin/TerrariaServer.bin.x86_64
Число в имени архива — это версия игры без точек: 1458 означает 1.4.5.8. Версия сервера должна совпадать с версией игры у игроков. Ссылка на архив последней версии есть внизу главной страницы terraria.org («PC Dedicated Server»); если версия изменилась, замените 1458 в командах на новый номер.
5. Настройте сервер
Создайте файл настроек:
nano ~/terraria-server/serverconfig.txt
Вставьте в него:
world=/home/terraria/worlds/MyWorld.wld autocreate=2 worldname=MyWorld difficulty=0 maxplayers=8 port=7777 password= motd=Welcome to my Terraria server! worldpath=/home/terraria/worlds
Что означают параметры:
world— файл мира. Если его нет, сервер создаст мир сам.autocreate— размер создаваемого мира: 1 — маленький, 2 — средний, 3 — большой.worldname— название мира.difficulty— сложность создаваемого мира: 0 — классика, 1 — эксперт, 2 — мастер, 3 — путешествие.maxplayers— сколько игроков может зайти одновременно (от 1 до 255).port— порт сервера.password— пароль для входа. Пустое значение — вход без пароля.motd— приветствие, которое видит игрок при входе.
Сохраните файл (в nano: Ctrl+O, Enter, Ctrl+X) и создайте скрипт запуска:
nano ~/terraria-server/start-server.sh
#!/bin/bash cd /home/terraria/terraria-server/bin exec ./TerrariaServer.bin.x86_64 -config /home/terraria/terraria-server/serverconfig.txt
Сделайте его исполняемым:
chmod +x ~/terraria-server/start-server.sh
6. Запустите сервер первый раз вручную
~/terraria-server/start-server.sh
Сервер создаст мир — на экране побегут проценты, для среднего мира это около минуты. Когда появятся строки «Listening on port 7777» и «Server started», сервер готов. Остановите его командой exit: он сохранит мир и завершится.
Вернитесь к root:
exit
7. Настройте автозапуск
Сервер Terraria рассчитан на работу с консолью. Если запустить его обычной службой без консоли, он постоянно занимает целое ядро процессора (у нас — 110% вместо 10%), а при остановке службы не сохраняет мир. Поэтому служба запускает сервер внутри screen и останавливает его командой exit.
sudo nano /etc/systemd/system/terraria-server.service
Вставьте:
[Unit] Description=Terraria Dedicated Server After=network.target [Service] Type=forking User=terraria WorkingDirectory=/home/terraria/terraria-server ExecStart=/usr/bin/screen -dmS terraria /home/terraria/terraria-server/start-server.sh ExecStop=/bin/sh -c '/usr/bin/screen -S terraria -p 0 -X stuff "exit^M"; while pgrep -u terraria -f "[T]errariaServer.bin" > /dev/null; do sleep 1; done' TimeoutStopSec=60 Restart=always RestartSec=5 [Install] WantedBy=multi-user.target
Строка ExecStop должна быть одной строкой, а ^M в ней — это два обычных символа: «крышка» и буква M.
8. Запустите сервер и проверьте его
sudo systemctl daemon-reload sudo systemctl enable terraria-server sudo systemctl start terraria-server
Через 20–30 секунд проверьте состояние службы и порт:
sudo systemctl status terraria-server --no-pager -n 0 sudo ss -tln | grep 7777
Управление службой:
sudo systemctl stop terraria-server # остановить (мир сохраняется) sudo systemctl restart terraria-server # перезапустить
При остановке сервер сохраняет мир — время изменения файла мира совпадает со временем остановки:
9. Консоль сервера
Чтобы вводить команды сервера, подключитесь к его консоли:
sudo -u terraria screen -r terraria
Полезные команды: help — список команд, playing — кто на сервере, save — сохранить мир, say текст — сообщение всем игрокам, kick имя и ban имя — выгнать и заблокировать игрока.
Чтобы выйти из консоли, не останавливая сервер, нажмите Ctrl+A, затем D. Команду exit здесь не вводите: она остановит сервер, и служба через 5 секунд запустит его заново.
10. Откройте порт в файрволе
Внимание: сначала разрешите SSH и только потом включайте файрвол. Иначе связь с сервером оборвётся. Если SSH у вас на нестандартном порту, вместо первой команды выполните sudo ufw allow НОМЕР_ПОРТА/tcp.
sudo ufw allow OpenSSH sudo ufw allow 7777/tcp sudo ufw enable
Если появится вопрос «Command may disrupt existing ssh connections. Proceed with operation (y|n)?», ответьте y. Проверьте результат:
sudo ufw status
11. Зайдите на сервер
В игре выберите «Сетевая игра» → «Присоединиться по IP» (Multiplayer → Join via IP), затем персонажа, и введите IP-адрес сервера и порт 7777.
Обновление сервера
После выхода новой версии игры остановите сервер, скачайте новый архив и замените каталог bin. В командах подставьте номер новой версии вместо НОМЕР:
sudo systemctl stop terraria-server sudo su - terraria cd ~/terraria-server wget https://terraria.org/api/download/pc-dedicated-server/terraria-server-НОМЕР.zip unzip -q terraria-server-НОМЕР.zip rm -rf bin mv НОМЕР/Linux bin chmod +x bin/TerrariaServer.bin.x86_64 exit sudo systemctl start terraria-server
Файл настроек, скрипт запуска и миры при этом не затрагиваются. Скачанные архивы и каталоги с номерами старых версий в ~/terraria-server после обновления больше не нужны, их можно удалить.
Где лежит мир
/home/terraria/worlds/
Рядом с файлом мира сервер хранит его резервные копии с окончаниями .bak и .bak2. Чтобы перенести или сохранить мир, остановите сервер и скопируйте файл .wld.
Если что-то пошло не так
| Что видите | Причина и решение |
|---|---|
| При скачивании «404 Not Found» | Архива с таким номером версии нет. Возьмите действующую ссылку внизу страницы terraria.org. |
| Сервер занимает 100% одного ядра | Он запущен без консоли. Запускайте его через службу из шага 7 или внутри screen.
|
| После перезапуска пропали последние постройки | Сервер был остановлен без команды exit. Останавливайте его только командой sudo systemctl stop terraria-server.
|
| Служба в состоянии «failed» | Посмотрите причину: sudo journalctl -u terraria-server -n 50 --no-pager. Чаще всего это опечатка в пути или скрипт запуска не сделан исполняемым.
|
| После обновления игры игроки не могут подключиться | Версия сервера отличается от версии игры. Обновите сервер. |
| Сервер запущен, но зайти не удаётся | Проверьте, что порт открыт (sudo ufw status) и что в игре указан порт 7777.
|
Для размещения игровых серверов рекомендуем услуги ARK-HOSTER.RU:
- VPS/VDS серверы — для небольших и средних серверов
- Выделенные серверы — для высоконагруженных игровых серверов