Настройка сервера: различия между версиями

Материал из Metrostroi
Перейти к: навигация, поиск
м (→‎Установка модов: знаки препинания)
 
(не показаны 44 промежуточные версии 9 участников)
Строка 1: Строка 1:
=Введение=
+
{{Langs
Сервера Метростроя основаны на выделенном сервере игры Garrys mod и имеют свои особенности по запуску и настройке. Во-первых сервера поддерживают аддоны из коллекций workshop, что позволяет настраивать дополнительные установки на серверах. Гайды по настройке выделенного сервера метростроя не отличаются от установки обычного выделенного сервера гаррис мода. Как создать сам выделенный сервер можно найти множество видео туториалов в которых доступным и понятным языком объясняется данный процесс, который может показать сложным для новичков. Во-вторых сервера метростроя должны работать вместе с так называемым турбостроем, дополнению, которое позволяет задействовать все ядра процессора сервера для просчета многочисленной логики луа скриптов, а также распараллелить работу составов на отдельные потоки, что позволяет снизить нагрузку и на сервер и на клиент. Без этой дополнительной акселерации турбострое сервера работают очень плохо и играть на них практически невозможно. К сожалению в данный момент турбострой предназначен только для Windows систем, поэтому работа на хостингах не гарантируется, что усложняет процесс по развитию мода, возможно в будущем эта проблема будет решена другим способом.
+
| lang =
 +
| title =
 +
| ru = Настройка_сервера
 +
| en = Server configuration
 +
}}
  
