Языки программирования
Как создать сервер Terraria
Сервер Terraria можно запустить через dedicated server. Это отдельная серверная программа, которая держит мир включенным, принимает игроков, сохраняет прогресс и позволяет играть без того, чтобы владелец мира находился внутри игры
Для игры с друзьями подойдет домашний компьютер или VPS. Для постоянного мира лучше VPS или игровой хостинг: там проще держать сервер включенным и делать бэкапы
Что подготовить
| Компонент | Зачем нужен |
|---|---|
| Terraria Dedicated Server | серверная программа |
файл мира .wld |
сам мир |
serverconfig.txt |
настройки запуска |
порт 7777 |
стандартный порт Terraria |
| пароль | если сервер закрытый |
| бэкапы | защита мира от потери |
Если вы играете с модами через tModLoader, сервер тоже должен быть tModLoader, а не обычный vanilla dedicated server
Первый запуск
На Windows серверный файл часто лежит рядом с установленной игрой. На Linux сервер можно запускать на VPS, но нужно заранее проверить совместимость версии
Простой порядок:
1. создать папку terraria-server
2. положить серверные файлы
3. создать или перенести мир
4. создать serverconfig.txt
5. открыть порт
6. запустить сервер
7. подключиться с клиента
Для первого теста можно создать новый мир прямо через серверную консоль, а уже потом переносить основной мир
По этой теме полезно отдельно посмотреть Как я создал безопасные Firebase Cloud Functions с правами администратора и ограничением частоты запросов, чтобы расширить контекст и сравнить подходы
По этой теме полезно отдельно посмотреть Go и Rust: что выбрать для проекта, чтобы расширить контекст и сравнить подходы
Пример serverconfig.txt
world=/home/terraria/worlds/friends.wld
autocreate=2
worldname=FriendsWorld
difficulty=1
maxplayers=8
port=7777
password=change_this_password
motd=Welcome to FriendsWorld
worldpath=/home/terraria/worlds
Размер мира в autocreate обычно задают числом: маленький, средний или большой. Для компании новичков средний мир часто удобнее большого: меньше пустых переходов и быстрее старт
Запуск сервера
Пример:
./TerrariaServer.bin.x86_64 -config serverconfig.txt
На Windows запуск может идти через TerrariaServer.exe с выбором мира и порта в консоли. Для постоянного сервера удобнее конфиг, потому что его можно положить в автозапуск
Подключение друзей
Игроку нужны:
IP сервера
порт 7777
пароль, если он задан
Если сервер стоит дома, на роутере нужно пробросить порт 7777 на компьютер с сервером. Если сервер на VPS, откройте порт в firewall. Если провайдер дает серый IP, домашний проброс может не заработать
Vanilla или tModLoader
| Вариант | Когда выбирать |
|---|---|
| Vanilla server | обычная Terraria без модов |
| tModLoader server | моды, сборки, дополнительные механики |
Не пытайтесь подключиться vanilla-клиентом к tModLoader-серверу и наоборот. Версии клиента, сервера и модов должны совпадать
Бэкапы мира
Сохраняйте папку с мирами:
worlds/
friends.wld
friends.wld.bak
Лучше делать копию перед победой над важным боссом, перед установкой модов, перед обновлением и после больших построек. Terraria-мир может жить долго, и потеря файла ощущается больно
Настройки для комфортной игры
Для маленькой компании:
maxplayers=4-8
password=обязательно для закрытого сервера
motd=короткое правило или приветствие
difficulty=обычная или expert по договоренности
Если сервер публичный, нужны правила, модерация, резервные копии и понимание, кто отвечает за мир. Для игры с друзьями достаточно пароля и аккуратных бэкапов
Что делать при ошибках
| Ошибка | Что проверить |
|---|---|
| друг не подключается | порт, IP, firewall, пароль |
| мир не загружается | путь к .wld, права на файл, версия |
| сервер закрывается | логи, память, поврежденный мир |
| моды не работают | tModLoader, версии модов, одинаковая сборка |
| прогресс пропал | где лежит настоящий файл мира |
Автозапуск на VPS
Для постоянного сервера Terraria лучше настроить запуск как сервис. Смысл простой: после перезагрузки VPS сервер сам поднимает нужный мир с нужным конфигом. Перед этим проверьте ручной запуск, путь к миру и права на папку worlds
Что должно быть понятно до автозапуска:
где лежит TerrariaServer
где лежит serverconfig.txt
где лежит файл мира
какой пользователь запускает сервер
какой порт открыт
куда пишутся логи
Если эти пять вещей не записаны, автозапуск будет сложно чинить
Правила для друзей
Terraria-мир легко испортить случайно: унести общие ресурсы, сломать арену, начать босса без команды, потерять важные предметы. Для маленькой компании полезно договориться:
- где общий склад
- кто запускает боссов
- можно ли брать предметы из чужих сундуков
- когда делаются бэкапы
- какие моды разрешены
Это не бюрократия, а способ не потерять интерес к миру после первой ссоры
Когда выбирать большой мир
Большой мир нужен, если игроков много и вы хотите долгое прохождение. Для 2-4 новичков большой мир может утомлять: больше беготни, дольше искать биомы, сложнее организовать базу. Средний мир часто дает лучший баланс между исследованием и темпом игры
Финальная проверка перед тем, как звать людей
Перед тем как отправлять ссылку или IP друзьям, сделайте короткий контрольный проход:
- сервер запускается после перезапуска
- вы знаете, где лежат конфиги и данные
- есть свежий бэкап
- открыты только нужные порты
- обычный пользователь не получает лишние права
- пароль или whitelist включены, если сервер закрытый
- вы проверили вход с другого устройства
- есть понятная инструкция для игроков
Это занимает 10 минут, зато спасает от типичной ситуации: все собрались играть, а владелец сервера одновременно чинит порт, ищет пароль, восстанавливает мир и объясняет, какую версию клиента ставить
Типичные вопросы
Можно ли держать сервер на своем ПК?
Да, если компьютер включен во время игры и интернет стабилен. Для постоянного мира лучше VPS или хостинг
Какой порт у Terraria?
Чаще всего используют 7777. Если меняете порт, отправляйте друзьям новый порт вместе с IP
Можно ли играть с модами?
Да, но через tModLoader. У сервера и игроков должны совпадать версии и набор модов
Как обновлять сервер без потери мира
Перед обновлением остановите сервер и сделайте копию папки с мирами. После этого обновляйте серверные файлы и запускайте мир на новой версии. Если используете tModLoader, отдельно проверьте совместимость модов: старый мод может не заработать на новой версии и помешать запуску
Безопасный порядок такой:
- предупредить игроков
- остановить сервер
- сделать backup
.wldи.bak - обновить сервер
- запустить мир локально или на тестовом запуске
- проверить вход одного игрока
- только потом звать всех остальных
Не обновляйте сервер за пять минут до общей игры. Если что-то сломается, вы будете чинить мир под давлением, а это почти всегда приводит к новым ошибкам