Overview
Рассмотрим варианты с хостом сервера на Вашем собственном компуктатере, а также немного про VPS и SteamCMD.Я буду проводить все операции на VPS с ОС Windows Server 2016.
Создание сервера на своём ПК
Я сразу перейду к делу.
1. Компуктатер/ноутбук;
2. Открытые порты;
3. Настройка конфигурации сервера.
Казалось бы, что всё довольно просто, да и делать практически нечего, но не тут-то было.
Чуть ниже я сделал коротенькое видео, чтобы лишних вопросов не было.
1. Откройте Брандмауэр. Если у Вас Windows 7, то найти его можно через панель управления в разделе “Сеть и безопасность” (точно не помню, ибо давно уже не использую семёрку).
2. Выберите пункт “правила для входящих подключений” (находится в левой колонке) и создайте новое правило (в правой колонке)
3.Выбираем “Для порта”. Далее выбираем “Протокол UDP” (рекомендуется и по TCP сделать, но мне хватило и UDP), и вводим туда нужные порты. В нашем случае это “27015, 27016” или “27015-27016”. Далее просто нажимаете “Далее”, а под конец выбираете любое название. Описание необязательно. Готово.
Так как я всегда использовал прямое подключение (то есть роутера не имею, раздаю Wi-Fi с ноута), то про роутеры я сам написать мало чего могу. Позже поищу инфу и более-менее актуальные руководства сюда закину.
Попробуйте сначала использовать UPnP в самой игре. Его выбрать можно при создании сервера.
Установка SteamCMD и запуск сервера.
Ниже я, как всегда, сделал коротенькое видео, если у Вас, вдруг, возникли проблемы.
1. Создаём на на своём компуктере папку “SteamCMD“ (всем рекомендую делать её прямо на диске, а не на том же рабочем столе. К примеру: диск D).
2. Скачиваем SteamCMD (~800 кб.): Скачать SteamCMD.
3. Из архива, который Вы скачали, нужно скопировать всё его содержимое, и закинуть в созданную Вами папку (первый пункт).
4. Запускаем “steamcmd.exe”. И ожидаем пока он обновит сам себя.
5. Как понять, что всё закончилось? В самом низу Вы сможете лицезреть надпись “Steam>“
6. Далее у Вас есть выбор: Залогиниться под анонимом, или же использовать существующий аккаунт стим (ВНИМАНИЕ! Не используйте свой основной аккаунт, так как это довольно опасно). Лично я всегда выбираю первый способ, так как данная игра не требуется лицензии на аккаунте для запуска выделенного сервера через “SteamCMD”.
Прописываем: login anonymous
7. После авторизации нужно выбрать ту самую папку, которую Вы создали.
Прописываем: force_install_dir C:/Server
У Вас будет другой путь, я оставил свой для примера.
8.Теперь необходимо установить выделенный сервер.
Прописываем: app_update 1026340 validate.
validate – проверка файлов после установки. Позволяет устранить тот мизерный шанс, что у Вас могут криво скачаться файлы.
9. Теперь используйте команду: app_run 1026340.
Это запустит выделенный сервер. Все консольные команды, конфигурацию сервера и тому подобное можно найти ниже или же спросить у меня – помогу.
Конфигурация сервера
Раздел немного неправильно назван, но кому есть дело до этого?
В корневой папке с игрой найдите файл “serversettings.xml” и откройте его. Советую установить “Notepad++” для работы с подобными файлами, а я пока что обойдусь стандартным блокнотиком.
Я просто напишу что и за что отвечает.
tickrate=”20″ – В КС:ГО много кто играл, наверное. Копирую с сайта:
Originally posted by JULIA98:Тикрейт — это временной промежуток, во время которого сервер синхронизирует полученные пакеты данных от клиента с сервером и наоборот. Точнее сказать, единица измерения.
Если уж на русском объяснять, то чем больше тикрейт, тем чётче будет игра на сервере. Если уж поставить 128, то игра в мультиплеере будет как в одиночке, но это требует немалых ресурсов. У меня на сервере стоит 64.
randomizeseed=”True” – Отвечает за рандомизацию SEED’а уровня. Трогать её вообще не нужно, какой прикол кататься по одному и тому же уровню?
userespawnshuttle=”True” – Это у нас спавн шаттла. Если отключить, то его не будет. То есть экипажу никто на помощь не придёт, в случае чего.
respawninterval=”305″ – Через сколько будет отправлен шаттл. Время в секундах.
maxtransporttime=”600″ – Время жизни шаттла. Если “0”, то бесконечно.
minrespawnratio=”0.5″ – При скольки наблюдателях (мёртвые тоже в их числе) будет включаться таймер отправки шаттла. В моём случае это 50%.
autorestartinterval=”53.5″ – Авторестарт раунда. У меня это 53 с половиной секунды. (Я просто авторестарт не использую, скоро поймёте почему)
startwhenclientsready=”True” – Начинать раунд, когда игроки готовы.
startwhenclientsreadyratio=”0.7″ – Сколько готовых игроков необходимо, чтобы раунд начался. В моём случае это 70%. Поэтому я и не использую авторестарт, игроки сами знают когда им начинать.
allowspectating=”True” – Наблюдение на сервере.
voipenabled=”True” – Голосовой чат. (Команда заменена другой командой. О ней чуть ниже)
endroundatlevelend=”True” – Автоматически заканчивать раунд, когда субмарина достигла конечной точки.
saveserverlogs=”True” – Сохранять журнал сервера или нет. Никогда не отключайте!
allowragdollbutton=”True” – Использование кнопки “Тряпичная кукла” (пробел)
allowfiletransfers=”True” – Передача файлов. Позволяет игрокам загружать субмарины и шаттлы с сервера.
voicechatenabled=”False” – Голосовой чат.
allowvotekick=”True” – Голосование за кик. Чуть ниже можно выставить время бана.
allowendvoting=”True” – Голосование за окончание раунда.
allowrespawn=”True” – Респавн игроков.
botcount=”0″ – Количество ботов.
maxbotcount=”5″ – Максимальное количество ботов.
allowdisguises=”True” – Маскировка. Если отключить, то ники игроков не будут скрываться, если они без ID карты в маске или гидрокостюме.
subselectionmode=”Vote” – Как происходит выбор субмарины. Vote – голосование. Manual – вручную (выбирает хост или админы). Random – субмарина выбирается случайным образом.
modeselectionmode=”Manual” – Как происходит выбор режима. Всё как в команде выше, но я не рекомендую ставить голосование.
endvoterequiredratio=”0.6″ – Необходимое количество голосов, чтобы раунд закончился.
kickvoterequiredratio=”0.6″ – Необходимое количество голосов, чтобы кикнуть игрока.
killdisconnectedtime=”90″ – Убивать отключившихся через X секунд. У меня стоит 90 секунд, чтобы игроки имели возможность переподключиться.
kickafktime=”120″ – Кикать АФК. Это распространяется только на живых персонажей. Наблюдатели могут сидеть АФК совершенно спокойно.
traitoruseratio=”True” – Использовать Предателей в зависимости от их количества.
traitorratio=”0.199″ – 20% от игроков станут Предателями (Сообщник и Предатель).
karmaenabled=”False” – Карма. О ней можно много писать, то если вкратце, то вот пример:
Игрок ломает субмарину, проводку, убивает просто так – его карма снижается и со временем он сможет играть только за ассистента. На Предателя карма не работает, он может спокойно нести свою миссию.
gamemodeidentifier=”mission” – Не трогайте, если не понимаете что делаете.
missiontype=”Random” – Тип заданий. Лучше оставлять Random. Можете выбрать что-то одно, если вам требуется Random,Salvage,Monster,Cargo,Combat
autobantime=”288″ – Автобан игрока, которого кикнули голосованием.
maxautobantime=”1440″ – Максимальное время автобана. Эти две настройки можно изменять в настройках сервера, находясь в лобби. Разберётесь.
name=”[RP]Russian Public.” – Название сервера.
public=”true” – Публичный сервер. Если отключено, то подключиться можно только по IP.
port=”27015″ – Не трогайте.
queryport=”27016″ – Не трогайте.
maxplayers=”10″ – Количество слотов.
enableupnp=”false” – Требуется для тех, кто использует роутер.
autorestart=”false” – Авторестарт на сервере.
SubSelection=”Vote” – Выбор субмарины. Vote – голосование. Manual – вручную (выбирает хост или админы). Random – субмарина выбирается случайным образом (Не знаю для чего тут две одинаковые команды).
ModeSelection=”Manual” – Какой режим стоит по умолчанию. Sandbox, mission или campaign.
LevelDifficulty=”50″ – Сложность уровня. От 0 до 100.
TraitorsEnabled=”Maybe” – Предатели. Yes – они есть всегда. Maybe – 50 на 50. No – Предатели отключены.
BotSpawnMode=”Fill” – Заполнение ботов. Normal – Обычное. Fill – Боты буду появляться в зависимости от игроков. Если ботов спавниться трое и на сервере два игрока, то появится только один бот.
AllowedRandomMissionTypes=”Random,Salvage,Monster,Cargo,Combat” – Какие задания могут выпасть при случайном выпадении.
AllowedClientNameChars=”32-33,38-46,48-57,65-90,91-91,93-93,95-122,192-255,384-591,1024-1279″ – Разрешённые символы в нике. если хотите, чтобы подключались игроки только с русскими никами, то вставьте туда это: 32-33,1024-1279
ServerMessage=”Описание сервера” /> – Ну тут уже понятно.
Запуск сервера и консольные команды.
Запускайте сервер через саму игру или “DedicatedServer” в корневой папке игры.
Консольные команды для сервера можно найти тут:
[link]