Качество данной статьи: 4/5
Качество данной статьи: 4/5
Качество данной статьи: 4/5
Качество данной статьи: 4/5
Качество данной статьи: 4/5

Сервер

Материал из Terraria Wiki
Перейти к навигации Перейти к поиску

Сервер для Terraria предоставляет игрокам платформу для подключения через Интернет или другую сеть для Мультиплеера. Установка Terraria для Windows включает её серверное программное обеспечение. Для работы в дистрибутиве Linux необходимо загрузить файлы сервер, см. раздел ниже.

Сервер также можно использовать для автономной однопользовательской игры. Это дает возможность настроить внутриигровое время по желанию.

Прочитайте перед тем, как запускать сервер

По умолчанию сервер работает на TCP-порту 7777. Если вы находитесь за NAT («серый» IP), используемый порт должен быть открыт, чтобы другие игроки могли присоединиться. Если невозможно перенаправить порт, можно использовать службу VPN, например Hamachi или Radmin VPN (хотя в этих случаях каждому игроку необходимо установить программное обеспечение VPN). Максимальное количество игроков по умолчанию — 8 (16 на 1.4.0.1), но это можно изменить во время запуска сервера, а также в файле конфигурации сервера (serverconfig.txt). Соединения без NAT (например, выделенный сервер или если у вас «белый» IP) обычно не требуют переадресации портов, но может потребоваться разрешить порт через брандмауэр.

Если вы работаете с поставщиком облачных услуг, таким как AWS (Amazon Web Services) или GCP (Google Cloud Platform), убедитесь, что порт 7777 в TCP и UDP открыт для подключения к серверу.

Публичные сервера

Серверы можно найти через эти списки серверов:

Присоединение к серверам

К серверу можно присоединиться, выбрав опцию «Многопользовательская игра» в главном меню, выбрав персонажа, а затем введя IP-адрес и порт сервера.

Часто разные серверы предъявляют разные требования к игроку для присоединения. Некоторые серверы требуют, чтобы у игрока был классическая или средняя сложность персонажа для игры, а некоторые могут требовать, чтобы игроки достигли определенного уровня игры перед присоединением. Часто общедоступный сервер имеет систему /register и /login, где у игрока должен быть персонаж с уникальным именем и паролем.

Общедоступные серверы также обычно управляются группой администраторов и/или модераторов, которые обеспечивают соблюдение или регулируют правила. Часто эти правила запрещают моды и читы, выдачу себя за другое лицо и тому подобное. На некоторых серверах также может быть возможность позволить игроку играть онлайн со своим персонажем для одиночной игры, не теряя своего инвентаря для одиночной игры.

Список серверов, на которых вы недавно играли, будет сохранён в разделе меню «Подключиться по IP».

Как запустить сервер на Windows

  • По умолчанию в 32-разрядной версии Terraria для Windows файл TerrariaServer.exe находится по адресу: %programfiles%\Steam\steamapps\common\terraria
  • В 64-разрядной версии Windows его можно найти по адресу: %programfiles(x86)%\Steam\steamapps\common\terraria
  • Если вы не можете найти его по указанным выше путям, откройте Steam и щелкните правой кнопкой мыши Terraria в своей библиотеке, затем нажмите «Свойства» > «Локальные файлы» > «Просмотр локальных файлов...», чтобы открыть папку.
  • Если у вас нет Steam: %programfiles(x86)%\terraria или %programfiles%\terraria
  • Если вы используете GOG: GOG Games\terraria

Затем игрок может присоединиться к серверу из игрового меню, выбрав опцию «Мультиплеер».

Как запустить сервер на Linux

Предварительные требования

Сначала мы установим инструменты, необходимые для запуска сервера. Скорее всего, они предустановлены в вашем дистрибутиве.

Для системы на базе Debian (Ubuntu) запустите: sudo apt update && sudo apt install -y wget tmux unzip

