Garry's Mod

Garry's Mod

Not enough ratings
Создание сервера Trouble in Terrorist Town (TTT) Запуск сервера
By 1Nukem
В этом руководстве рассмотрим создание выделенного сервера для Garry's Mod и его базовую настройку
   
Award
Favorite
Favorited
Unfavorite
Дисклеймер
Автор руководства может допустить ошибки и неточности. Критику и предложения по улучшению оставляйте в комментариях.

Руководство создано в Июле 2019 года и актуально на данный момент времени
Введение
С этого руководства мы начинаем цикл гайдов по созданию выделенного сервера Trouble in Terrorist Town
Будем мы делать его на домашнем компьютере под управление операционной системой Windows

В первой части мы поговорим о создании выделенного сервера для игры в классический TTT
Загрузка и установка сервера (SteamCMD)
Для начала нам понадобится утилита SteamCMD. Скачать ее можно с Valve Developers.

Загруженный файл переносим в любую папку (у меня будет лежать на рабочем столе по пути D:\_Desktop\SteamCMD).
Избегайте русских букв в пути к папке.

Запускаем SteamCMD и ждем окончания загрузки:

Для продолжения работы нам нужно залогиниться, но так как нам нужно лишь скачать сервер можем войти как anonymous.
login anonymous

После успешного входа нужно указать папку куда будет загружаться будущий сервер.
force_install_dir *путь вашей папки*

Избегайте русских букв в пути к папке.

Я буду устанавливать в D:\_Desktop\TTTServer.

Теперь мы готовы загрузить файлы сервера.
app_update 4020 validate

Где 4020[steamdb.info] - код загружаемого приложения (в данном случае Garry's Mod Dedicated Server)

После ввода команды начнется загрузка и выглядит это примерно так:

По завершению загрузки введите:
quit

Папка с сервером будет выглядеть так:
Создание "включателя" и защита от крашей
Для удобного запуска сервера нам понадобится сделать batch file. Он будет запускать сервер и в случае краша перезапускать его

Создайте "Текстовый документ" и измените расширение .txt на .cmd
(Если у вас не отображаются расширения файлов то: В любой папке нажмите "Файл" - "Изменить параметры папок и файлов" - В открывшемся окне "Вид" - Внизу "Дополнительные параметры" уберите галочку с "Скрывать расширения для зарегистрированных типов файлов")

Назвать этот файл вы можете как угодно, но желательно избегать русских названий

Этот файл нужно изменить (Правый клик - "Изменить")

В открывшемся "Блокноте" вписываем следующий текст:

@echo off cls title TTTServer AutoRestart :srcds echo (%time%) srcds started. srcds.exe -console -game garrysmod +gamemode terrortown -secure +map gm_construct +maxplayers 32 echo (%time%) WARNING: srcds closed or crashed, restarting. goto srcds

ВАЖНО! Параметры в "srcds.exe -console...(6 строчка)" обязательно должны быть на одной строке, неважно сколько места они занимают.

В будущем мы будем менять файл и добавлять в него новые параметры

Разбор написанного кода (если не интересно, можно пропустить)
Данный код в случае закрытия файла srcds.exe будет его перезапускать
  • @echo off - выключает отображение вводимых команд
  • cls - чистка экрана
  • title TTTServer AutoRestart - называет окно batch file - "TTTServer AutoRestart"
  • :srcds - флаг куда будет возвращаться программа
  • echo (%time%) srcds started. - Написать текст "(%Текущее время%) srcds started"
  • srcds.exe -console.... - Параметры с которыми будет запускаться файл srcds.exe. Параметры можно посмотреть на Valve Developers
  • echo (%time%) WARNING: srcds closed or crashed, restarting. - Написать текст о там что файл закрыт и он его перезапустит
  • goto srcds - возвращение к флагу :srcds

    Не стоит писать текст в echo на русском языке. Без дополнительных настроек, он не будет отображаться корректно
Подключение контента игр
Для того чтобы наш сервер точно не имел проблем c контентом, желательно подключить к нему файлы из Counter-Strike Source

Для этого нам нужен установленный CS:S

Открываем файл mount.cfg (*Папка сервера*\garrysmod\cfg\mount.cfg) и видим следующий текст:

Удаляем все и вставляем этот код
"mountcfg" { "cstrike" "*Расположение CS:S*" }

У меня это выглядит так:

Можно добавить еще игр
  • "csgo" - Counter-Strike: Global Offensive
  • "tf" - Team Fortress 2
  • "portal" - Portal
  • "portal2" "portal2_dlc1" "portal2_dlc2" - Portal 2
  • "hl2mp" - Half-Life 2: Deathmatch
  • "hl2" - Half-Life 2
  • "episodic" - Half-Life 2: Episode 1
  • "ep2" - Half-Life 2: Episode 2
  • "lostcoast" - Half-Life 2: Lost Coast
  • "hl1" - Half-Life: Source
  • И другие
Запуск сервера
Теперь все готово чтобы запустить наш сервер.

Запускам наш batch file (у меня это Start_srcds.cmd) и ждем загрузки.

Когда файл srcds.exe закончит он будет выглядеть вот так:

В данный момент сервер запущен. IP будет написан в консоли или можете посмотреть его на 2ip[2ip.ru]

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

В любом случае компьютер на котором запущен сервер может зайти на него по локальной сети:

Все работает но:
  1. Это не карта для TTT
  2. Игра не начнется без игроков

Карты для TTT нужно скачивать из Workshop. Так же можно адаптировать карты под TTT путем расстановки оружия вручную. Но об этом в следующих руководствах

Что касается "игры" в одиночку, в консоли сервера можно прописать следующие команды
ttt_minimum_players 1
ttt_debug_preventwin 1
Вторая команда позволит не заканчиваться раунду сразу после его начала
Больше команд вы можете посмотреть на сайте мода[ttt.badking.net].

Заключение
В следующем руководстве рассмотрим Workshop и добавление админских прав.
Следующая часть:
https://steamcommunity.com/sharedfiles/filedetails/?id=1813639229
Если вам есть что добавить или изменить пишите в комментариях
3 Comments
bosinn Jan 1 @ 10:13am 
лучше бы показывал проброс через докер, чтобы потом можно было удалить сервер в один клик
Garfield Dec 10, 2023 @ 5:54am 
Нихуясе, спасибо папаша, за этот годный гайд.:steamthumbsup:
Зашуганный рак Jun 19, 2021 @ 7:45am 
У меня сервер в игре на английском языке. Как мне поменять на русский?