Блог

Linux dedicated server

Это ключ, который подтверждает владение вами купленной копии DST и позволяет компании Клей модерировать сервера, которые нарушают лицензию. Подробнее о пещерах вы можете прочитать в соответствующей статье. Стоит заметить, что для содержания двух серверов понадобится больше мощностей. Пока в статье рассматриваются только первый и второй варианты.

Но идет активная работа, и вскоре будет доступен и третий. Пока статья дорабатывается, подробнее о запуске с третьим вариантом вы можете прочитать на форуме Klei.

Для создания каталогов с настройками создадим в каталоге с исполняемым файлом заведомо неработающий скрипт для запуска сервера start. Это можно сделать через nano linux или другой текстовый редактор:. Для изменения настроек мира потребуется создать файл worldgenoverride. Работа с ним описывается в отдельном пункте. Далее необходимо указать основные настройки сервера. Сделать это можно путем редактирования файла settings. Зададим ему примерно такое содержание:.

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

сервер php хостинг

Теперь, если у вас Linux, модифицируем ранее созданный файл start. Вы можете использовать и другие параметры для запуска, они представлены ниже. Открыть ее повторно можно так:. Там же создадим файл worldgenoverride.

Настройки разделены на различные категории, которые обозначаются в файле в квадратных скобках. Убедитесь, что заносите настройки под правильную категорию. Снапшоты snapshots позволяют вернуть сервер к более раннему состоянию. Эта фича довольно новая, так что используйте с опаской.

Tick rate - качество вашего сервера. Чем выше, тем больше потребление ЦПУ, но тем более плавно и гладко выглядит игра для пользователей. Время в миллисекундах, которое нужно выждать, прежде чем отключать пользователя, который "повис" не отвечает на сетевые запросы сервера.

Привязать сервер к группе в Steam.

Source Dedicated Server (Linux)

Участники этой группы будут отображаться вверху списка игроков, если зайдут на ваш сервер см. Позволить играть только по локальной сети. В этом случае серверу не требуется токен для авторизации, и он не будет указан в списке серверов. Установить другой каталог для хранилища данных. Этот файл используется при старте сервера и осуществляет загрузку модификаций или их коллекций, указанных в файле.

При изменении версии модификации в Мастерской, выполняется только обновление, что позволяет сократить время запуска сервера. Все скачанные модификации устанавливаются на сервер, но по умолчанию они не включены. Они предназначены для использования хостами, на которых запущено несколько выделенных серверов.

Купить dedicated server, аренда и сопровождение серверов linux unix centos ubuntu windows

Существует два варианта включения модификаций на выделенных серверах. Первый способ заключается в изменении файла modsettings. Пример включения модификаций:.

No such file or directory" не обращаем внимания, это нормально. Впрочем, можно и поправить:. Начинаем подключаться к игровому серверу, а на консоли сервера в это время вывелась строчка вида. Если подключиться не получилось, то проверяем, на правильном ли интерфейсе "слушает" сервер. При наличии файервола проверяем, открыты ли нужные порты согласно руководства Valve. В случае более сложных сетевых конфигураций сервер за NAT и тому подобное обращаемся к соответствующим руководствам.

Останавливаем игровой сервер командой quitвпечатав её в его консоль, возвращаемся в командную строку и начинаем настройку.

Но и это не всё. Это относится не только к server. Посмотреть очерёдность перебора поисковых путей очень просто — достаточно в консоли запущенного сервера ввести команду path:. Кроме того есть replay.

Такой зоопарк позволяет при настройке индивидуальных конфигураций для серверов выстрелить себе в ногу разнообразными способами. А так как srcds — молодой, динамически развивающийся сервер, то он может доставить немало весёлых часов в поисках ответа на вопрос "А почему ВНЕЗАПНО у игроков перестали скачиваться пользовательские карты. Даже через slow download, не говоря уж о fast… Два года всё было нормально Поэтому мы не будем напрямую задействовать имеющиеся файлы конфигурации, а станем создавать, пусть даже и на их основе, но.

Создадим каталог для хранения файлов с настройками серверов. Заодно сделаем каталог для логов. На данный момент у нас уже есть логи клиента Steam, поэтому сразу же сделаем туда ссылку:. Такое размещение позволит заметно упростить процедуру резервного копирования и восстановления сервера, и уменьшить смешивание настроек разных серверов, хотя полностью избежать этого не удастся.

Таким образом мы для начала будем использовать всего-навсего пять файлов для наших настроек — общие настройки для обоих серверов в файле autoexec. Целесообразность разделения индивидуальных настроек по двум файлам диктуется как вышеприведённым делением параметров на три категории, так и необходимостью использования файлов типа server. Ведь файлы типа autoexec. Детальная настройка внутренней конфигурации игрового сервера здесь описываться не будет — у каждого она своя, остановимся лишь на моментах, связанных с одновременной работой двух серверов.