Для системы на базе Arch (Manjaro) запустите: sudo pacman -Sy wget tmux unzip

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

  1. Загрузите файл: wget https://terraria.org/api/download/pc-dedicated-server/terraria-server-.zip. Ссылки на другие версии см. в разделе ниже.
  2. Разархивируйте файл: unzip terraria-server-.zip
  3. Перейдите в каталог, который вы только что разархивировали: cd
  4. Перейдите в каталог Linux: cd Linux
  5. Добавляем исполняемые права доступа к двоичному файлу сервера: chmod +x TerrariaServer.bin.x86*
  6. Запускаем сервер. 64-битная версия — TerrariaServer.bin.x86_64, 32-битная версия — TerrariaServer.bin.x86: ./TerrariaServer.bin.x86_64
  7. Поместите файлы мира в следующее место, чтобы сервер мог их найти: ~/.local/share/Terraria/Worlds/

Запуск в фоновом режиме

Tmux — это терминальный мультиплексор, который позволяет использовать несколько экземпляров виртуального терминала. Мы будем использовать его для запуска сервера в фоновом режиме.

  1. Запускаем сервер в сеансе tmux: tmux
  2. В сеансе tmux запустите сервер: ./TerrariaServer.bin.x86_64
  3. Теперь сервер должен запуститься как обычно. Чтобы отсоединиться от экземпляра tmux, оставив сервер работать в фоновом режиме, используйте следующую комбинацию клавиш: <Ctrl+b> d
  4. Теперь вы должны вернуться к предыдущему экземпляру терминала. Вы можете видеть, что сеанс tmux работает в фоновом режиме с помощью tmux list.
  5. Чтобы снова подключиться к экземпляру, чтобы отредактировать или закрыть его, просто запустите tmux attach

Примечания

  • В некоторых случаях необходимо экспортировать переменную TERM следующим образом: export TERM=xterm

Как запустить на иных ОС

Если вы используете операционную систему (например, ОС Raspberry Pi (ранее называвшуюся Raspbian) или FreeBSD), которая не поставляется с готовым исполняемым файлом, вы можете использовать «mono» для запуска сервера. Это может быть полезно, если вы хотите разместить сервер на таком устройстве, как Raspberry Pi, или любом устройстве, которое не работает на архитектуре x86.

Предварительные требования

ПРИМЕЧАНИЕ. Если вы используете операционную систему на базе Linux, отличной от x86 (например, ОС Raspberry Pi), первые несколько инструкций должны совпадать с приведенными здесь, вплоть до команду chmod. Вам нужно будет установить mono и любые другие необходимые библиотеки (такие как sqlite или screen), если они не предустановлены в вашей системе.

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

  1. Скачайте файлы сервера из загрузок и извлеките файлы Terraria в соответствии со спецификациями вашей системы. (Для пользователей Raspberry Pi следуйте руководству Linux)
  2. Перейдите в каталог Linux.
  3. Запустите сервер с помощью следующей команды mono: mono --server --gc=sgen -O=all ./TerrariaServer.exe

Сервер должен работать как положено.

Исправление возможных проблем

Если вы столкнулись с ошибкой, говорящей: «Ваша среда выполнения mono и библиотеки классов не синхронизированы», перейдите в каталог Terraria и удалите monoconfig, mscorlib.dll и все файлы, начинающиеся с «Mono» или «System».

Пример инструкции для Linux:

rm System*
rm Mono*
rm monoconfig
rm mscorlib.dll

WindowsBase.dll и FNA.dll должны быть единственными DLL-файлами в каталоге.

ПРИМЕЧАНИЕ. Эта процедура удалит любые другие файлы, начинающиеся с «Mono» или «System», так что имейте это в виду!

Загрузка

Программное обеспечение сервера vanilla Terraria включено в стандартный пакет Terraria (см. выше), но его также можно загрузить:


