[цикл статей] Создание сервера Killing Floor

Тема в разделе "Dedicated Server", создана пользователем 2/5, 7 май 2016.

Статус темы:
Закрыта.
  1. 2/5

    2/5 Соучастник

    Цикл статей по созданию выделенного сервера с нуля
    (Windows и Linux)​
    автор: Flame
    редактор: НАТАХА
    Нас конкретно уже задрали вопросами по созданию сервера. И захотелось написать цикл статей для "чайников". Статьи про создание сервера, установку эмуляторов, первоначальную настройку сервера, настройку песочницы, установку SP, исправление косяков SP и т.д. Начнём потихоньку.

    Создание сервера:
    На форуме есть отличные статьи по созданию сервера и под линуксом и под виндой. Правда кое-где накрылись ссылки на поясняющие картинки.
    Создание выделенного сервера для Windows через steamcmd
    Создание выделенного сервера на Linux через SteamCMD
    Создание сервера на Linux
    Создание выделенного сервера для Windows (версии 1034)
    Я не претендую на такое же подробное изложение, но хотелось бы проделать это всё ещё раз. Сделав лишь только то, что я сделал (ни шагом меньше, ни шагом больше). Если у кого-то возникли какие-то проблемы, и у них не получается идти путём описанным здесь - им стоит изучить предыдущие темы более внимательно.
    В основе моего описания - официальная инструкция

    Windows:
    Далее описание алгоритма для тех, кто хочет разобраться в процессе. Для ленивых в конце есть ссылка на полученный в результате чистый сервер под Windows.

    1. Качаем SteamCMD
    Основная Ссылка
    Моё зеркало
    Замечание:
    Путь к steamcmd не должен содержать кириллицу, иначе при запуске получите ошибку
    Код:
    [  0%] !!! Fatal Error: %appname% cannot run from a folder path that includes non-English characters
    
    2. Steam-аккаунт
    Для того, чтобы закачать KF сервер необходимо иметь стим аккаунт (залогиниться под anonymous не прокатит).
    Поэтому либо пользуйтесь своим стим аккаунтом, либо вот я не поленился и создал стим аккаунт специально для этой статьи. В дальнейшем я буду писать именно для этой почты и этого стим аккаунта.
    Логин: kfsteamcmd
    Пароль: 20160505
    Почта к которой привязан стим аккаунт: SteamCommand@yandex.ru
    Пароль: 20160505
    3. Запускаем SteamCMD, ждём пока он докачает необходимые файлы. После этого он предоставит нам командную строку.
    Пишем:
    Код:
    login kfsteamcmd 20160505
    
    Если результат такой:
    [​IMG]
    то хорошо.
    Если SteamCMD ругнулся и захотел стим код, то идём на почту SteamCommand@yandex.ru (напоминаю, везде пароль 20160505), забираем оттуда код (например, 4Y26K) и вводим в SteamCMD команду
    Код:
    set_steam_guard_code 4Y26K
    
    После этого повторяем попытку залогиниться: login kfsteamcmd 20160505
    Если всё хорошо - продолжаем. Если возникают проблемы - изучайте статьи, перечисленные выше.

    4. Теперь назначим папку для установки сервера.
    Пусть это будет d:\kf_server
    Пишем:
    Код:
    force_install_dir d:\kf_server
    
    Замечание: Если мы пропустим этот шаг, то сервер будет создан в папке .\steamapps\common

    5. Собственно устанавливаем KF Server командой
    Код:
    app_update 215350 validate
    
    [​IMG]
    Замечание 1: 215350 код kf сервера под винду, под линукс код на 10 больше - 215360
    Замечание 2: Коды можно получить здесь
    [​IMG]
    Замечание 3: validate - необязательный параметр для проверки целостности скаченного сервера

    6. Выходим. После того, как всё установилось - выходим с помощью команды
    Код:
    exit
    
    Замечание:
    Чтобы не повторять раз за разом эти действия, можно создать текстовой файл (steamcmd.txt, например) и поместить все эти команды туда. А потом запустить bat файл с содержанием steamcmd.exe +runscript steamcmd.txt
    По ссылке ниже SteamCMD с уже готовыми steamcmd.txt и start.bat файлами для совсем ленивых.
    Ссылка

    Сервер 1065, полученный в результате этих действий
    Ссылка
    Linux:
    Далее описание алгоритма для тех, кто хочет разобраться в процессе. Для ленивых в конце есть ссылка на полученный в результате чистый сервер под Linux.

    0. База.
    Как правило с Linux'ом у нас народ знаком меньше. Поэтому постараюсь остановиться на базовых командах подробнее. Буду рассматривать ситуацию для дистрибутива Ubunta 16.04
    Те кто в теме - спойлер могут не открывать.
    Несколько полезных замечаний для новичков:
    1) Серия картинок - как добраться до консоли
    [​IMG]
    [​IMG]
    [​IMG]
    2) В нашей статье используются 2 команды работы с папками:
    mkdir - создание директории (папки)
    cd - переход в директорию
    3) Во многих командных оболочках домашний каталог можно обозначать символом ~, то есть набрав команду mkdir ~/steamcmd мы по сути набрали команду mkdir /home/ИмяПользователя/steamcmd
    4) Чтобы вставить текст уже скопированный в буфер обмена в линуксе часто используется средняя кнопка мыши
    5) За более подробной информацией отсылаю вас сюда
    1. Открываем консоль
    [​IMG]
    2. Создаём папку для SteamCMD, например так
    Код:
    mkdir ~/steamcmd
    
    И переходим в эту папку
    Код:
    cd ~/steamcmd
    
    3. Качаем SteamCMD
    Код:
    wget http://media.steampowered.com/client/installer/steamcmd_linux.tar.gz
    
    или с зеркала
    Код:
    wget http://ftp.simhost.org/KillingFloor/tools/steamcmd_linux.tar.gz
    
    4. Распаковываем tar.gz архив с SteamCMD.
    Код:
    tar -xvzf steamcmd_linux.tar.gz
    
    5. Steam-аккаунт
    Для того, чтобы закачать KF сервер, необходимо иметь стим аккаунт, залогиниться под anonymous не прокатит. Поэтому либо пользуйтесь своим стим аккаунтом, либо вот я не поленился и создал стим аккаунт специально для этой статьи
    Логин: kfsteamcmd
    Пароль: 20160505
    Почта к которой привязан стим аккаунт: SteamCommand@yandex.ru
    Пароль: 20160505
    6. Запускаем SteamCMD
    Код:
    ./steamcmd.sh
    
    Замечание: Если получаем в результате "Нет такого файла или каталога" - ставим библиотеку:
    Код:
    sudo apt-get install lib32gcc1
    
    Итак, SteamCMD запустился.
    Ждём, пока он докачает необходимые файлы. После этого он предоставит нам командную строку.
    Пишем
    Код:
    login kfsteamcmd 20160505
    
    Если результат такой:
    [​IMG]
    то хорошо.
    Если SteamCMD ругнулся и захотел стим код, то идём на почту SteamCommand@yandex.ru (напоминаю, везде пароль 20160505), забираем оттуда код (например, 4Y26K) и вводим в SteamCMD команду
    Код:
    set_steam_guard_code 4Y26K
    
    После этого повторяем попытку залогиниться: login kfsteamcmd 20160505
    Если всё хорошо - продолжаем. Если возникают проблемы - изучайте статьи перечисленные выше.

    7. Теперь назначим папку для установки сервера.
    Пусть это будет ~/kf_server
    Пишем:
    Код:
    force_install_dir ~/kf_server/
    
    Замечание:
    Если мы пропустим этот шаг, то сервер будет создан в папке ~/steamcmd/steamapps/common

    8. Собственно устанавливаем KF Server командой
    Код:
    app_update 215360 validate
    
    [​IMG]
    Замечание 1: 215360 код kf сервера под линукс, под винду код на 10 меньше - 215350
    Замечание 2: Коды можно получить здесь
    [​IMG]
    Замечание 3: validate - необязательный параметр для проверки целостности приложения

    9. Выходим.После того, как всё установилось - выходим с помощью команды
    Код:
    exit
    
    Замечание:
    Чтобы не повторять раз за разом эти действия можно создать текстовой файл (steamcmd.txt, например) и поместить все эти команды туда. А потом запустить sh файл с содержанием ./steamcmd +runscript steamcmd.txt
    По ссылке ниже уже распакованный SteamCMD с готовым steamcmd.txt и start.sh файлами для совсем ленивых.
    Ссылка

    Сервер 1065, полученный в результате этих действий
    Ссылка

    Upd. Кроме того есть GUI надстройки над SteamCMD, в частности SteamCMD GUI
    Спасибо WipeMaster за замечание
     
    BAHO, STaJIKeR и w.a.l нравится это.
  2. Flame

    Flame -Заслуженый кодер форума-

    Продублирую здесь этот пост
    Ибо после установки сервера многие ставят NoSteam эмуляторы
    Информация для них

    По поводу эмуляторов для сервера KF1
    В общем изучил я слегка тему
    Будем рассматривать новые эмуляторы RevEmu (начиная от 5 марта 2016)
    По одной простой причине - я проверял свои идеи на них, да и вроде там какое-то важное обновление было

    Очень вероятно, что для более ранних версий выполняется всё то же самое, но утверждать не буду
    В частности, я долгое время пользовался эмулятором (да и продолжаю для тестового сервака), который требует только заломанный steamclient, ему не нужен rev.ini и отсылки к лицензионному steamclient

    Итак, насколько я понимаю для того, чтобы сделать сервер NoSteam достаточно
    1. заломанного steamclient
    2. лицензионного steamclient'а переименованного или положенного в другую папку
    3. rev.ini со ссылкой на этот лицензионный steamclient

    Соответственно мои архивчики с эмуляторами содержат по 3 файла для винды и для линукса
    steamclient.dll(so) - файл взятый с сайта автора
    steamclient_old.dll(so) - переименованный базовый файл
    и rev.ini с минимально таким содержанием:
    Линукс:

    Код:
    [steamclient]
    ClientDLL=./steamclient_old.so
    
    Винда:
    Код:
    [steamclient]
    ClientDLL=.\steamclient_old.dll
    
    Обычно rev.ini выглядит как-то так
    Код:
    [Emulator]
    CacheEnabled = False
    Language = English
    Logging = True
    SteamClient = False
     
    [Log]
    FileSystem = True
    Account = True
    UserID = True
     
    [steamclient]
    PlayerName=PlayerName
    Logging=true
    DisableUnlockedItems = False
    Use_hl_master = true
    ClanTag=[revcrew]
    ClientDLL=./steamclient_old.so
     
    [GameServer]
    AllowOldRev74 = True
    AllowOldRev = True
    AllowUnknown=True
    AllowCracked = True
    AllowLegit = True
    AllowedAnyCountConnectUnknownClientWithOneIP = True
    Fake_player = false
    RevEmu_2012 = true
    
    Возможно и есть плюс от этих дополнительных свойств - я не знаю
    Можете поэкспериментировать

    Замечание:
    Я взял версию эмуляторов от 5 марта 2016. По одной простой причине - на эту версию антивирусы ругаются меньше, нежели на версию от 27 апреля)

    Вот статистика:
    27 апреля и 5 марта

    На случай, если у вас особо параноидальный антивирус - я запаролил архив, чтобы при попытке скачать не было ругани
    Ссылка на эмуляторы
    пароль: 123
    Далее
    Вопрос видимости серваков в поиске лицензионного клиента
    Сразу скажу - рассматриваем сервера версии 1065 и для винды и для линукса
    Ибо что работает для 1065 - не работает для 1064)

    В общем то мне и нечего сказать - никаких новых шагов делать не надо
    Сервера видны по умолчанию

    Ниже патчи 1064->1065 для серверов
    Для windows там 10 dll файлов и ucc.exe
    Для linux'а только ucc-bin-real
    Возможно достаточно заменить ucc.exe для винды, чтобы сервера отображались в поиске. Возможно. Лень проверять)
    Так что обновляйте сервера до 1065 и наслаждайтесь. Там подстава в том, что размеры этих 10 dll и файлов запуска никак не изменились в 1065 по сравнению с 1064, поэтому возможно кто-то из вас подумал, что и нечего обновлять)

    Ссылка на патчи

    Для тех, кто принципиально хочет заломать более ранние версии сервера - возможно вам помогут старые эмуляторы.
    Например, от 05.03.2014.
    Ещё вот интересная информация, так и не получилось мне на 1064 добиться результата таким способом
     
    HATAXA нравится это.
Статус темы:
Закрыта.