Если у вас уже есть готовые файлы настроек для одинокого сервера, то можно начать с них, а если нет ну, мало ли — наш первый игровой серверто можно погуглить по фразе настройка server. Единственно что могу посоветовать — не искать чей-нибудь максимально навороченный файл конфигурации десятилетней давности, в котором перечислены все возможные, в том числе и уже устаревшие параметры, причём подавляющее большинство — со значениями по умолчанию и описаниями, взятыми из cvarlist, а искать актуальные и максимально документированные описания, хотя это может быть непросто.

Вообще, лучше начинать вовсе без готового server. Если всё же хочется узнать "все-все-все" серверные публичные команды и переменные, то в консоли запущенного сервера достаточно ввести:.

Можно искать по подстроке — find log. При этом поиск выполняется как по имени, так и по описанию. Но есть ещё способ подключения сторонних карт.

Тогда при запуске игры наш сервер скачает её с серверов Valve, а при подключении игрока, его компьютер сам скачает карту оттуда.

не запускается сервер minecraft на хостинге

При каждой смене карты, она будет проверяться на наличие обновлений. При использовании нестандартных карт только из Steam Workshop, становится ненужным включение Fast Download. Но обратная сторона медали — появляется зависимость ещё и от Workshop серверов.

Из этого url берём числовой id и прописываем его в нашем autoexec2. Второй вариант нагляднее. Ещё один маленький момент. Этот каталог единый для обоих игровых серверов, что следует учитывать, если оба сервера будут использовать одну и ту же карту из Steam Workshop.

Для разрешения выполнения для любой карты необходимо установить её значение в "always" в autoexec2. Далее создаём файлы со списком карт для ротации.

Теперь создадим файлы с приветственными сообщениями игрокам. Можно в текстовом формате, можно с html разметкой, можно строку с url. При этом максимальный размер файла ограничен где-то Кб. Фишка с url срабатывает лишь для motdfile. Всё, основные файлы конфигурации на данном этапе созданы, делаем ссылки на них в каталог cfg игрового сервера:. При запущенном сервере без параметров как мы делали это в самом началеесли в другом окне терминала запустить netstat -lpn grep srcdsто мы увидим:.

How to install ark survival evolved dedicated server with mods on linux

Каждый игровой сервер использует свои порты. Они могут задаваться следующими параметрами при запуске srcds:. Если управление игровым сервером планируется осуществлять исключительно посредством терминального доступа с помощью ssh а лучше — настроить и забытьто этот порт с протоколом TCP не UDP! Но только аккуратно, лишь на внешнем сетевом интерфейсе. Внутри сервера удалённая консоль энергично используется сервером статистики. Порт — это не ошибка, в действительности сервер будет использовать порт на единичку выше.

Для второго сервера надо указать другие значения. Но в нашем случае будем увеличивать последовательно. Вроде и так работает. Конечно, можно порты не указывать вовсе, ни для первого сервера, ни для второго. В таком случае сервер, стартовавший первым будет использовать порты по умолчанию, а стартовавший вторым немножко ругнётся в логах:.

Но всё же мы будем явно указывать номера портов в командной строке, да ещё припечатаем их параметром -strictportbind описание будет ниже. Но в нашем примере мы будем более традиционны. Потом их расширим и переделаем для автозапуска. Для первого сервера — При использовании иных портов, как у нас, необходимо не забыть их открыть на файерволе. В действительности будет использоваться на единичку выше.

То есть указавв действительности будет Port was unavailable — quitting due to "-strictportbind" command-line flag! Будет повод почитать логи и найти ошибку.

Настройка выделенного сервера Source под Linux, часть 1 / Хабр

Можно указать какой-то конкретный, либо 0. Мы параметр не устанавливаем, так как на нашем сервере только один сетевой интерфейс, с внешним ip. Этот параметр указывается только в командной строке. Значение по умолчанию — 24, может быть увеличено до Для Mann vs. Machine должно быть Так как считается, что использование одного workshop каталога для нескольких игровых серверов не поддерживается и может вызвать проблемы, то для каждого сервера указываем.

Этот параметр может принимать значения -1, 0, 1, 2. Может указываться несколько. Можно не указывать здесь, но тогда необходимо указать в файле autoexec. Если не задать карту вообще, то сервер войдёт в ступор. Бывают рекомендации указывать этот параметр последним в командной строке. Но мы его не используем, начальную карту будем указывать в autoexec. Другие параметры командной строки можно посмотреть в Valve Developer Community wiki. Можно запустить первый сервер из-под пользователя game, не root!