Графический интерфейс выделенного сервера — это стороннее дополнение для ванильного сервера, которое предлагает графические элементы управления (сервер обычно представляет собой программу командной строки):

Tshock и TDSM — сторонние серверные пакеты, которые предлагают дополнительные функции, такие как внутриигровые команды, белые списки, пароли игроков и интерфейс плагинов для дополнительных функций (таких как фракции):

  • Tshock
  • TDSM (Последняя версия 1.3.2.1; больше не поддерживается.)

Файлы сервера

Сервер Windows состоит из следующих файлов:

  • TerrariaServer.exe - Основной файл сервера. Может запускаться автономно.
  • serverconfig.txt - файлы конфигурации сервера. Определяет все параметры сервера (см. ниже).
  • start-server.bat — пакетный файл Windows, запускающий сервер с помощью файла serverconfig.txt. Также содержит петлю для перезапуска сервера в случае его сбоя.
  • start-server-steam-friends.bat - работает так же, как «Создать и играть», но через консоль. Steam друзья смогут присоединиться к вашей игре через это.

Список консольных команд

После запуска выделенного сервера можно выполнить следующие команды:

  • help — отображает список команд.
  • playing — показывает список игроков. Это можно использовать в игре, набрав /playing в чате.
  • clear — очистить окно консоли.
  • exit — выключить сервер и сохранить.
  • exit-nosave — Завершить работу сервера без сохранения.
  • save — сохранить игровой мир.
  • kick <имя игрока> - Выкидывает игрока с сервера.
  • ban <имя игрока> - Банит игрока с сервера.
  • password — Показать пароль.
  • password <password> - Изменить пароль.
  • version — вывести номер версии.
  • time - Показать время игры.
  • port — вывести порт прослушивания.
  • maxplayers — вывести максимальное количество игроков.
  • say <message> — отправить сообщение всем игрокам. Они увидят сообщение желтого цвета с префиксом <server> в чате.
  • motd — показать MOTD.
  • motd <message> - Изменить MOTD.
  • dawn — изменить время на рассвет (4:30 утра).
  • noon — изменить время на полдень (12:00).
  • dusk — изменить время на закат (19:30).
  • midnight — изменить время на полночь (00:00).
  • settle - Урегулировать всю воду.
  • (Издания для ПК, консолей и мобильных устройств) death — показывает количество смертей игрока.
  • (Издания для ПК, консолей и мобильных устройств) pvpdeath — показывает количество смертей игрока, связанных с PVP.
  • (Издания для ПК, консолей и мобильных устройств) alldeath - Показывает количество смертей для всех игроков на сервере.
  • (Издания для ПК, консолей и мобильных устройств) allpvpdeath — показывает количество смертей, связанных с PVP, для всех игроков на сервере.

Обратите внимание, что косая черта / не требуется перед командой, как это требуется в некоторых командных интерфейсах. Список команд Tshock см. в файле ознакомительных сведений о TShock.

Параметры командной строки

  • -config <путь к файлу> — указывает используемый файл конфигурации (см. Сервер § Файл конфигурации сервера).
  • -port <номер> - Указывает порт для прослушивания.
  • -players <число> / -maxplayers <число> - Устанавливает максимальное количество игроков.
  • -pass <пароль> / -password <пароль> — Устанавливает пароль сервера.
  • -motd <text> - Установить MOTD сервера в дневном тексте.
  • -world <путь к файлу> - Загрузить мир и автоматически запустить сервер.
  • -autocreate <number> - Создает мир, если по пути, указанному параметром -world, ничего не найдено. Размер мира определяется: 1 (маленький), 2 (средний) и 3 (большой).
  • -banlist <путь к файлу> - Указывает расположение бан-листа. По умолчанию «banlist.txt» в рабочем каталоге.
  • -worldname <имя мира> — Устанавливает имя мира при использовании -autocreate.
  • -secure - Добавляет на сервер дополнительную защиту от читерства.
  • -noupnp - отключает автоматический универсальный plug and play.
  • -steam - Включает поддержку Steam.
  • -lobby friends / -lobby private — разрешает только друзьям присоединяться к серверу или делает его приватным, если включен Steam.
  • -ip <ip-адрес> — устанавливает IP-адрес сервера для прослушивания
  • -forcepriority <приоритет> — устанавливает приоритет процесса для этой задачи. Если это используется, установка «приоритета» ниже будет проигнорирована.
  • -disableannouncementbox - Отключает текстовые объявления, которые делает блок объявлений, когда они посылаются по проводу.
  • -announcementboxrange <number> — устанавливает диапазон текстовых сообщений в окне объявлений в пикселях, -1 для объявлений на уровне сервера.
  • -seed <seed> — указывает начальное значение мира при использовании -autocreate