===Таким образом===
+
= Предисловие =
Для настройки сервера необходимы три вещи:
+
{{Important/ru|На данный момент существует только Windows версия Turbostroi. На других ОС могут быть лаги.}}
* Выделенный сервер на Windows игры Garry's mod dedicated server через [https://developer.valvesoftware.com/wiki/SteamCMD:ru SteamCMD]. Как это сделать вы можете найти [https://www.youtube.com/watch?v=i-1c0NQtBIE тут (видео)] и тут [https://www.youtube.com/watch?v=9Ca70-lVdBA тут (видео2)] а также подобных роликов много и на русском языке на Youtube
 
  
* Установить коллекцию с аддонами Metrostroi на сервер. [http://wiki.garrysmod.com/page/Workshop_for_Dedicated_Servers Официальный туториал]. '''Вы должны сделать это так, чтобы коллекция подгружалась на сервер'''Скачать аддоны, распаковать и поместить в папку addons сервера аддоны самостоятельно не рекомендует но тоже способ если вышеописанный у вас не работает.
+
В силу особенностей движка, самым оптимальным вариантом игры как в мультиплеере так и в одиночной игре в "Metrostroi Subway Simulator" является игра с использованием выделенного сервера (по локальной сети или в сети интернет)
  
*ВАЖНО!!!! Последнее необходимое для нормальной работы сервера: '''Установить turbostroi'''
+
= Установка SteamCMD =
Скачать можно тут [[https://wiki.metrostroi.net/turbostroi.zip ТУРБОСТРОЙ]] (это исполнительный файл, расширяющий потоки lua для работы множества элементов таких как анимация кнопок, дверей итд)
+
SteamCMD это программа командной строки, которая предназначена для легкой настройки серверов Garry's mod (и других игр на движке Source). Скачать ее для Windows и Linux можно по ссылке [https://developer.valvesoftware.com/wiki/SteamCMD#Downloading_SteamCMD Valve Developer Wiki].  
  
==Установка турбостроя==
+
= Установка сервера (Windows) =
Скачайте архив, ссылка на который выше. От базовой папки выделенного сервера, перейдите в папку "garrysmod", а затем в папку "Lua". Создайте новую папку с именем "bin". Для меня конечный путь был примерно  "C: \ Garrys modDS \ garrysmod \ Lua \ Bin". Поместите turbostroi DLL ( "gmsv_turbostroi_win32.dll") файл в эту папку.
+
Чтобы скачать и установить ваш сервер создайте текстовый файл в блокноте, скопируйте код ниже в этот текстовый файл и сохраните его в формате .bat
 +
(копируете команду, нажимаете "Сохранить как..", в выпадающем меню "Сохранить как тип" переключите на "Все файлы (*.*)" и добавьте ".bat" или ".cmd" к названию файла).  
 +
<pre>
 +
"ПУТЬ_К_STEAMCMD\steamcmd.exe" +login anonymous +force_install_dir "ПУТЬ_К_СЕРВЕРУ" +app_update 4020 validate +quit
 +
pause
 +
</pre>
 +
Запустив этот скрипт bat, он автоматически начнет скачивание и установку сервера Garry's mod в папку "ПУТЬ_К_СЕРВЕРУ" - путь к которой вы выбрали. Этот процесс может занять некоторое время в зависимости от скорости вашего соединения.  
  
 +
= Создание коллекции =
 +
Самый простой метод установки модов для вашего сервера Garry's mod является создание коллекции, в которой хранятся подписки на моды, которые вы выбрали. Создать коллекцию вы можете по ссылке [http://steamcommunity.com/workshop/browse/?section=collections&appid=4000 Garry's Mod Steam Workshop раздел "Коллекции" ] и кликнув [http://steamcommunity.com/workshop/editcollection/?appid=4000 "Создать коллекцию"]. Вам нужно будет ввести имя коллекции и выбрать моды, которые вы хотите добавить на ваш сервер, кликнув по кнопке "Добавить в коллекцию"
  
==Последние обновления==
+
Для установки Метростроя вам необходимо добавить следующие аддоны:
Чтобы обновить сервер до последней актуальной версии нужно привязать [[http://steamcommunity.com/sharedfiles/filedetails/?id=1098503782 КОЛЛЕКЦИЮ]] к серверу - так вы сможете получать последний актуальный контент и скрипты для работы Метростроя
+
* [http://steamcommunity.com/workshop/filedetails/?id=261801217 Metrostroi (Subway Simulator)]
 +
* Metrostroi Subway Simulator - Content Pack:
 +
** [https://steamcommunity.com/workshop/filedetails/?id=1095094174 Part 1]
 +
** [https://steamcommunity.com/workshop/filedetails/?id=1095098251 Part 2]
 +
** [https://steamcommunity.com/workshop/filedetails/?id=1095100683 Part 3]
 +
** [https://steamcommunity.com/workshop/filedetails/?id=1095105863 Part 4]
 +
** [https://steamcommunity.com/workshop/filedetails/?id=1095109617 Part 5]
 +
** [https://steamcommunity.com/workshop/filedetails/?id=1095111608 Part 6]
 +
* [https://steamcommunity.com/workshop/filedetails/?id=1095130789 Metrostroi Subway Simulator - Scripts]
 +
* Карта для Метростроя (которые в основном приведены [https://wiki.metrostroi.net/wiki/%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA_%D0%BA%D0%B0%D1%80%D1%82 тут])
  
[[http://steamcommunity.com/workshop/filedetails/?id=1095130789 ССЫЛКА НА АДДОН СО СКРИПТАМИ]]
+
= Установка модов =
 +
Используя командную строку вы можете настроить автоматическую установку модов, собранных в вашей коллекции. Сохраните скрипт приведенный ниже в bat файле в той же папке, где установлен сервер Garry's mod таким же образом как это описано для установки сервера.
 +
<pre>
 +
srcds.exe +maxplayers 20 -console +host_workshop_collection ИДЕНТИФИКАТОР_ВАШЕЙ_КОЛЛЕКЦИИ +gamemode sandbox +map НАЗВАНИЕ_КАРТЫ
 +
</pre>
 +
Названия карт можно найти [https://wiki.metrostroi.net/wiki/%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA_%D0%BA%D0%B0%D1%80%D1%82 тут] их нужно прописать в качестве  "НАЗВАНИЕ_КАРТЫ".<br>
 +
'''Помните, что карта "gm_metrostroi_b50" может вызвать ошибку "Engine hunk overflow!". Чтобы этой ошибки не возникало, в скрипт нужно добавить еще вот эту команду: " +r_hunkalloclightmaps 0"'''<br>
 +
Если вы все сделали правильно, то на выходе у вас будет работающий сервер Метростроя. Если же у вас возникли проблемы при установке, причину которых вы не знаете, на сайте Garry's Mod wiki есть более общий (но более детальный) гайд по [https://wiki.garrysmod.com/page/Category:Server_Owners настройке сервера]. На этом моменте мы введем понятие Turbostroi (Турбострой) описание которого будет дано ниже.
  
==Настройка Bat загрузчика==
+
= Подключение к серверу =
 +
Как только вы запустили сервер, вы должны видеть ваш его в игре во вкладке "LAN" в списке серверов Garry's Mod. Если на вашем роутере установлен файрвол или вы вцелом пользуетесь файрволом остальные игроки не смогут видеть ваш сервер и подключиться к нему. Чтобы решить эту проблему, необходимо сообщить вашему файрволу какой трафик пропускать на ваш сервер
 +
<br>
 +
'''Не делайте следующие шаги если не уверены за безопасность вашего компьютера - отключение файрвола делает ваш компьютер уязвимее.'''<br>
  
Заключительный шаг - сделать пакетный файл bat который запускает сервер с определенными параметрами. В базовом каталоге сервера (папка с " srcds.exe " ) , создайте файл с именем "launch.bat" (или можете назвать как хотите . Откройте файл в любом текстовом редакторе и сохраните его с расширением не txt а bat. Впишите параметры в этот текстовый файл и сохраните.
+
'''В большинстве стран СНГ интернет провайдер по-умолчанию не предоставляет вам возможность иметь выделенный сервер, однако, решить это можно заказав в личном кабинете вашего провайдера дополнительную услугу, которая обычно называется "Выделенный IP" или "Внешний IP"'''<br>
Сами параметры:
+
 
+
Далее вам необходимо "Перенаправить порты" на вашем роутере (если вы им пользуетесь). По-умолчанию Garry's Mod будет использовать порты 27005 и 27015 (UDP и TCP), однако какие порты будет использовать ваш сервер вы можете настроить самостоятельно. Открытие портов можно проверить только если ваш сервер запущен. Если вы все сделали правильно, то путем проверки на различных сайтах сервисах по проверке портов вы сможете увидеть открыт ли нужный вам порт или нет - если открыт, то игроки могут подключаться к вашему серверу и он виден публично.
 +
 
 +
== Turbostroi ==
 +
{{Important/ru|Считайте его обязательным к установке как для одиночной игры так и для сервера! На данный момент существует только Windows версия Turbostroi. Другие ОС не поддерживаются!}}
 +
 
 +
Турбострой это бинарный файл, который ускоряет просчет игровой логики. . '''Без него ваш сервер будет иметь низкую производительность.'''
 +
 
 +
Установка: [https://github.com/OnlyNoob/gm_turbostroi/releases/tag/v.2.0.0.6 Скачайте Turbostroi] ([https://wiki.metrostroi.net/turbostroi.zip старая версия]), поместите файл "gmsv_turbostroi_win32.dll
 +
" в папку '''"garrysmod\lua\bin"''' (если данной папки не существует, создайте её). Если вы все сделали правильно, то при подключении к серверу вы не увидите всплывающих сообщений о нехватке Turbostroi. В зависимости от количества ядер вашего компьютера или сервера зависит то, какое количество вагонов на нем будет работать без существенных задержек. Обычно самое оптимальное максимальное количество вагонов на сервере равно примерно 20.
 +
 
 +
== Turbostroi Параметры ==
 +
Вы можете установить нужные потоки Turbostroi которые он должен использовать, чтоб получить хорошую производительность.
 +
 
 +
'''turbostroi_main_cores''': поток SRCDS. Turbostroi изменяет поток SRCDS на указанный.
 +
 
 +
'''turbostroi_train_cores''': поездной поток.
 +
 
 +
{| class="ambox-notice"
 +
| {{ambox/message
 +
| 2 = Значение для каждого из этих параметров должно быть двоичным или побитовым значением.
 +
Также рекомендовано '''отключить''' "Hyper-threading", если это возможно.
 +
}}
 +
|}
 +
 
 +
=== Лучшая конфигурация для 4-ядерного процессора: ===
 +
''Будет использовать все потоки/ядра, кроме последнего для поездов, а последний будет для main''
 +
* С '''включенной''' функцией "Hyper-threading":
 +
** turbostroi_main_cores 128
 +
** turbostroi_train_cores 127
 +
* С '''отключенным''' "Hyper-threading":
 +
** turbostroi_main_cores 8
 +
** turbostroi_train_cores 7
 +
 
 +
= Советы =
 +
== Server.cfg ==
 +
Вы можете настроить имя, пароль, количество вагонов и другие команды для вашего сервера редактируя файл "server.cfg" в папке "garrysmod\cfg". Ниже приведены команды для настройки:
 +
 
 +
* hostname "НАЗВАНИЕ СЕРВЕРА"
 +
* metrostroi_maxwagons "ЛИМИТ ВАГОНОВ"
 +
* metrostroi_maxtrains "ЛИМИТ ПОЕЗДОВ"
 +
* metrostroi_maxtrains_onplayer "МАКСИМУМ ПОЕЗДОВ НА ИГРОКА"
 +
 
 +
Более расширенный список команд можно посмотреть [[Console_Commands/ru|Тут]].
 +
 
 +
== ULX ==
 +
[http://steamcommunity.com/sharedfiles/filedetails/?id=557962280 ULX] модификация для настройки админки, классов и много чего еще.
 +
== WUMA ==
 +
[http://steamcommunity.com/sharedfiles/filedetails/?id=1117436840 WUMA] позволяет администраторам ограничивать права на спавн некоторых энтити.  
 +
== Garry's Mod Wiki ==
 +
И конечно вики [https://wiki.garrysmod.com/page/Category:Server_Owners "Server Owners" секция на сайте Garry's Mod Wiki].
 +
 
 +
==Еще один пример bat команды для запуска сервера==
 
<pre>''@echo off
 
<pre>''@echo off
 
cls
 
cls
Строка 32: Строка 113:
 
:srcds
 
:srcds
 
echo (%time%) srcds started.
 
echo (%time%) srcds started.
start /wait srcds.exe -console  +port 27015 +clientport 27005 -tickrate 33 -autoupdate -game garrysmod +map gm_metrostroi_b50 +r_hunkalloclightmaps 0 +maxplayers 10 +exec autoexec.cfg +host_workshop_collection 514874036 -authkey xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+
start /wait srcds.exe -console  +port 27015 +clientport 27005 -tickrate 33 -autoupdate -game garrysmod +map gm_metrostroi_b50 +r_hunkalloclightmaps 0 +maxplayers 10 +exec autoexec.cfg +host_workshop_collection 514874036
 
echo (%time%) WARNING: srcds closed or crashed, restarting.
 
echo (%time%) WARNING: srcds closed or crashed, restarting.
 
goto srcds
 
goto srcds
Строка 38: Строка 119:
 
''</pre>
 
''</pre>
  
ИМЕЙТЕ ВВИДУ ЧТО -authkey xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx <- это ваш персональный номер коллекции который можно получить через Steam, не надо копировать эти иксы. (гайды выше)
+
== Серверные команды по умолчанию ==
 +
 
 +
{| class="wikitable" style="font-size:105%;"
 +
! width="200"  | Команда  !! width="50"  | Станд. значение !! Описание
 +
|-
 +
|metrostroi_current_limit
 +
|4000
 +
|Регулирование предела для тока подстанции (А).<br>'''Рекомендуется выставить значение выше 10000!'''
 +
|-
 +
|metrostroi_maxtrains
 +
|''(?)''
 +
|Изменение максимального количества составов на сервере.
 +
|-
 +
|metrostroi_maxtrains_onplayer
 +
|1
 +
|Изменение максимального количества составов для игрока.
 +
|-
 +
|metrostroi_maxwagons
 +
|2
 +
|Изменение максимального количества вагонов в составе.
 +
|-
 +
|metrostroi_train_requirethirdrail
 +
|1
 +
|Включение/выключение требования наличия контактного рельса для подачи питания на поезд.
 +
|-
 +
|metrostroi_passengers_scale
 +
|50
 +
|Количество пассажиров на станциях.<br>'''Большое значение может привести к лагам и даже к крашу сервера!'''
 +
|-
 +
|metrostroi_voltage
 +
|750
 +
|Изменение напряжения на контактном рельсе.
 +
|}
  
 
[[Категория:Установка]]
 
[[Категория:Установка]]

Текущая версия на 23:36, 5 августа 2022

Available languages: Русский · English



Предисловие

Важно:На данный момент существует только Windows версия Turbostroi. На других ОС могут быть лаги.


В силу особенностей движка, самым оптимальным вариантом игры как в мультиплеере так и в одиночной игре в "Metrostroi Subway Simulator" является игра с использованием выделенного сервера (по локальной сети или в сети интернет)

Установка SteamCMD

SteamCMD это программа командной строки, которая предназначена для легкой настройки серверов Garry's mod (и других игр на движке Source). Скачать ее для Windows и Linux можно по ссылке Valve Developer Wiki.

Установка сервера (Windows)

Чтобы скачать и установить ваш сервер создайте текстовый файл в блокноте, скопируйте код ниже в этот текстовый файл и сохраните его в формате .bat (копируете команду, нажимаете "Сохранить как..", в выпадающем меню "Сохранить как тип" переключите на "Все файлы (*.*)" и добавьте ".bat" или ".cmd" к названию файла).

"ПУТЬ_К_STEAMCMD\steamcmd.exe" +login anonymous +force_install_dir "ПУТЬ_К_СЕРВЕРУ" +app_update 4020 validate +quit
pause

Запустив этот скрипт bat, он автоматически начнет скачивание и установку сервера Garry's mod в папку "ПУТЬ_К_СЕРВЕРУ" - путь к которой вы выбрали. Этот процесс может занять некоторое время в зависимости от скорости вашего соединения.

Создание коллекции

Самый простой метод установки модов для вашего сервера Garry's mod является создание коллекции, в которой хранятся подписки на моды, которые вы выбрали. Создать коллекцию вы можете по ссылке Garry's Mod Steam Workshop раздел "Коллекции" и кликнув "Создать коллекцию". Вам нужно будет ввести имя коллекции и выбрать моды, которые вы хотите добавить на ваш сервер, кликнув по кнопке "Добавить в коллекцию"

Для установки Метростроя вам необходимо добавить следующие аддоны:

Установка модов

Используя командную строку вы можете настроить автоматическую установку модов, собранных в вашей коллекции. Сохраните скрипт приведенный ниже в bat файле в той же папке, где установлен сервер Garry's mod таким же образом как это описано для установки сервера.

srcds.exe +maxplayers 20 -console +host_workshop_collection ИДЕНТИФИКАТОР_ВАШЕЙ_КОЛЛЕКЦИИ +gamemode sandbox +map НАЗВАНИЕ_КАРТЫ

Названия карт можно найти тут их нужно прописать в качестве "НАЗВАНИЕ_КАРТЫ".
Помните, что карта "gm_metrostroi_b50" может вызвать ошибку "Engine hunk overflow!". Чтобы этой ошибки не возникало, в скрипт нужно добавить еще вот эту команду: " +r_hunkalloclightmaps 0"
Если вы все сделали правильно, то на выходе у вас будет работающий сервер Метростроя. Если же у вас возникли проблемы при установке, причину которых вы не знаете, на сайте Garry's Mod wiki есть более общий (но более детальный) гайд по настройке сервера. На этом моменте мы введем понятие Turbostroi (Турбострой) описание которого будет дано ниже.

Подключение к серверу

Как только вы запустили сервер, вы должны видеть ваш его в игре во вкладке "LAN" в списке серверов Garry's Mod. Если на вашем роутере установлен файрвол или вы вцелом пользуетесь файрволом остальные игроки не смогут видеть ваш сервер и подключиться к нему. Чтобы решить эту проблему, необходимо сообщить вашему файрволу какой трафик пропускать на ваш сервер
Не делайте следующие шаги если не уверены за безопасность вашего компьютера - отключение файрвола делает ваш компьютер уязвимее.

В большинстве стран СНГ интернет провайдер по-умолчанию не предоставляет вам возможность иметь выделенный сервер, однако, решить это можно заказав в личном кабинете вашего провайдера дополнительную услугу, которая обычно называется "Выделенный IP" или "Внешний IP"

Далее вам необходимо "Перенаправить порты" на вашем роутере (если вы им пользуетесь). По-умолчанию Garry's Mod будет использовать порты 27005 и 27015 (UDP и TCP), однако какие порты будет использовать ваш сервер вы можете настроить самостоятельно. Открытие портов можно проверить только если ваш сервер запущен. Если вы все сделали правильно, то путем проверки на различных сайтах сервисах по проверке портов вы сможете увидеть открыт ли нужный вам порт или нет - если открыт, то игроки могут подключаться к вашему серверу и он виден публично.

Turbostroi

Важно:Считайте его обязательным к установке как для одиночной игры так и для сервера! На данный момент существует только Windows версия Turbostroi. Другие ОС не поддерживаются!


Турбострой это бинарный файл, который ускоряет просчет игровой логики. . Без него ваш сервер будет иметь низкую производительность.

Установка: Скачайте Turbostroi (старая версия), поместите файл "gmsv_turbostroi_win32.dll " в папку "garrysmod\lua\bin" (если данной папки не существует, создайте её). Если вы все сделали правильно, то при подключении к серверу вы не увидите всплывающих сообщений о нехватке Turbostroi. В зависимости от количества ядер вашего компьютера или сервера зависит то, какое количество вагонов на нем будет работать без существенных задержек. Обычно самое оптимальное максимальное количество вагонов на сервере равно примерно 20.

Turbostroi Параметры

Вы можете установить нужные потоки Turbostroi которые он должен использовать, чтоб получить хорошую производительность.

turbostroi_main_cores: поток SRCDS. Turbostroi изменяет поток SRCDS на указанный.

turbostroi_train_cores: поездной поток.

Значение для каждого из этих параметров должно быть двоичным или побитовым значением.

Также рекомендовано отключить "Hyper-threading", если это возможно.

Лучшая конфигурация для 4-ядерного процессора:

Будет использовать все потоки/ядра, кроме последнего для поездов, а последний будет для main

  • С включенной функцией "Hyper-threading":
    • turbostroi_main_cores 128
    • turbostroi_train_cores 127
  • С отключенным "Hyper-threading":
    • turbostroi_main_cores 8
    • turbostroi_train_cores 7

Советы

Server.cfg

Вы можете настроить имя, пароль, количество вагонов и другие команды для вашего сервера редактируя файл "server.cfg" в папке "garrysmod\cfg". Ниже приведены команды для настройки:

  • hostname "НАЗВАНИЕ СЕРВЕРА"
  • metrostroi_maxwagons "ЛИМИТ ВАГОНОВ"
  • metrostroi_maxtrains "ЛИМИТ ПОЕЗДОВ"
  • metrostroi_maxtrains_onplayer "МАКСИМУМ ПОЕЗДОВ НА ИГРОКА"

Более расширенный список команд можно посмотреть Тут.

ULX

ULX модификация для настройки админки, классов и много чего еще.

WUMA

WUMA позволяет администраторам ограничивать права на спавн некоторых энтити.

Garry's Mod Wiki

И конечно вики "Server Owners" секция на сайте Garry's Mod Wiki.

Еще один пример bat команды для запуска сервера

''@echo off
cls
echo Protecting srcds from crashes...
echo If you want to close srcds and this script, close the srcds window and type Y depending on your language followed by Enter.
title srcds.com Watchdog
:srcds
echo (%time%) srcds started.
start /wait srcds.exe -console  +port 27015 +clientport 27005 -tickrate 33 -autoupdate -game garrysmod +map gm_metrostroi_b50 +r_hunkalloclightmaps 0 +maxplayers 10 +exec autoexec.cfg +host_workshop_collection 514874036
echo (%time%) WARNING: srcds closed or crashed, restarting.
goto srcds

''

Серверные команды по умолчанию

Команда Станд. значение Описание
metrostroi_current_limit 4000 Регулирование предела для тока подстанции (А).
Рекомендуется выставить значение выше 10000!
metrostroi_maxtrains (?) Изменение максимального количества составов на сервере.
metrostroi_maxtrains_onplayer 1 Изменение максимального количества составов для игрока.
metrostroi_maxwagons 2 Изменение максимального количества вагонов в составе.
metrostroi_train_requirethirdrail 1 Включение/выключение требования наличия контактного рельса для подачи питания на поезд.
metrostroi_passengers_scale 50 Количество пассажиров на станциях.
Большое значение может привести к лагам и даже к крашу сервера!
metrostroi_voltage 750 Изменение напряжения на контактном рельсе.