Наблюдаем за последовательностью отработки файлов конфигурации:. Плохо, конечно, начинать отношения со лжи. И к серверам это тоже относится. Хотя наш сервер и утверждает, что логи записываются в файл L Разница в регистре первого символа имени — но для Linux какая существенная! Но, кто предупреждён — тот вооружён. Будем критически относится к декларируемым функциям. И забегая вперёд — не напрасно. Теперь аналогично запускаем второй сервер, любопытствуем, как он подключит нашу карту из Мастерской.

Хорошо, годно. Подробнее описывалось ранее, когда создавали файл autoexec2. Снова запускаем на своём компьютере Team Fortress 2, "Find a game" — "Community servers" — "Избранное" — "Добавить" — вводим ip адрес сервера " Добавим их в закладки. Можно посмотреть, как видны наши сервера с точки зрения мастер-серверов Valve с помощью интерфейса Web API, открыв в браузере ссылку и указав ip нашего сервера http: Обычно процедуре обновления серверов посвящают всего десяток строчек, и, положа руку на сердце, для большинства конфигураций этого достаточно, но в нашем случае уделим этому вопросу целый раздел.

Время от времени Valve выпускает обновления как для клиентов, так и для серверов, и обновлённые клиенты зачастую отказываются подключаться к необновлённым серверам:. Обновления для серверов бывают обязательные — без установки которых обновлённые клиенты не смогут подключиться к ним, и опциональные — их не установка не повлияет на возможность подключения игроков.

Отличить обязательные от необязательных можно очень просто — по анонсу ответственных товарищей из Valve в официальном списке рассылки https: Когда они пишут, что "Optional TF2 update released" — то это не обязательное обновление. А когда "Mandatory Team Fortress 2 update released" — то это обязательное. В простейшем случае обновление игровых серверов мы можем отдать на откуп им самим — включив в параметры запуска обоих серверов строку:.

Требует наличия двух следующих параметров. Эти команды в сущности повторяют те, которые мы указывали в командной строке при инсталляции игрового сервера. ShutdownOnFailedCommand руководство Valve рекомендует устанавливать эту переменную в "0" при обновлении нескольких игровых серверов. NoPromptForPassword данная переменная, установленная в "1", при логине в Steam отключает интерактивный запрос пароля, если он не указан в строке login. Если пароль для данного имени пользователя всё же требуется, то во входе будет отказано.

Failed to request AppInfo update, not online or not logged in to Steam. Применительно к выделенным игровым серверам, большинство позволяют подключаться анонимно для инсталляции и установки обновлений, но некоторые могут требовать вход по имени пользователя и паролю.

Список серверов с их требованиями и некоторыми параметрами можно посмотреть в Dedicated Servers List. Для анонимного логина не используется. Если мы хотим установить в другой, то указываем его как параметр данной команды.

Необходимо указание appid. Возможно указание опции validate — в этом случае будет осуществляться проверка целостности инсталляции и, при необходимости, дополнительно скачиваться отсутствующие либо изменённые файлы. По факту, аналогично выполнению команды "Проверить целостность кэша Очевидно, что существенно замедляет обновление, и лучше её указывать вручную, когда возникает такая необходимость, как мы это делали при первоначальной инсталляции сервера.

Подробнее по командам и переменным клиента Steam можно почитать в родной справке, запустив steamcmd. Когда в процессе своей жизнедеятельности игровой сервер получает от мастер-серверов Steam информацию о новом обновлении, он начинает каждые пять минут канючить о необходимости перезапуститься.

При этом ничего страшного не произойдёт даже в случае одновременной смены карт и обновления. В подавляющем большинстве случаев достаточно использовать этот режим обновлений. Но бывают варианты, когда на одном из серверов карта меняться будет очень нескоро, а то и вовсе не. Да и мало ли какие карты и игровые режимы захочется использовать на том же втором сервере, и жалко терять новых игроков из-за того, что они не могут подключиться к нашему устаревшему серверу.

Мы можем зайти с другой стороны — регулярно по cron запускать steamcmd. Да, установку обновлений можно запускать, как указывая параметры в командной строке steamcmd. Скрипт минималистичен и жесток, поэтому в таком виде его использовать не будем. А вот после окончательной настройки запуска игровых серверов, как в разделе "Автозапуск игровых серверов", с использованием tmux в скриптах запуска и настройки sudo, можно предварительно предупреждать пользователей о грядущем рестарте, да и выполнять его цивилизованнее.

Тогда скрипт примет более приемлемый вид:. Вместо "say", если уже установлен SourceMod можно использовать его варианты команд. Такой вариант обновления активируем через наш crontab файл, не забывая сделать сам скрипт исполняемым:.