Файл конфигурации сервера

Запустить выделенный сервер можно с помощью конфигурационного файла, который автоматически вводит вышеуказанные параметры. Файл конфигурации должен вызываться с использованием параметра -config. Файл может иметь любое имя, но должен находиться в той же папке, что и TerrariaServer.exe. Если файл конфигурации сервера определен и файл не находится во время загрузки сервера, то сервер попросит пользователя ввести параметры, как если бы он работал без определенного файла конфигурации.

Ниже приведен список доступных команд конфигурации:

  • world=C:\Users\Defaults\My Documents\My Games\Terraria\Worlds\world1.wld — загрузить мир и автоматически запустить сервер.
  • autocreate=3 — Создает новый мир, если он не найден. Размер мира определяется: 1 (маленький), 2 (средний) и 3 (большой).
  • seed=AwesomeSeed — устанавливает начальное число мира при использовании автосоздания.
  • worldname=World — устанавливает имя мира при использовании автосоздания
  • difficulty=0 — устанавливает сложность мира при использовании -autocreate. Варианты: 0 (нормальный), 1 (эксперт), 2 (мастер), 3 (путешествие) [Примечание: мобильные серверы требуют добавления 1 к сложности (например, 2 — эксперт для мобильных серверов Terraria).]
  • maxplayers=8 — устанавливает максимальное количество игроков, разрешенных на сервере. Значение должно быть от 1 до 255.
  • port=7777 — установить номер порта
  • password=3><7@$¥l00\/3r — Установить пароль сервера
  • motd=Пожалуйста, не рубите фиолетовые деревья! - Установите сообщение дня
  • worldpath=C:\Users\Defaults\My Documents\My Games\Terraria\Worlds\ — устанавливает папку, в которой будут храниться файлы мира
  • banlist=banlist.txt — Расположение бан-листа. По умолчанию «banlist.txt» в рабочем каталоге.
  • secure=1 — добавляет дополнительную защиту от читерства.
  • language — устанавливает язык сервера из его языкового кода. Доступные коды:
    • en-US = английский
    • de-DE = немецкий
    • it-IT = итальянский
    • fr-FR = французский
    • es-ES = испанский
    • ru-RU = русский
    • zh-Hans = китайский
    • pt-BR = португальский
    • pl-PL = польский
  • upnp=1 — автоматически перенаправлять порты с помощью uPNP.
  • npcstream=60 — Уменьшает пропускание врагов, но увеличивает использование полосы пропускания. Чем меньше число, тем меньше будет пропусков, но будет отправлено больше данных. 0 выключен.
  • priority=1 — приоритет системы по умолчанию: 0: в реальном времени, 1: высокий, 2: выше обычного, 3: нормальный, 4: ниже обычного, 5: бездействующий.
  • Разрешения на включение/отключение каждой отдельной силы в режиме путешествия 0: заблокировано для всех, 1: может быть изменено только хостом, 2: может быть изменено всеми
    • journeypermission_time_setfrozen=2
    • journeypermission_time_setdawn=2
    • journeypermission_time_setnoon=2
    • journeypermission_time_setdusk=2
    • journeypermission_time_setmidnight=2
    • journeypermission_godmode=2
    • journeypermission_wind_setstrength=2
    • journeypermission_rain_setstrength=2
    • journeypermission_time_setspeed=2
    • journeypermission_rain_setfrozen=2
    • journeypermission_wind_setfrozen=2
    • journeypermission_increaseplacementrange=2
    • journeypermission_setdifficulty=2
    • journeypermission_biomespread_setfrozen=2
    • journeypermission_setspawnrate=2

Строки комментариев могут быть включены с помощью символа решетки (#). Строки, начинающиеся с #, будут полностью пропущены.

Бан и разбан

Команда ban <player> забанит указанного игрока на сервере. Забаненный игрок при попытке войти в систему будет отображать сообщение: Вы забанены на [длительность]: [причина]- [имя администратора]. Затем забаненный игрок может быть разблокирован, отредактировав файл «banlist.txt», который находится в папке Terraria. Этот документ содержит список всех забаненных на данный момент игроков. Чтобы разблокировать игрока, удалите его имя и IP-адрес из списка.

Системные требования

  • Операционная система Windows
  • 500 МБ свободной оперативной памяти для небольшого мира (ОЗУ зависит от размера мира и количества игроков)
  • .NET Framework 4.0
  • XNA Framework

Простой способ установки .NET и XNA — просто установить клиент Terraria, который должен установить и то, и другое в рамках обычной установки.

Примечания

  • Сервер будет автоматически сохранять мир время от времени, но будет сохраняться только при завершении работы при использовании команды выхода. Тем не менее, рассмотрите возможность сохранения вручную перед выключением.
  • Когда нет игроков в сети, сервер переходит в спящий режим. Время идет только тогда, когда игроки подключены.
  • Когда вы запускаете сервер, он спросит, хотите ли вы автоматически переадресовывать порты, однако это не всегда работает.
  • Серверы часто настраиваются с помощью Hamachi. Это устраняет необходимость переадресации портов, но полагается на стороннюю программу.
  • Некоторые серверы будут повышать здоровье. Если сервер находится в экспертном режиме, у эсминца может быть 1 000 000+ здоровья / хп (хитпойнтов)

LAN / Игра по локальной сети

Ниже приведены инструкции для очень простой настройки вечеринки в локальной сети. По крайней мере, для этого все компьютеры должны быть подключены к одной сети. Если вы так склонны, вы можете настроить сервер на статический IP-адрес локальной сети, но это не обязательно. Обратите внимание, что эти инструкции предназначены для людей, у которых практически нет опыта работы в сети и которые просто хотят играть в игры.

  1. Убедитесь, что все компьютеры подключены к одной сети
    • Подключите компьютеры к сети через Ethernet, если это возможно, так как Ethernet почти всегда быстрее, чем беспроводная связь.
    • Если у вас есть обычный домашний маршрутизатор и вы хотите подключить много игроков, вы можете подключить больше компьютеров к сети через Интернет с помощью коммутатора. Просто подключите любой порт коммутатора к маршрутизатору, а остальные компьютеры (и сервер) — к коммутатору. Если у вас нет коммутатора, попробуйте хотя бы подключить компьютер, на котором работает сервер, к сети через Интернет. Если вы не можете этого сделать, просто убедитесь, что все компьютеры подключены к одному и тому же Wi-Fi-соединению, и, вероятно, оно будет работать, только немного медленнее.
  2. Получить информацию о сервере
    • Во-первых, убедитесь, что сервер подключен к Интернету или, по крайней мере, подключен к вашему маршрутизатору. Чтобы проверить подключение к маршрутизатору, вы можете попробовать войти в свой маршрутизатор через веб-панель. Обычно информация для входа в маршрутизатор напечатана на наклейке на задней панели маршрутизатора. Если страница загружается, отлично — просто убедитесь, что другие компьютеры подключены к той же сети.
    • Windows:
      • Откройте командную строку и запустите «ipconfig», чтобы получить информацию о вашей сети. Запишите IP-адрес, который появляется после «Адрес IPV4……». Он должен быть примерно таким: 192.168.1.27, 172.16.0.55 10.0.0.42. Это IP-адрес, который вы будете использовать для присоединения к Terraria. Если IP-адрес начинается с 127, ищите другой. Если он начинается с 169, вы что-то делаете не так.
    • MacOS:
      • Откройте Системные настройки > Сеть и запишите IP-адрес. См. выше, как должен выглядеть IP.
    • GNU/Linux:
      • Запустите «ifconfig» или «ip a» из окна терминала, чтобы получить локальный IP-адрес. См. выше, как должен выглядеть IP.
  3. Подключаем клиентов к серверу
    • Откройте Terraria, щелкните мультиплеер и подключитесь к IP-адресу, который вы записали на втором шаге.
    • Вы должны быть подключены к серверу!
  4. Устранение неполадок (если что-то не работает)
    • Убедитесь, что брандмауэр на компьютере, на котором работает сервер, отключен или, по крайней мере, разрешает трафик через порт 7777. Не забудьте снова включить брандмауэр, когда у вас будет такая возможность.
    • Если ваш локальный IP-адрес начинается с 169, вам следует проверить настройки сети, чтобы подключиться к Интернету.
    • IP-адрес сервера может измениться, особенно при перезагрузке маршрутизатора. Если вы не можете подключиться к серверу, повторите шаг 2 еще раз, чтобы увидеть, изменился ли IP-адрес.
      • Если это становится повторяющейся проблемой, вам следует найти «установка статического IP-адреса на (имя ОС)», где имя ОС — это имя операционной системы сервера.
    • Если вы установите для порта сервера Terraria значение, отличное от порта по умолчанию 7777, убедитесь, что клиенты подключаются к тому порту, который настроен для использования сервером.

История

  • 1.4.4: Игра теперь отслеживает смерти, и их можно просмотреть с помощью команд /death и /pvpdeath. Дополнительно включает /alldeath и /allpvpdeath для серверных номеров.
  • 1.4.0.1:
    • Новые значения сложности: 2 для основного режима, 3 для режима путешествия.
    • Добавлено множество параметров файла конфигурации для управления разрешениями на питание в режиме путешествия.
  • 1.3.0.4:
    • Выделенные серверы теперь можно запускать с параметром -forcepriority, чтобы переопределить приоритет процесса файла настроек сервера.
    • Выделенный сервер теперь может снова использовать -ip для установки своего локального IP-адреса.
  • 1.3.0.3: Теперь вам должно быть проще сообщать об ошибках, если они происходят на сервере.
  • 1.3.0.2:
    • Теперь вы сможете вводить пароль каждый раз при входе или создании сервера.
    • Решены многие проблемы с выделенным сервером и его конфигурациями.
    • Исправлена ошибка, из-за которой пользователи не могли приглашать друг друга в режиме «Только по приглашению».
  • 1.2.3.1: Исправлены сбои при запуске выделенного сервера на языке, отличном от английского.
  • 1.0.2:
    • Серверы теперь прослушивают все IP-адреса хост-компьютера, независимо от того, сколько активных сетевых подключений.
    • Ввод «localhost» вместо вашего собственного локального IP-адреса приведет к подключению к вашему собственному серверу на том же ПК.
    • Порт игры по умолчанию изменен с 31337 на 7777.
    • Клиент теперь преобразует имя хоста в свой IP-адрес, например, если на randomsite.org работает сервер, вы можете ввести randomsite.org в качестве IP-адреса и сможете подключиться.
  • 1.0: Добавлено в игру.
  • 1.00: Добавлено в игру.
  • 1.00: Добавлено в игру.
  • 1.00: Добавлено в игру.