Архив

Архив раздела ‘HOWTO’

Установка и настройка выделенного сервера Garry’s Mod

7 августа 2010 Комментариев нет

Вступление

Несколько месяцев назад я писал об установке и настройке слушающего сервера Garry’s Mod. В данном HOWTO я подробно напишу как скачать, установить и настроить выделенный (Dedicated) сервер Garry’s Mod. Мы подробно рассмотрим установку админки, расширений и плагинов.

Техническая часть

  1. Чтобы к Вам могли подключаться клиенты, Вы должны иметь “белый” IP-адрес, т.е. видимый из Интернета. Создание сервера с “серым” IP, либо с жёстким NAT’ом провайдера не имеет смысла, т.к. подключиться к такому серверу никто не сможет (кроме находящихся с Вами в одной подсети).
  2. Если у Вас ADSL, вы должны пробросить порт, на котором будет установлен сервер, по протоколу UDP (для подключения клиентов) и TCP (для удалённого администрирования (rcon)) в настройках своего роутера (модема). Обычно проброс портов настраивается в веб-интерфейсе роутера в разделе NATPort Forwarding или NATVirtual Servers.
  3. На сервере главное – скорость отдачи от Вас клиентам, а также мощность процессора Вашего компьютера. На ADSL максимальная отдача может составлять около 780 Кбит/с – 1 МБит/с (на ADSL с модуляцией AnnexM (такая разновидность встречается крайне редко) – 3 Мбит/с). Если у Вас тариф на 256 КБит/с, то к Вам могут подключиться 6 клиентов. Если 512 – 10-12 клиентов, если 1 Мбит и более (ADSL) – 18 клиентов, кабель без NAT – 23 клиента (максимум для слушающего сервера). В соотвествие с этими параметрами Вы должны настроить значение переменной “Максимальное число игроков” во время создания сервера. Если Ваш канал или процессор не будут выдерживать такое количество подключившихся игроков, у всех появятся лаги.

Внимание! Не создавайте сервер на большое количество пользователей, т.к. это может вызывать серьёзные лаги.

Установка выделенного сервера

  1. Скачайте hldsupdatetool с официального сайта по ссылке: http://www.steampowered.com/download/hldsupdatetool.exe.
  2. Установите скачанный hldsupdatetool в папку по умолчанию %PROGRAMFILES%\Valve\HLServer\.
  3. Создайте папку, в которую Вы будете устанавливать выделенный сервер Garry’s Mod. Рекомендуем устанавливать в корень диска чтобы не было проблем с пробелами в путях. Также в пути не должно быть русских букв (допустимы только латинские буквы, цифры и символ подчёркивания). Рекомендуем: C:\srcds\, где вместо C:\ подставьте букву любого диска с достаточным количеством свободного места (установленный сервер Garry’s Mod с плагинами требует минимум 4 ГБ).
  4. Перейдите в созданную на предыдущем шаге папку папку и создайте в ней файл update.cmd (можно update.bat). В этот файл впишите следующее:
    @echo off
    "%PROGRAMFILES%\Valve\HLServer\HldsUpdateTool.exe" -command update -game "garrysmod" -dir "c:\srcds"
    pause

    Здесь %PROGRAMFILES%\Valve\HLServer\ – путь к установленному hldsupdatetool, а c:\srcds – каталог, в который будем устанавливать сервер.

  5. Запускайте созданный файл update.cmd на выполнение. При первом запуска будет произведено автоматическое обновление утилиты hldsupdatetool, затем начнётся скачивание и установка выделенного сервера.
    Автоматическое обновление hldsupdatetool

    Автоматическое обновление hldsupdatetool

    Скачивание выделенного сервера

    Скачивание выделенного сервера

  6. По окончании скачивания (зависит от скорости Вашего Интернет-соединения; сервер весит около 900 МБ), перейдите в каталог с:\srcds\orangebox\, где с:\srcds\ – это каталог установки выделенного сервера и создайте там файл launch.cmd (или launch.bat) с текстом:
    start /high srcds.exe -console -game garrysmod -port 27015 -maxplayers 12 +map gm_flatgrass

    Здесь -port 27015 – порт, на котором будет “висеть” сервер (UDP/TCP), -maxplayers 12 – максимальное количество игроков на данном сервере, +map gm_flatgrass – карта, с которой запустится сервер. Если требуется автоматически перезапускать сервер при ошибках/падениях, то вместо предыдущего текста, впишите следующий:

    @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 -game garrysmod -port 27015 -maxplayers 12 +map gm_flatgrass
    echo (%time%) WARNING: srcds closed or crashed, restarting.
    goto srcds
  7. Запустите сервер созданным файлом launch.cmd или launch.bat.
  8. Сервер успешно установлен.

Настройка выделенного сервера Garry’s Mod

Сервер был установлен, но, к сожалению, пока он не пригоден для использования. Нужно его настроить.

  1. Установите джентльменский набор плагинов из svn для Garry’s Mod, так, как описано в этой статье вручную или автоматически (устанавливать плагины Вы должны в каталог c:\srcds\orangebox\garrysmod\addons\, где c:\srcds\ – каталог установки выделенного сервера. Всю информацию по установке и сами скрипты установки/обновления плагинов Вы найдёте по этой ссылке. Обязательно установите ULX, U-Lib и U-Restrict.
  2. Скачайте и распакуйте архив с файлами конфигурации сервера в папку c:\srcds\orangebox\garrysmod\cfg\, где c:\srcds\ – путь установки сервера.
  3. Откройте файл c:\srcds\orangebox\garrysmod\cfg\server.cfg в любом текстовом редакторе и внесите в него правки: измените имя сервера (переменная hostname), смените rcon-пароль (rcon_password) и т.д. В файле я всё подробно описал какая переменная чем управляет, что включает/выключает, поэтому на этом я останавливаться не буду здесь. Внимание! Первым делом задайте пароль вместо !!!CHANGEME!!!, иначе Ваш сервер могут взломать.
  4. Сделайте себя и, если нужно, своих друзей администраторами свежесозданного сервера (обязательно, иначе ULX-админка не даст Вам доступа). Чтобы сделать себя админом, нужно узнать Ваш личный SteamID и выбрать автоматический или ручной способ:
    1. Автоматический способ. Запустите сервер (ULX и U-Lib должны быть установлены), запустите клиент Garry’s Mod и зайдите на свой сервер с помощью команды connect ВАШ_ВНЕШНИЙ_IP:ПОРТ. Сверните Garry’s Mod и перейдите в консоль сервера, введите в консоли сервера
      ulx adduser ВАШ_НИК superadmin

      где ВАШ_НИК – это Ваш ник в Steam (при наличии пробелов в нике кавычки обязательны; допускаются только латинские буквы, цифры и знак подчёркивания). ULX автоматически пропишет этого пользователя в админы сервера.

    2. Ручной способ. В любом текстовом редакторе откройте файл с:\srcds\orangebox\garrysmod\settings\users.txt. В этот файл прописываются администраторы сервера по SteamID. Найдите в этом файле раздел “superadmin” и после строки
      //”garry” “STEAM_0:1:7099

      впишите свою в виде

      “ВАШ_НИК” “STEAM_0:1:XXXXXXXXX”

      где ВАШ_НИК – это ник админа, который будет в списке вывода админов сервера (здесь разрешено вводить только латинские буквы и цифры без пробелов; кавычки обязательны), а STEAM_0:1:XXXXXXXXX – это Ваш SteamID (замените на настоящий, естественно ;-)   ), полученный на 3 шаге.

  5. Обязательно установите плагин Simple Prop Protection из SVN отсюда:
    http://simplepropprotection.googlecode.com/svn/trunk/ (официальный репозиторий). Этот плагин не позволит пользователям мешать другим/повреждать/удалять их постройки и т.д.
  6. Пробуйте запустить сервер и зайти на него с помощью клиента Garry’s Mod. Вызовите админку командой ulx admin. Если всё пройдёт успешно, сервер был успешно настроен и готов к приёму игроков.

Мини-FAQ по серверу Garry’s Mod

Q: Как запретить выдавать игрокам оружие (давать только Physgun, грави-ган, тулган и скриншотган)?

A: Установите плагин U-Restrict (если Вы устанавливали с помощью наших скриптов, то он уже установлен и автоматически активирован).

Q: Как изменить сообщение, которое появляется при заходе на созданный сервер Garry’s Mod?

A: Отредактируйте файл с:\srcds\orangebox\garrysmod\data\ulx\motd.txt. Это обычный HTML-файл.

Q: Куда пишутся сокращённые логи админки?

A: Логи админки ULX пишутся в с:\srcds\orangebox\garrysmod\data\ulx_logs\ДАТА.txt, где ДАТА – сегодняшняя дата в формате ММ-ДД-ГГ.

Q: Мне нужно выдавать игрокам при подключении к серверу определённое оружие. Как это сделать?

A: Как уже писалось выше, нужен плагин U-Restrict для админки (если Вы устанавливали набор плагинов с помощью наших скриптов, он уже установлен). Итак, чтобы выдать нужное оружие, откройте файл с:\srcds\orangebox\garrysmod\data\URestrict\loadouts.txt в любом текстовом редакторе и в разделе loadout после gmod_tool  введите полное имя нужного оружия, например weapon_smg. Это оружие будет автоматически выдано игроку после подключения к серверу, а также после его респауна.

Создание и установка спрея в Source-игры

6 августа 2010 Комментариев нет

Вступление

Как показывает практика, создание и установка спрея в Source-игры (Team Fortress 2, Counter-Strike: Source, Left 4 Dead и т.д.) вызывает у пользователей множество вопросов и проблем. Поэтому я решил написать данное HOWTO, в котором пошагово расскажу как создать и установить спрей в TF2/CSS/L4D(2).

Создание спрея

Приложения на движке Source используют VTF-формат спреев (сокр. от Valve Texture File), поэтому Вам придётся конвертировать свои изображения GIF/JPEG/PNG/BMP именно в этот формат. На мой взгляд, лучшей программой конвертирования в VTF является бесплатная программа VTFEdit, которую можно скачать с нашего сайта по прямой ссылке: http://www.easycoding.org/files/vtfedit125-20.exe.

  1. Запускайте скачанную программу VTFEdit. Вы увидите её окно.

    Главное окно VTFEdit

    Главное окно VTFEdit

  2. Выберите FileImport и найдите на диске файл, который Вы хотите сделать спреем. Внимание! Размер спрея должен быть 256*256 пикселей (файлы большего размера не принимаются большинством серверов). VTFEdit поддерживает импорт файлов изображений формата GIF, JPEG, PNG, BMP, TGA и DDS.

    Диалог импорта файла VTFEdit

    Диалог импорта файла VTFEdit

  3. Выбрав нужный файл, нажмите кнопку “Открыть” (или “Open” в английской версии Windows). Появится окно дополнительных опции импорта. Здесь сразу нажмите “OK“, ничего не изменяя.

    Дополнительные опции импорта

    Дополнительные опции импорта

  4. Вы будете перемещены в главное окно VTFEdit, в котором увидите только что созданный и загруженный спрей. В меню Options выберите Auto Create VMT File чтобы программа наряду с VTF-файлом сгенерировала и VMT-файл (файл описания спрея). Это действие избавит Вас от необходимости вручную импортировать спрей в игре.

    Меню Options VTFEdit

    Меню Options VTFEdit

  5. Сохраните Ваш спрей на диск командой FileSave под любым именем (в имени файла не должно быть русских букв и пробелов, т.е. допустимы только латинские буквы и цифры).
  6. Ваш спрей создан и сохранён. Пришло время переходить к его установке.

Ручная установка спрея

Рассмотрим установку спрея на примере Team Fortress 2 (для CSS во всех путях замените tf на cstrike).

  1. Откройте в Проводнике Windows папку \Steam\steamapps\ВАШ_ЛОГИН\team fortress 2\tf.
  2. Найдите в ней подкаталог materials, а в нём vgui -> logos. Если их нет, то Вы должны их создать вручную. Структура каталогов должна выглядеть так: \Steam\steamapps\ВАШ_ЛОГИН\team fortress 2\tf\materials\vgui\logos\. Перейдите в logos.
  3. Скопируйте созданные Вами спреи в эту папку (и vtf, и vmt-файлы).
  4. Запустите TF2, зайдите в Настройки (Options) на страницу Сетевая игра (Multiplayer) и выберите установленный спрей из списка в разделе Spraypaint image. Если спрей удалось выбрать и в поле Preview Вы увидели его, сразу нажимайте OK и не выполняйте дальнейшие шаги.

    Выбор загруженного спрея

    Выбор загруженного спрея

  5. Если у спрея не было VMT-файла, либо Вы его не создали в VTFEdit и соответственно его нет в списке доступных спреев TF2, то под списком доступных спреев нажмите кнопку Импорт (Import Spray…).

    Параметры сетевой игры

    Параметры сетевой игры

  6. В открывшемся окне Import Spray Image переходите по каталогам по порядку – tf -> materials -> vgui -> logos и выберите скопированный Вами спрей. Нажмите кнопку Open.

    Окно импорта спрея

    Окно импорта спрея

  7. Теперь спрей должен отображаться в списке (см. шаг 4). Нажмите OK. Спрей успешно установлен.
Категории:HOWTO Метки:, ,

Разграничение прав пользователей Subversion

Введение

В своём предыдущем HOWTO, посвящённом установке и настройке SVN-сервера под Windows, я сознательно ничего не писал о разграничении прав пользователей репозитария, т.к. эта тема “тянет” на отдельную статью.

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

Данное HOWTO будет разделено на два больших раздела: “Настройка svnserve” (если в качестве сервера Вы используете svnserve) и “Настройка Apache” (если в качестве сервера Вы используете Apache + mod_svn).

Настройка svnserve

Шаг 1. Предварительная настройка.

В любом текстовом редакторе (рекомендуется Notepad++) откройте файл ПУТЬ_К_РЕПОЗИТАРИЮ\conf\svnserve.conf и сделайте следующие правки. В базовых правах пропишите:

anon-access = none
auth-access = write

Это запретит доступ анонимам и даст полный доступ авторизованным пользователям. Если всё-таки нужно дать доступ анонимам, то anon-access установите в read.

Раскомментируйте строку (уберите решётку перед строкой):

authz-db = authz

Эта строка включает функции, отвечающие за разграничение прав пользователей. Все настройки прав пользователей записываются в указанный здесь файл (в нашем примере – authz (без расширения)).

Остальные настройки файла svnserve.conf можно не изменять. Более подробную информацию об этом файле читайте в первом HOWTO.

Шаг 2. Создание пользователей.

Откройте в любом текстовом редакторе файл, который задан в файле svnserve.conf как файл со списком пользователей и их паролей в директиве password-db. По умолчанию этот файл называется passwd (без расширения).

Впишите в этот файл нужных Вам пользователей и их пароли (синтаксис логин = пароль). Более подробную информацию можно получить в первом HOWTO на шаге 3. Там же Вы можете посмотреть примеры такого файла.

Шаг 3. Создание групп пользователей.

Для удобства администрирования можно создать группы, но делать это не обязательно. Итак, если Вы хотите создать группы, откройте в любом текстовом редакторе файл authz (если Вы не сменили его название на шаге 1), найдите [groups] и после примеров впишите:

название_группы = пользователь1,пользователь2,...,пользовательN

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

Рассмотрим достаточно простой пример:

[groups]
admins = vova,vitaly
proj1 = kate,john,bill,sam
proj2 = dima,john

В этом примере мы создали три группы: admins (администраторы сервера), proj1 (группа, которая будет работать над проектом 1) и proj2 (группа, которая будет работать над проектом 2). Пользователь john в нашем примере входит в обе группы, т.е. имеет доступ как к проекту 1, так и к проекту 2.

На следующем шаге мы пропишем этим группам права доступа.

Шаг 4. Настройка прав доступа.

В том же текстовом файле authz, что и на предыдущем шаге, ищем “### ACCESS CONTROL SECTION“. После этой секции идёт указание прав доступа для каталогов svn-сервера. Разграничение прав лучше всего показать на примерах, поэтому представим что у нас на svn-сервере создана следующая структура каталогов:

/
/proj1/
/proj2/
/common/

Здесь нам нужно задать права:

  • для админов – разрешить полный доступ ко всем каталогам;
  • для пользователей проекта1 – дать доступ к проекту1, но заблокировать доступ к корню и к проекту2;
  • для пользователей проекта2 – дать доступ к проекту2, но заблокировать доступ к корню и к проекту1.

Если у Вас на шаге 3 были созданы группы, то всё делается очень просто:

# Указываем корневой каталог
[/ ]
# Даём полный доступ группе админов
@admins = rw
# Блокируем доступ всем остальным
* =

# Указываем каталог проекта1
[/proj1]
# Даём полный доступ админам
@admins = rw
# Даём полный доступ группе проекта1
@proj1 = rw
# Блокируем доступ всем остальным
* =

# Указываем каталог проекта2
[/proj1]
# Даём полный доступ админам
@admins = rw
# Даём полный доступ группе проекта2
@proj2 = rw
# Блокируем доступ всем остальным
* =

# Указываем доступный для всех каталог common
[/common]
# Даём полный доступ админам
@admins = rw
# Даём доступ только чтение для всех
* = r

Если группы созданы не были, то придётся вместо групп прописывать через запятую всех пользователей:

# Указываем корневой каталог
[/ ]
# Даём полный доступ админам
vova,vitaly = rw
# Блокируем доступ всем остальным
* =

# Указываем каталог проекта1
[/proj1]
# Даём полный доступ админам
vova,vitaly = rw
# Даём полный доступ группе проекта1
kate,john,bill,sam = rw
# Блокируем доступ всем остальным
* =

# Указываем каталог проекта2
[/proj1]
# Даём полный доступ админам
vova,vitaly = rw
# Даём полный доступ группе проекта2
dima,john = rw
# Блокируем доступ всем остальным
* =

# Указываем доступный для всех каталог common
[/common]
# Даём полный доступ админам
vova,vitaly = rw
# Даём доступ только чтение для всех
* = r

Таким образом, rw означает полный доступ (чтение, создание, редактирование, удаление), r (только чтение) и пустая строка – нет доступа.

Внимание! Права для подкаталога применяются рекурсивно, но если для какого-то подкаталога заданы индивидуальные права доступа, то они переопределят глобальные. Например, если какой-то группе стоят полные права доступа на корневой каталог, а в /proj1/ стоит запрет для всех, то у этой группы доступа к каталогу не будет.

Настройка Apache

Шаг 1. Предварительная настройка.

В любом текстовом редакторе откройте файл httpd.conf (основной файл конфигурации веб-сервера Apache). В самом конце файла найдите описание указание на Ваш каталог svn-проектов. Подробности настройки Apache + mod_svn читайте в первом HOWTO.

В конце файла httpd.conf найдите следующие строки:

DAV svn
SVNParentPath C:\svn_repository

и замените на такие:

DAV svn
SVNPath С:\svn_repository
AuthzSVNAccessFile С:\svn_repository\conf\authz

AuthType Basic
AuthName "Subversion repository"
AuthUserFile С:\svn_repository\conf\appswd
Require valid-user

Здесь C:\svn_repository – это путь к каталогу репозитория (измените в соответствии с Вашими настройками), authz – файл настроек доступа, а appswd – файл с логинами и паролями пользователей (стандартный htpasswd-файл Apache).

Шаг 2. Создание пользователей.

Откройте командную строку Windows (“Win+R” – “cmd.exe“) и выполните следующие команды:

cd "%PROGRAMFILES%\CollabNet\Subversion Server\httpd\bin"
htpasswd -cmb C:\svn_repository\conf\appswd ЛОГИН_ПОЛЬЗОВАТЕЛЯ_1 ПАРОЛЬ
htpasswd -mb C:\svn_repository\conf\appswd ЛОГИН_ПОЛЬЗОВАТЕЛЯ_2 ПАРОЛЬ
...
htpasswd -mb C:\svn_repository\conf\appswd ЛОГИН_ПОЛЬЗОВАТЕЛЯ_N ПАРОЛЬ

Здесь “%PROGRAMFILES%\CollabNet\Subversion Server\httpd\bin” – каталог установки сервера Apache + mod_svn (замените в соответствии с Вашими настройками), а “C:\svn_repository” – путь к локальному репозитарию (также измените в соответствии с настройками).

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

Шаг 3 и 4. Настройка прав доступа.

См. шаг 3 и 4 в разделе “Настройка svnserve” выше. Эти шаги одинаковы что для svnserve, что для Apache.

Заключение

После окончания настройки не забудьте перезапустить свой сервер. Команды перезапуска для svnserve:

net stop CSVNsvnserve
net start CSVNsvnserve

Команды перезапуска для Apache:

net stop CollabNetSubversionApache
net start CollabNetSubversionApache
Категории:HOWTO Метки:, ,

Установка и настройка SVN-сервера под Windows

26 марта 2010 Комментариев нет

Введение

В данном HOWTO я подробно опишу как установить и настроить SVN (subversion) сервер под ОС Windows.

Статья о настройке прав доступа SVN-сервера доступна здесь.

Шаг 1. Установка сервера.

Итак, для начала нам будет нужен сам дистрибутив с svn-сервером, который можно бесплатно скачать с официального сайта CollabNet (перед тем как что-то скачать, Вы должны пройти бесплатную регистрацию на этом сайте (зачем так сделано не очень понятно)). Вы должны скачать CollabNet Subversion Server and Client v1.6.9 (for Windows) (версия 1.6.9 – последняя на момент написания данного HOWTO).

После скачивания файла CollabNetSubversion-server-1.6.9-1.win32.exe (18,44 МБ), запускайте его и следуйте указаниям мастера. Мастер выполнит несколько шагов. Рассмотрим все шаги мастера по порядку:

  1. Приветствие мастера. Сразу жмите “Next“.
  2. Предложение прочитать онлайновый ReadMe. Жмите “Next“.
  3. Выберите компоненты, которые нужно установить: svnserve (собственно svn-сервер (устанавливать обязательно)) и Apache (устанавливайте только если хотите разрешить доступ к своим репозитариям из Интернета через обычные браузеры). Выбрав нужные компоненты, переходите к следующему шагу.
  4. На этом шаге предлагается выбрать порт для svn-сервера (настоятельно рекомендуется использовать стандартный 3690) и указать путь, где будут храниться репозитарии (рекомендуется стандартное значение c:\svn_repository). Флажок в строке “Install svnserve to run as Windows service” позволит автоматически запускаться svn-серверу при запуске Windows (рекомендуется не снимать отсюда флажок). Внимание! Этого шага не будет, если на шаге 3 Вы не выбрали компонент svnserve.
  5. Теперь предлагается настроить Apache если Вы его выбрали на третьем шаге мастера установки.
    • Host/Server name – имя сервера. Рекомендуется оставить localhost.
    • Host Port – порт, на котором будет находиться Apache. Рекомендуется либо стандартный 80, либо 8080.
    • Install Apache to run as Windows service – позволяет Apache запускаться вместе с Windows.
    • Repository Path – путь к svn-репозитарию. Укажите то же значение, что Вы указывали на шаге 4. Рекомендуется стандартное значение C:\svn_repository.
    • Repository Location Prefix – префикс, по которому будет доступен svn-репозитарий. Пример: http://localhost:80/svn/. Если Вы будете использовать установленный Apache только для репозитариев svn, установите в этом поле лишь слэш “/“, в противном случае оставьте стандартное значение /svn.
  6. Выберите каталог для установки набора серверов и нажмите “Install“.
  7. На этом шаге предлагается включить уведомления о новых версиях программы. Рекомендуется снять все флажки.
  8. Нажмите “Finish“. Установка завершена.

Шаг 2. Установка клиента.

В качестве SVN-клиента мы будем использовать TortoiseSVN, подробнее о котором можно почитать в HOWTO.

Скачать программу можно на её официальном сайте программы на странице Downloads: http://tortoisesvn.net/downloads. Там же можно скачать пакет локализации, содержащий помимо перевода интерфейса программы, ещё и словарь проверки орфографии (применяется при коммите изменений).

Установка программы стандартна и не должна вызвать никаких сложностей.

Шаг 3. Настройка svnserve.

Настройку начнём с того, что создадим новый репозитарий со стандартными настройками, которые и будем редактировать. Для этого зайдём в Проводнике Windows в каталог, указанный в качестве “Repository path” во время установки сервера (стандартное значение – С:\svn_repository\), нажмём правой кнопкой по пустому месту в нём и выберем “TortoiseSVN” – “Create repository here“. Через несколько мгновений внутри каталога появятся файлы и подкаталоги, а также будет выведено сообщение об успешном создании репозитария. В дальнейшем путь к репозитарию я буду заменять на ПУТЬ_К_РЕПОЗИТАРИЮ.

Теперь мы должны создать пользователей, которые будут работать с репозитарием. Для этого мы должны открыть файл “ПУТЬ_К_РЕПОЗИТАРИЮ\conf\svnserve.conf” в любом текстовом редакторе, например Блокноте Windows или Notepad++. Здесь Вы должны раскомментировать (убрать перед строкой символ(ы) “#“) следующие строки:

anon-access = none
auth-access = write

Строка “anon-access = none” означает, что анонимы не смогут получить доступ к репозитарию вообще (сделано из соображений безопасности), а “auth-access = write” означает, что авторизованные пользователи получат полный доступ в пределах их ограничений, заданных в файле authz (если такая функция включена). Если Вы хотите, чтобы анонимы могли получить доступ только для чтения (например, разрабатываете OpenSource-проект), то установите “anon-access = read“.

Теперь Вы должны раскомментировать строку:

password-db = passwd

Эта строка указывает в каком файле будут находиться логины и пароли пользователей для авторизации на svn-сервере. Теперь откройте файл “ПУТЬ_К_РЕПОЗИТАРИЮ\conf\passwd” в любом текстовом редакторе и впишите в нём “логин_пользователя = пароль_пользователя” (разделителем служит знак равенства). Пример правильного файла passwd:

### This file is an example password file for svnserve.
### Its format is similar to that of svnserve.conf. As shown in the
### example below it contains one section labelled [users].
### The name and password for each user follow, one account per line.

[users]
# harry = harryssecret
# sally = sallyssecret
vova = kjkj345K
anton = Gh74oJId
dima = ir9895498
katya = o894584578
sergey = 985kdfjdfk

Убираем символ комментария из строки:

realm = My First Repository

В ней указывается имя Вашего репозитария. После знака равенства вместо My First Repository Вы можете указать любое другое имя. Оно выводится при запросе логина и пароля.

Настройка сервера с простой (simple) авторизацией завершена. Пример правильного файла конфигурации сервера:

### This file controls the configuration of the svnserve daemon, if you
### use it to allow access to this repository.  (If you only allow
### access through http: and/or file: URLs, then this file is
### irrelevant.)

### Visit http://subversion.tigris.org/ for more information.

[general]
### These options control access to the repository for unauthenticated
### and authenticated users.  Valid values are "write", "read",
### and "none".  The sample settings below are the defaults.
anon-access = none
auth-access = write
### The password-db option controls the location of the password
### database file.  Unless you specify a path starting with a /,
### the file's location is relative to the directory containing
### this configuration file.
### If SASL is enabled (see below), this file will NOT be used.
### Uncomment the line below to use the default password file.
password-db = passwd
### The authz-db option controls the location of the authorization
### rules for path-based access control.  Unless you specify a path
### starting with a /, the file's location is relative to the the
### directory containing this file.  If you don't specify an
### authz-db, no path-based access control is done.
### Uncomment the line below to use the default authorization file.
#authz-db = authz
### This option specifies the authentication realm of the repository.
### If two repositories have the same authentication realm, they should
### have the same password database, and vice versa.  The default realm
### is repository's uuid.
realm = Test Repository

[sasl]
### This option specifies whether you want to use the Cyrus SASL
### library for authentication. Default is false.
### This section will be ignored if svnserve is not built with Cyrus
### SASL support; to check, run 'svnserve --version' and look for a line
### reading 'Cyrus SASL authentication is available.'
# use-sasl = true
### These options specify the desired strength of the security layer
### that you want SASL to provide. 0 means no encryption, 1 means
### integrity-checking only, values larger than 1 are correlated
### to the effective key length for encryption (e.g. 128 means 128-bit
### encryption). The values below are the defaults.
# min-encryption = 0
# max-encryption = 256

Теперь пора проверить созданный нами svn-сервер, но сначала мы должны перезапустить его чтобы он смог считать изменённые конфигурационные файлы. Для этого набираем “Windows+R” – “cmd.exe“. В открывшейся командной строке пишем слелующие команды (по порядку):

net stop CSVNsvnserve
net start CSVNsvnserve

Открываем TortoiseSVN Repository Browser из контекстного меню любой папки и в качестве URL вводим: svn://127.0.0.1/. Сервер запросит указать логин и пароль, заданные в файле passwd и при успешной авторизации отобразит корневой каталог. Сервер успешно настроен и готов к управлению проектами.

Шаг 4. Настройка Apache.

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

Откройте в любом текстовом редакторе файл “%PROGRAMFILES%\CollabNet\Subversion Server\httpd\conf\httpd.conf“, где %PROGRAMFILES%\CollabNet\Subversion Server\” – это путь установки svn-серверов. В конце файла httpd.conf найдите следующие строки:

DAV svn
SVNParentPath C:\svn_repository

и замените на такие:

DAV svn
SVNPath С:\svn_repository

AuthType Basic
AuthName "Subversion repository"
AuthUserFile С:\svn_repository\conf\appswd
Require valid-user

Здесь с:\svn_repository – путь к репозиторию svn. Измените в соответствии с Вашими настройками.

Теперь нужно создать файл паролей Apache. Для этого откройте командную строку Windows (“Win+R” – “cmd.exe“) и выполните следующие команды:

cd "%PROGRAMFILES%\CollabNet\Subversion Server\httpd\bin"
htpasswd -cmb C:\svn_repository\conf\appswd ЛОГИН_ПОЛЬЗОВАТЕЛЯ_1 ПАРОЛЬ
htpasswd -mb C:\svn_repository\conf\appswd ЛОГИН_ПОЛЬЗОВАТЕЛЯ_2 ПАРОЛЬ
...
htpasswd -mb C:\svn_repository\conf\appswd ЛОГИН_ПОЛЬЗОВАТЕЛЯ_N ПАРОЛЬ

Внимание! Параметр -cm нужно указывать только при первом создании пользователя, т.к. он перезаписывает имеющийся файл. В пути к файлу паролей буква диска обязательно должна быть в верхнем регистре.

В качестве ЛОГИН_ПОЛЬЗОВАТЕЛЯ нужно указать все логины пользователей, указанные в файле passwd. Пароли также должны быть идентичны.

Настройка SVN over Apache 2 была успешно завершена. Теперь нужно перезапустить сервер командами консоли Windows:

net stop CollabNetSubversionApache
net start CollabNetSubversionApache

Протестировать сервер можно так: http://127.0.0.1:ПОРТ/ в любом веб-браузере. Будет запрошен логин и пароль для доступа к репозитарию.

Категории:HOWTO Метки:, ,

Работа с TortoiseSVN

27 февраля 2010 Один комментарий

Введение

В данном HOWTO будет подробно рассказано как работать с самым популярным SVN-клиентом под Windows: скачивать и обновлять репозитарии, создавать теги и ветки проекта, коммитить (публиковать) свою рабочую копию, откатывать сделанные изменения и многое другое.

Где можно скачать программу

Скачать программу можно на её официальном сайте на странице Downloads: http://tortoisesvn.net/downloads. Там же можно скачать пакет локализации, содержащий помимо перевода интерфейса программы, ещё и словарь проверки орфографии (применяется при коммите изменений (см. ниже)).

Программа TortoiseSVN интегрируется в Проводник Windows (Windows Explorer) и все действия с ней выполняются из контекстного меню каталогов (папок).

Начнём с самого простого – скачивания одного из репозитариев на свой компьютер.

Скачивание репозитария SVN (Checkout)

Если Вы хотите скачать репозитарий какого-нибудь проекта, то Вы должны знать его URL, а также логин и пароль для доступа (если не указаны, то для анонимного доступа (только чтение) используется логин и пароль anonsvn). URL’ы могут быть:

  • стандартный svn:// – подключение напрямую к Subversion-серверу;
  • http:// – подключение к Subversion-серверу через веб (так работает большинство серверов, т.к. позволяет просматривать проект не имея SVN-клиента напрямую через веб-браузер);
  • https:// – то же, что и http://, но через SSL;
  • svn+ssh:// – svn через SSH (редко используется в настоящее время).

Допустим, что URL нам известен, поэтому чтобы скачать репозитарий, мы должны сделать следующее:

  1. Создаём папку, в которую будем скачивать репозитарии (для удобства лучше хранить все репозитарии в одной папке, например, C:\SVN).
  2. Заходим в неё в проводнике Windows, нажимаем правой кнопкой мыши по свободному месту и выбираем “SVN Checkout…“.
  3. В поле “URL of repository” пишем полный URL до репозитория SVN, который нам нужно скачать, а в поле “Checkout directory” корректируем путь, в которой будет помещена локальная копия. Внимание! Вам нужно делать checkout только каталога /trunk/ svn-репозитария, либо корневого, если /trunk/ не существует (очень редко, т.к. в 99% репозитариев trunk существует и содержит всегда самую последнюю версию файлов).
  4. В списке “Checkout Depth” укажите “Fully recursive“, что означает, что будет скачан весь репозитарий от указанного пути. Если установить флажок “Omit externals“, то внешние файлы, на которые есть ссылки в репозитарии (например, из других репозитариев, либо репозитариев третьих лиц), скачаны не будут, поэтому ставить флажок здесь не рекомендуется.
  5. В блоке “Revision” Вы можете запросить выдать Вам последнюю версию репозитария: “HEAD revision” (рекомендуется именно этот вариант), либо указанную Вам в поле ревизию: “Revision ###” (не рекомендуется).
  6. Кнопка “Show log” покажет Вам список изменений в репозитарии с информацией об авторах каждого изменения, описании изменений (если авторы их вводили при коммите изменений), а также списке добавленных, изменённых и удалённых файлов. Здесь же можно просмотреть чем файл одной ревизии (версии) отличается от файла другой, а также запросить показать унифицированный diff-файл изменений либо нескольких файлов, либо нескольких ревизий (отображается только для текстовых файлов). Более подробную информацию о Log Viewer читайте ниже.
  7. Нажимаем кнопку “OK” и ждём скачивания репозитария с Subversion-сервера (зависит от скорости Вашего Интернет-соединения, а также от загруженности svn-сервера). Внимание! Некоторые svn-серверы могут запросить пароль. Если Вы не знаете пароля, то вводите anonsvn как логин и пароль. Это стандартный логин/пароль для анонимного доступа. Если Вы хотите в дальнейшем публиковать свои изменения в этот репозитарий и у Вас есть на это право, то введите здесь свой логин и пароль.
  8. Готово. В каталоге, который Вы указали на третьем шаге в поле “Checkout directory” теперь находится локальная версия репозитария (рабочая копия).

Обновление скачанного репозитария (Update)

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

  1. Заходим в папку, в которой находятся файлы скачанной рабочей копии в Проводнике Windows.
  2. Нажимаем правой кнопкой по свободному месту в папке, выбираем “SVN Update“.
  3. В открывшемся окне наблюдаем за процессом обновления: списком добавленных, изменённых и/или удалённых файлов, текущим номером версии. Здесь же можно нажать кнопку “Show log…” чтобы просмотреть список, прочитать описание изменений (если указано), сравнить текущую версию с предыдущей и т.д.
  4. Нажмите “OK” чтобы закрыть это окно. Репозитарий обновлён до последней версии.

Сохранение своих изменений в репозитарий (Commit)

Если Вы хотите внести свои изменения в скачанный репозитарий и у Вас есть на это право (право коммита в репозитарий), то просто начинайте работать с локальной рабочей копией как с обычной папкой: создавайте, редактируйте, удаляйте файлы и/или папки. Теперь чтобы внести изменения в репозитарий, нужно:

  1. Заходим в папку, в которой находятся файлы скачанной рабочей копии в Проводнике Windows. Внимание! Рабочая копия должна быть скачана от логина пользователя, у которого есть право на коммит изменений (коммит-флаг).
  2. Нажимаем правой кнопкой по свободному месту в папке, выбираем “SVN Commit…“.
  3. В открывшемся окне “Commit” в секции “Message” вводим краткое описание своих изменений (это рекомендуется делать всегда, особенно если не Вы один работаете над проектом), но описание можно и оставить пустым (не рекомендуется, т.к. другие разработчики или пользователи не смогут понять что именно было изменено). В этом поле разрешено использовать буквы национальных алфавитов (присутствует полная поддержка юникода), но, к сожалению, некоторые веб-клиенты svn (отображающие в браузере список изменений) вместо русских букв отображают кракозябры. TortoiseSVN лишён этого недостатка.
  4. В секции “Changes made (double-click on file for diff)” Вы увидите список всех изменённых, добавленных и удалённых Вами файлов локальной рабочей копии. У изменённых файлов будут автоматически стоять флажки, у остальных – нет. Установите флажки у тех файлов, изменения которых должны быть загружены на svn-сервер (есть флажок – файл обновляется, добавляется, удаляется; нет флажка – остаётся без изменений). Двойной щелчок по файлу запустит утилиту Tortoise Merge (предназначена для сравнения версий файлов), которая покажет последнюю версию файла из репозитария SVN в левом окне и текущую рабочую копию в правом. Изменения будут выделены: удалённые строки зачёркнуты, добавленные выделены.
  5. После выделения нужных файлов или всех сразу (“Select / deselect all“), нажмите кнопку “OK” и дождитесь окончания загрузки изменений на сервер. Будет открыто окно со списком добавленных, изменённых и/или удалённых файлов, а также указан текущий номер ревизии.

Работа с репозитарием напрямую на сервере

Иногда требуется работать с svn-репозитарием напрямую на сервере не скачивая его на локальный компьютер. Для этих целей существует утилита “SVN Repo-browser“, также входящая в состав TortoiseSVN. Работать с ней очень просто:

  1. Запускаем проводник Windows, заходим в любую папку, нажимаем правой кнопкой по свободному месту и выбираем “SVN Repo-browser“.
  2. В открывшемся окне “URL” вводим полный URL нужного нам svn-репозитария и нажимаем “OK“.
  3. Будет открыто главное окно утилиты: “%URL% – Repository Browser“, где %URL% – URL репозитария. Работать в этом окне можно так же, как в Проводнике Windows. Разрешено перетаскивание объектов (Drag and Drop). Через контекстное меню файла/папки можно:
    • удалять “Delete…“, переименовывать “Rename” файлы и каталоги (папки);
    • добавить файл (“Add file…“) или папку (“Add folder…“) в репозитарий;
    • создать пустую папку (“Create folder“) в репозитарии;
    • скачать (“Checkout…“) репозитарий (см. выше);
    • извлечь файл или папку из репозитария без служебных каталогов (“Export…“). Извлечённая папка отличается от рабочей копии тем, что её нельзя обновлять и она не содержит служебных скрытых каталогов .svn;
    • создать ветку или тег (“Copy to…“);
    • изменять свойства файла или папки (“Show properties“).
  4. Любое изменение требует ввести текст комментария (разрешается не вводить и оставить поле пустым) и увеличивает номер ревизии на единицу. Изменения применяются немедленно.
  5. Нажмите кнопку “OK” для выхода из Repository Browser.

Создание веток или меток внутри репозитария

Если Вы работаете над большим проектом, то желательно для каждой публичной стабильной версии (1.0, 1.1, 2.0 и т.д.) создавать отдельный тег, например, /tags/RELEASE-Mj.Mn, где Mj – Major-версия, а Mn – Minor-версия проекта. Пример: /tags/RELEASE-1.0 (для версии 1.0), /tags/RELEASE-2.63 (для версии 2.63) и т.д. Внимание! Теги создаются НЕ в каталоге /trunk/, а выше него на один уровень! Чтобы создать метку или ветвление, нужно (у Вас должно быть право коммита в репозитарий для создания меток или ветвлений):

  1. Заходим в папку, в которой находятся файлы скачанной рабочей копии в Проводнике Windows.
  2. Нажимаем правой кнопкой по свободному месту и выбираем “TortoiseSVN” – “Branch/tag…“.
  3. В открывшемся окне в поле “To URL” введите полный URL с путём до нового тега. Пример: http://ваш_проект.svn.sourceforge.net/tags/RELEASE-1.0 (это только пример; пути должны указывать на Ваш проект).
  4. В секции “Create copy in the repository from” укажите “HEAD revision in the repository” (последняя ревизия; рекомендуется), либо укажите номер ревизии вручную, выбрав “Specific revision in the repository ###“, либо создайте тег из текущей рабочей копии “Working copy” (не рекомендуется).
  5. В секции “Log message” укажите комментарий к ревизии (например, %НАЗВАНИЕ_ПРОЕКТА% %ВЕРСИЯ_ПРОЕКТА% Released).
  6. Нажмите “OK“. Флажок в строке “Switch working copy to new branch/tag” ставить не рекомендуется, т.к. это переключит Вашу текущую рабочую копию на новый путь, что может привести к различным ошибкам и проблемам.

Откат изменений в рабочей копии

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

  1. Заходим в папку, в которой находятся файлы скачанной рабочей копии в Проводнике Windows.
  2. Нажимаем правой кнопкой по свободному месту и выбираем “TortoiseSVN” – “Revert…“.
  3. В открывшемся окне Вы увидите список всех изменённых файлов Вашей рабочей копии. Установите флажок у того файла, который Вы хотите откатить до версии из репозитария, либо выберите сразу все файлы (“Select / deselect all“). Двойной щелчок по файлу покажет его отличия от оригинального файла.
  4. Нажмите “OK“. Выбранные файлы будут восстановлены, а изменённые будут отправлены в Корзину Windows.

Работа с утилитой Log Viewer

Утилита Log Viewer, запускаемая после нажатия на кнопку “Show log…“, либо при нажатии правой кнопкой по свободному месту в локальной рабочей копии – “TortoiseSVN” – “Show log“. По умолчанию утилита показывает последние 50 ревизий и их описаний (если во время коммита они были введены). Все основные действия выполняются из контекстного меню ревизии:

  • Compare with woking copy” – сравнить текущую (выделенную) ревизию с локальной рабочей копией. Список изменений будет показан в Tortoise Merge.
  • Show changes as unified diff” – показать изменения выделенных ревизий как унифицированный патч-файл (unified diff). Если выделена только одна ревизия, то она будет сравниваться с предыдущей (например, выделена ревизия 87, она будет сравниваться с 86).
  • Compare with previous revision” – показать изменения выделенной и предыдующей ревизии. Будет отображено окно с различающимися файлами, двойной щелчок по файлу откроет его в Tortoise Merge для просмотра изменений.
  • Compare and blame with previous revision” – то же, что и предыдущее, но здесь отображается кто и когда внёс какое-либо изменение в файл построчно.
  • Browse repository” – открывает описанный выше Repository Browser для прямой работы с репозитарием.
  • Create branch/tag from revision” – позволяет создать ветку или тег из выделенной ревизии (см. выше).
  • Update item to revision” – обновляет до выделенной ревизии.
  • Revert to this revision” – позволяет откатиться до выделенной ревизии.
  • Revert changes from this revision” – позволяет откатить все изменения, сделанные в выделенной ревизии.
  • Merge revisions to…” – позволяет объединить несколько ревизий в рабочую копию.
  • Checkout…” – скачать выделенную ревизию (см. выше).
  • Export…” – извлечь выделенную ревизию без служебных каталогов.
  • Edit author” – редактировать имя автора выделенной ревизии (нужны права администратора).
  • Edit log message” – позволяет редактировать текст описания выделенной ревизии (нужны права администратора).
  • Show revision properties” – показать свойства выделенной ревизии.
  • Copy to clipboard” – скопировать номер выделенной ревизии, автора, описание и список изменённых файлов в буфер обмена Windows.
  • Search log messages” – запустить поиск в описаниях ревизий.

Кнопка “Show all” покажет все ревизии, а “Show range…” позволит задать диапазон ревизий, которые будут отображаться в окне Log Viewer.

Кнопка “Statistics” отображает различную статистическую информацию: наиболее активный и наименее активный автор, количество изменений в репозитарии в неделю, общее количество изменений и т.д.

Категории:HOWTO Метки:, ,

Установка и настройка сервера Garry’s Mod

22 февраля 2010 Комментариев нет

Вступление

По многочисленным просьбам я решил написать подробное HOWTO по установке и настройке слушающего сервера Garry’s Mod прямо из приложения.

Статья об установке и настройке выделенного (dedicated) сервера доступна здесь.

Что нам потребуется для работы:

  1. Сам Garry’s Mod (лицензионная Steam-версия).
  2. Набор для установки плагинов нашего производства (можете пропустить, если хотите устанавливать плагины вручную).
  3. Любой текстовый редактор для редактирования конфигов.

В отличие от слушающих серверов других Source-приложений, слушающий сервер Garry’s Mod по функциональности практически ничем не отличается от Dedicated Server’а. Общие черты слушающего и выделенного сервера Garry’s Mod:

  • позволяет устанавливать любые lua-модификации и плагины в каталог /addons/;
  • позволяет установить плагины для администрирования сервера и права администраторов (Garry’s Mod – единственный слушающий сервер, в котором создатель может быть не администратором).

Различия между слушающим и выделенным сервером Garry’s Mod:

  • при выходе из игры создателя, сервер автоматически отключается, а все играющие будут кикнуты с сообщением “Server is shutting down“;
  • позволяет одновременно хостить сервер и находиться на нём;
  • все настройки слушающего сервера хранятся в файле listenserver.cfg, а выделенного – server.cfg.

Преимущества слушающего сервера Garry’s Mod:

  • слушающий сервер не требует особых усилий для его развёртывания и настройки: достаточно установить нужные плагины, админку, файл конфигурации и можно приглашать на него своих друзей;
  • слушающий сервер идеален для работы/игры на нём нескольких человек (Вы и Ваши друзья например);
  • позволяет быстро переконфигурировать, перезапустить, остановить и т.д. сервер;
  • не нужно качать несколько гигабайт абсолютно ненужных данных выделенного сервера;
  • обновляется полностью автоматически.

Техническая часть

  1. Чтобы к Вам могли подключаться клиенты, Вы должны иметь “белый” IP-адрес, т.е. видимый из Интернета. Создание сервера с “серым” IP, либо с жёстким NAT’ом провайдера не имеет смысла, т.к. подключиться к такому серверу никто не сможет (кроме находящихся с вами в одной подсети).
  2. Сервер запускается на порту 27015, поэтому если у Вас ADSL, вы должны пробросить этот порт по протоколу UDP в настройках своего роутера (модема). Обычно проброс портов настраивается в веб-интерфейсе роутера в разделе NATPort Forwarding или NATVirtual Servers.
  3. На сервере главное – скорость отдачи от Вас клиентам, а также мощность процессора Вашего компьютера. На ADSL максимальная отдача может составлять около 780 Кбит/с – 1 МБит/с (на ADSL с модуляцией AnnexM (такая разновидность встречается крайне редко) – 3 Мбит/с). Если у Вас тариф на 256 КБит/с, то к Вам могут подключиться 6 клиентов. Если 512 – 10-12 клиентов, если 1 Мбит и более (ADSL) – 18 клиентов, кабель без NAT – 23 клиента (максимум для слушающего сервера). В соотвествие с этими параметрами Вы должны настроить значение переменной “Максимальное число игроков” во время создания сервера. Если Ваш канал или процессор не будут выдерживать такое количество подключившихся игроков, у всех появятся лаги.

Внимание! Не создавайте сервер на большое количество пользователей, т.к. современный компьютер вряд-ли потянет более 12-15 одновременно работающих пользователей, активно работающих с Wire, Stargate и т.п. из-за того, что Garry’s Mod до сих пор не поддерживает мультипоточность. Также в настройках сервера или файле конфигурации listenserver.cfg не забудьте указать максимальное количество объектов, элементов, NPC и т.д., которые может создать один пользователь. Если здесь будут стоять огромные числа (как по умолчанию в 200), то это может подвергнуть Ваш сервер серьёзным лагам. В нашем конфиге уже установлены оптимальные значения всех настроек, а NPC выключены вообще.

Настройка и запуск сервера

  1. Устанавливаем Steam и Garry’s Mod (если ещё не установлены).
  2. Запускам Garry’s Mod, ждём полной загрузки и выходим из неё (это нужно только если выполнялся шаг 1 для создания файлов базовой конфигурации).
  3. Запускаем Garry’s Mod, нажимаем “Создать сервер” (“Create Server“), набираем команду status в консоли, записываем её вывод например в буфер обмена (выделяем выданный сервером текст, нажимаем правой кнопкой – “Копировать“), либо на бумагу и выходим из Garry’s Mod.
  4. Устанавливаем джентльменский набор плагинов из svn для Garry’s Mod, так, как описано в этой статье. Всю информацию по установке и сами скрипты установки/обновления плагинов Вы найдёте по этой ссылке.
  5. Делаем себя и, если нужно, своих друзей администраторами свежесозданного сервера (обязательно, иначе ULX-админка не даст Вам доступа). Чтобы сделать себя админом, нужно:
    • узнать Ваш личный SteamID и, если хотите сделать и друзей админами (не рекомендуется ;-) ), то и их SteamID. Как это сделать описано на 3 шаге;
    • в любом текстовом редакторе открываем файл %Steam%\steamapps\ВАШ_ЛОГИН\garrysmod\garrysmod\settings\users.txt, где %Steam% – путь к установленному клиенту Steam, а ВАШ_ЛОГИН – Ваш логин для входа в Steam. В этот файл и прописываются администраторы сервера по SteamID. Ищем в этом файле раздел “superadmin” и после строки //”garry” “STEAM_0:1:7099″ жмём Enter (начинаем новую строку) и пишем свою в виде “ВАШ_НИК” “STEAM_0:1:XXXXXXXXX”, где ВАШ_НИК – это ник админа, который будет в списке вывода админов сервера (здесь разрешено вводить только латинские буквы и цифры без пробелов; кавычки обязательны), а STEAM_0:1:XXXXXXXXX – это Ваш SteamID (замените на настоящий, естественно ;-) ), полученный на 3 шаге. Здесь же после этой строчки может добавить и своих друзей (но я бы не рекомендовал этого делать; одного админа вполне достаточно).
  6. Качаем и распаковываем архив с файлами конфигурации в папку %Steam%\steamapps\ВАШ_ЛОГИН\garrysmod\garrysmod\cfg\, где %Steam% – путь к установленному клиенту Steam, а ВАШ_ЛОГИН – Ваш логин для входа в Steam. Заменяем имеющиеся файлы. Архив обновляется после выхода серьёзных изменений в Garry’s Mod, а также при обнаружении ошибок и для добавления новых функций.
  7. Открываем распакованный файл listenserver.cfg в любом текстовом редакторе (например, в Блокноте Windows) и делаем нужные настройки (меняем имя сервера (переменная hostname), настройки и т.п.). В файле я всё подробно описал какая переменная чем управляет, что включает/выключает, поэтому на этом я останавливаться не буду здесь. Внимание! Первым делом задайте пароль вместо !!!CHANGEME!!!, иначе Ваш сервер могут взломать.
  8. Запускаем Garry’s Mod, выбираем в главном меню пункт “Создать сервер” (“Create multiplayer“). В открывшемся окне на первой вкладке выбираем карту (рекомендуется gm_flatgrass или gm_construct), затем переходим на страницу “Options“. Здесь установите максимально число игроков, которые могут подключиться к Вашему серверу (“Max Players“) и обязательно уберите галочку из строки “Local network game” (иначе никто не сможет подключиться к Вам). Все остальные пункты изменять не нужно, т.к. они изменяются только в конфигурационном файле listenserver.cfg (этот файл имеет более высокий приоритет, чем графическое меню).
  9. Жмём кнопку “Start game” внизу окна и ждём окончания запуска сервера.
  10. Даём свой внешний IP-адрес всем, кто должен к Вам подключиться и они смогут это сделать, набрав у себя в консоли Garry’s Mod команду connect IP_вашего_сервера:27015 (например, connect 126.65.110.99:27015). Свой внешний адрес можно узнать тут: http://www.2ip.ru (он определится в строке “Ваш IP-адрес“).
  11. Если к Вашему серверу кто-нибудь подключился, значит он успешно установлен и настроен. Чтобы отключить сервер, достаточно войти в меню Garry’s Mod клавишей Esc и выбрать пункт “Отключиться” (“Disconnect“). После этого сервер кикнет всех, кто на нём играл и закончит свою работу.

Мини-FAQ

Q: Как запретить выдавать игрокам оружие (давать только Physgun, грави-ган, тулган и скриншотган)?

A: Установите плагин U-Restrict (если Вы устанавливали с помощью наших скриптов, то он уже установлен и автоматически активирован).

Q: Как изменить сообщение, которое появляется при заходе на созданный сервер Garry’s Mod?

A: Отредактируйте файл %Steam%\steamapps\ВАШ_ЛОГИН\garrysmod\garrysmod\data\ulx\motd.txt, где %Steam% – путь к установленному клиенту Steam, а ВАШ_ЛОГИН – Ваш логин для входа в Steam. Это обычный HTML-файл.

Q: Куда пишутся сокращённые логи админки?

A: Логи админки ULX пишутся в %Steam%\steamapps\ВАШ_ЛОГИН\garrysmod\garrysmod\data\ulx_logs\ДАТА.txt, где %Steam% – путь к установленному клиенту Steam, ВАШ_ЛОГИН – Ваш логин для входа в Steam, а ДАТА – сегодняшняя дата в формате ММ-ДД-ГГ.

Q: Мне нужно выдавать игрокам при подключении к серверу определённое оружие. Как это сделать?

A: Как уже писалось выше, нужен плагин U-Restrict для админки (если Вы устанавливали набор плагинов с помощью наших скриптов, он уже установлен). Итак, чтобы выдать нужное оружие, откройте файл %Steam%\steamapps\ВАШ_ЛОГИН\garrysmod\garrysmod\data\URestrict\loadouts.txt в любом текстовом редакторе и в разделе loadout после gmod_tool введите полное имя нужного оружия, например weapon_smg. Это оружие будет автоматически выдано игроку после подключения к серверу, а также после его респауна.

Q: При подключении к серверу моего друга, его Garry’s Mod пытается скачать огромное количество файлов. Что делать?

A: Это значит, что у Вашего друга установлены не все плагины, которые установлены у Вас в каталоге /addons/ Garry’s Mod’а. Нужно, чтобы Ваш друг установил их и чтобы версии плагинов совпадали. Только тогда ему не придётся ничего качать. Рекомендуем пользоваться нашим набором скриптов по установке и обновлению плагинов.

Категории:HOWTO Метки:,

Установка плагинов для Garry’s Mod из SVN

25 августа 2009 14 комментариев

Введение

Многие любят работать с Wire Mod, а также StarGate в Garry’s Mod, но эти плагины принципиально распространяются только через svn (Subversion), т.к. обновляются ежедневно, а иногда и несколько раз в день. К сожалению, операционная система Microsoft Windows “из коробки” не умеет работать с svn и для реализации работы нужно устанавливать сторонние программы. Можно использовать следующие программы:

  • TortoiseSVN - мощный комбайн, позволяющий из контекстного меню Проводника Windows выполнять все операции. Многим не нравится за то, что прописывает сотни записей в системный реестр Windows, в контекстное меню Проводника, может вызывать синие экраны BSOD (Blue Screen Of Death).
  • SVN – консольная версия оригинального клиента svn (Subversion). Работает только из командной строки Windows, что вызывает затруднения у большого количества пользователей.

В этом HOWTO я подробно распишу как скачать и установить самые популярные плагины для Garry’s Mod из svn и приведу работающие скрипты для автоматического скачивания, а также обновления: Wire (WireMod), StarGate, Advanced Duplicator и Wire Extra Plugins, а также всех из зависимостей.

Что такое SVN?

По данным из Википедии, Subversion — это свободная централизованная система управления версиями, созданная в 2000 г. компанией CollabNet Inc.

Официальный сайт: http://subversion.tigris.org/.

Где можно скачать svn-клиент?

  1. Консольный svn (Subversion)-клиент можно скачать с официального сайта: http://www.collab.net/downloads/subversion/ (CollabNet Subversion Command-Line Client v1.6.5 (for Windows)). К сожалению, чтобы скачать программу, нужно пройти небольшую бесплатную регистрацию на этом сайте (нужно указать правильный адрес электронной почты, т.к. на него придёт ссылка для подтверждения регистрации). После скачивания установите программу в папку по умолчанию, которую предложит программа установки (это позволит Вам вручную не изменять пути в скриптах автоматической установки/обновления). Если Вы не хотите регистрироваться на официальном сайте, то можете скачать программу с нашего сайта по этой ссылке: http://www.easycoding.org/files/CollabNetSubversion-client-1.6.5-2.win32.exe (последняя версия на момент написания этого HOWTO).
  2. Графический клиент TortoiseSVN, встраивающийся в контекстное меню Проводника Windows (Windows Explorer), можно скачать с официального сайта: http://tortoisesvn.net/downloads. На этой же странице можно скачать языковые пакеты для программы. Русский язык полностью поддерживается. Подробный HOWTO по работе с Tortoise SVN можно найти здесь.

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

Плагины и ссылки для скачивания

Рекомендуемые для установки плагины Garry’s Mod:

  1. Wire (Wire Mod)https://wiremod.svn.sourceforge.net/svnroot/wiremod/trunk/wire/
  2. Wire Model Packhttps://wiremod.svn.sourceforge.net/svnroot/wiremod/trunk/wire model pack 1/
  3. Advanced Duplicatorhttps://wiremod.svn.sourceforge.net/svnroot/wiremod/trunk/Adv Duplicator/
  4. Wire Extra Pluginshttp://svn.dagamers.net/wiremodextras/trunk
  5. PHX Model Packhttps://phoenix-storms.svn.sourceforge.net/svnroot/phoenix-storms
  6. StarGate (содержит основной репозитарий и репозитарии зависимостей):
    1. http://svn.daggeringcats.com/stargate/addons/catdaemon_stargate/
    2. http://svn.daggeringcats.com/stargate/addons/gmdm_resources/
    3. http://svn.daggeringcats.com/stargate/addons/stargate/
    4. http://svn.daggeringcats.com/stargate/addons/stargate_resources/

Внимание! Многие плагины во время скачивания предложат принять их сертификат (это обязательно нужно сделать кнопкой “Accept always“), а также запросят логин/пароль. Логин/пароль для скачивания плагинов на всех сайтах установлен anonsvn/anonsvn (т.е. и логин, и пароль anonsvn).

Администрирование сервера Garry’s Mod:

  1. ULX Admin Plugin (админка) – http://ulyssesmod.net/ulx/trunk/
  2. U-Lib (необходимые файлы админки) – http://ulyssesmod.net/ulib/trunk/
  3. U-Restrict (позволяет выбирать какое оружие будет у игрока) – http://ulyssesmod.net/URestrict/

Установка плагинов в Garry’s Mod

Чтобы установить плагин в Garry’s Mod, достаточно извлечь (“checkout”) его каталог в папку “C:\Program Files\Steam\steamapps\{ЛОГИН}\garrysmod\garrysmod\addons”, где “{ЛОГИН}” – это логин учётной записи Steam, а “C:\Program Files\Steam\” – это каталог (папка), в который установлен Steam.

Существует два способа установки плагинов из svn:

  1. Ручной. Вы должны вручную сделать CheckOut по всем указанным выше ссылкам при помощи любого svn-клиента. Этот способ лишь кажется простым и удобным, т.к. нужно много раз повторять одни и те же действия, а также вручную обновлять каталоги, т.к. плагины постоянно обновляются.
  2. Полностью автоматический (рекомендуется). Этот способ состоит в простом редактировании и запуске уже написанных мною cmd-скриптов установки и обновления набора плагинов (работает во всех версиях Microsoft Windows). Это самый простой, быстрый и удобный способ. От Вас требуется лишь установить консольный svn-клиент (где его можно скачать описано выше в этом HOWTO), открыть файл скрипта и изменить путь к папке плагинов Garry’s Mod (обычно достаточно вместо LOGIN вписать свой настоящий логин Steam) и путь к консольному клиенту svn (если Вы его изменяли во время установки).

Автоматическая установка плагинов:

  1. Скачиваем и устанавливаем консольный svn-клиент отсюда: http://www.easycoding.org/files/CollabNetSubversion-client-1.6.5-2.win32.exe, либо с официального сайта (требуется пройти обязательную бесплатную регистрацию): http://www.collab.net/downloads/subversion/ (CollabNet Subversion Command-Line Client v1.6.5 (for Windows)). Во время установки настоятельно не рекомендуется изменять путь установки программы.
  2. Скачиваем набор скриптов для установки и обновления набора плагинов.
  3. Открываем файл svn_fetch.cmd и файл svn_update.cmd в любом текстовом редакторе и в строке “set GMODADDONS=” вместо “LOGIN” пишем свой настоящий логин Steam. Пример правильной строки: “set GMODADDONS=%PROGRAMFILES%\Steam\steamapps\vasya_pupkin\garrysmod\garrysmod\addons“. Значение переменной SVNDIR нужно менять только если Вы во время установки изменили папку назначения консольного клиента svn. Внимание! Проверьте правильность пути к установленному Steam. Если Вы устанавливали Steam в папку по умолчанию (%SYSTEMDRIVE%\Program Files\Steam), то Вам достаточно заменить LOGIN на свой настоящий логин в строке GMODADDONS, а если в любую другую папку – замените “%PROGRAMFILES%\Steam\” на путь к папке установленного стима, а также укажите свой настоящий логин вместо LOGIN.
  4. Зайдите в папку “C:\Program Files\Steam\steamapps\{LOGIN}\garrysmod\garrysmod\addons“, где {LOGIN} – Ваш логин в Steam, а C:\Program Files\Steam – путь к установленному Steam и удалите оттуда имеющиеся плагины (в идеале – удалите всё, что там есть), т.к. старые версии будут конфликтовать с новыми, скачанными из svn:
    1. Wire (WireMod);
    2. Wire Model Pack;
    3. Advanced Duplicator;
    4. Wire Extras;
    5. PHX3 (PHX Model Pack);
    6. StarGate:
      1. catdaemon_stargate;
      2. gmdm_resources;
      3. stargate;
      4. stargate_resources;
    7. ULX;
    8. U-Lib;
    9. U-Restrict;
  5. Двойным щелчком запускайте файл svn_fetch.cmd и дождитесь окончания загрузки (окно с прогрессом скачивания не закрывайте; по окончании процесса скачивания оно закроется автоматически).
  6. Установка плагинов окончена. Для их обновления запустите файл svn_update.cmd и дождитесь окончания обновления. Все плагины будут обновлены до новейших версий автоматически. По окончании обновления окно закроется автоматически.

Рекомендуется обновлять плагины (запускать файл svn_update.cmd не реже двух раз в неделю).

Скачать набор скриптов для автоматической установки/обновления плагинов для Garry’s Mod.

Категории:HOWTO Метки:, , , ,

Настройка шифрования GPG в Psi

2 апреля 2009 Комментариев нет

Введение.

В Jabber-клиенте Psi предусмотрена возможность настройки шифрования GnuPG для всех сообщений между клиентами собеседников. Это рекомендуется сделать всем, кто пользуется Psi и передаёт (или получает) конфиденциальную информацию по протоколу XMPP (Jabber), т.к. администраторы Jabber-серверов могут настроить запись логов всех сообщений, отправляемых или получаемых пользователями. После включения шифрования, в логи сервера ничего не запишется, т.к. шифрование осуществляется по типу клиент (открытый ключ для отправки) – клиент (закрытый ключ для получения). Шифрование GnuPG является полностью свободным и может использоваться на любых компьютерах.

Настройка шифрования в оригинальной версии Psi.

Оригинальная версия – это версия, которую можно скачать с официального сайта программы. Последней стабильной версией, на момент написания статьи, являлась 0.12.

  1. Заходим на официальный сайт Psi и скачиваем дистрибутив программы для свой операционной системы (поддерживаются Windows, Linux и Mas OS).
  2. Если у Вас ОС Microsoft Windows любой версии, то нужно скачать и установить систему шифрования и управления ключами GnuPG – GPG4Win с официального сайта. Скачивайте Light версию 1.1.4 (это последняя стабильная версия на момент написания статьи) или новее. P.S. Если у Вас Linux, то скачивать ничего не нужно, т.к. свободная реализация GPG уже имеется в Вашем дистибутиве.
  3. Сначала устанавливаем GPG4Win, запустив скачанный файл вида gpg4win-light-1.1.4.exe на исполнение. Внимание! Установить GPG4Win необходимо строго в папку по умолчанию: C:\Program Files\GNU\GnuPG, где C:\ – системный диск, на котором установлена ОС Windows.
  4. Настраиваем GPG4Win:
    1. Нажимаем “Пуск” – “(Все) Программы” – “GnuPG For Windows” – “GPA“.
    2. В открывшемся окне, предлагающем сгенерировать новую ключевую пару, нажимаем “Generate key now“. Запустится мастер, который сделает несколько шагов:
      1. В поле “Your name” вводите своё имя латинскими буквами (можно ник) и жмите “Forward“.
      2. В “Your Email Address” вводите свой JID (Jabber ID вида имя@jabber-сервер, например, имя@jabber.ru, имя@jabber.org и т.п.).
      3. В “Passphrase” и “Repeat Passphrase” нужно придумать и ввести собственный пароль. Пароль будет спрашиваться каджый раз при подключении к Jabber-серверу.
      4. Делаем (“Create Backup copy“) или отказываемся делать (“Do it later“) резервную копию ключа шифрования GPG. Лучше сделать копию ключей и поместить на сменный носитель.
      5. Жмём “Apply” и ждём примерно 1-2 минуты (зависит от мощности центрального процессора и сложности пароля) до окончания генерации ключевой пары. По окончании, если Вы выбрали создание резервной копии, то можете её сохранить на сменном носителе.
    3. После успешного создания новой ключевой пары, в окне “GNU Privacy Assistant“, Вы увидите свой ключ. Теперь нужно получить его открытый ключ чтобы в дальнейшем передать собеседникам в Psi. Выделите его щелчком левой кнопки мыши и нажмите на панели инструментов кнопку “Export” и сохраните ключ с любым именем, но с расширением asc.
    4. Передайте свой открытый ключ, сохранённый на этапе 3, собеседникам, с которыми Вы хотите общаться по защищённому каналу в Psi любым способом (через электронную почту, jabber, icq и т.д.).
    5. Импортируйте ключ собеседника, который сгенерировал его таким же способом (пункты 4.1 – 4.3) кнопкой “Import” и указанием файла с открытым ключом собеседника.
    6. Если ключ собеседника также появился в списке, жмите “File” – “Quit” для выхода из оболочки.
  5. Устанавливаем и запускаем программу Psi, скачанную на 1 шаге (если она ещё не установлена), подключаем уже имеющуюся учётную запись для того JID, для которого мы создали ключевую пару.
  6. Открываем настройки аккаунта через меню Пси (находится внизу окна с эмблемой программы) – “Аккаунты” – выбираем имя своего аккаунта и жмём кнопку “Изменить” (эти же настройки откроются автоматически после выбора опции “Использовать имеющуюся учётную запись” во время первого запуска), переходим на страницу “Подробности” и жмём кнопку “Выбрать ключ…“. Выбираем из списка свой закрытый ключ и жмём OK. Если будет запрошен пароль для этого ключа, то вводим. Теперь для этой учётной записи ключ шифрования задан.
  7. Подключаемся к Jabber-серверу и вводим пароль на свой закрытый ключ GnuPG (пароль будет спрашиваться при каждом подключении).
  8. Выбираем в своём ростере (списке контактов) собеседника, с которым нужно настроить защищённый канал, жмём по нему правой кнопкой мыши и выбираем “Присвоить ключ OpenPGP“. Если появится предупреждение, то жмём на “Выбрать ключ вручную” (обычно предупреждений быть не должно). Выбираем из списка открытый ключ собеседника, который был импортирован на этапе 4.5 данного HOWTO и жмём “OK“.
  9. Открываем окно беседы с этим собеседником и жмём кнопку с замком “Переключить шифрование” (находится возле кнопки для вставки смайликов в сообщение) и отправляем любое сообщение собеседнику. После этого в беседе появится сообщение “Шифрование включено”. Теперь вся беседа с этим человеком зашифрована и никто её не сможет расшифровать и прочитать. Внимание! После каждого перезапуска клиента Psi кнопку “Переключить шифрование” нужно нажимать повторно, т.к. она почему-то отключается.

Настройка шифрования в Psi Portable.

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

  1. Выполняем шаги 2 – 4 (с подпунктами) из “Настройка шифрования в оригинальной Psi”.
  2. В Windows 2000/XP/2003 заходим в папку C:\Documents and Settings\{ИМЯ}\Application Data\gnupg, где {ИМЯ} – это имя учётной записи пользователя компьютера, а C:\ – диск, на котором установлена ОС Windows и копируем всё её содержимое в PsiData\gpg\ Portable-версии.
  3. В Windows Vista и Windows 7 нажимаем “Пуск” – “Выполнить” и вводим “%APPDATA%\gnupg” (без кавычек). Копируем всё содержимое в PsiData\gpg\ Portable-версии.
  4. Выполняем шаги 6 – 9 из “Настройка шифрования в оригинальной Psi”.
Категории:HOWTO Метки:,

Делаем собственную сборку Psi Portable

13 марта 2009 Комментариев нет

Вступление.

Jabber-клиент Psi является, на мой взгляд, лучшим Jabber-клиентом из всех существующих в настоящее время, однако у него нет официальной Portable-сборки, которая бы могла запускаться с флешек, USB-HDD, iPod и других внешних устройств. В этом HOWTO я подробно опишу как сделать такую сборку самостоятельно, затрачивая на эти цели минимум времени. Отличия нашей сборки Psi Portable от оригинальной Psi:

  1. Не требуется установка. Программа работает на любом компьютере. Все личные данные, настройки и история хранятся на сменном устройстве.
  2. Добавлено шифрование GnuPG (GPG) для всех сообщений в Portable-версии. Все ключи шифрования и необходимые библиотеки хранятся на сменном устройстве вместе с Psi Portable.
  3. Добавлена поддержка русской орфографии в Portable-исполнении. Все словари (для русского и английского языков) хранятся на сменном устройстве.

Создание.

  1. Заходим на сайт http://www.psi-im.org/ и скачиваем последнюю версию программы (на момент написания этого HOWTO последней являлась версия 0.12).
  2. Качаем заготовку для создания собственной сборки (размер около 10 МБ из-за включения в состав полного словаря русского языка), включающую в себя:
    1. GnuPG (GPG) последней версии;
    2. официальные русскоязычные языковые пакеты для Psi, а также для QT4;
    3. русские словари для встроенной системы проверки орфографии (aspell) последней версии;
    4. командный сценарий для запуска Portable-версии программы.
  3. Распаковываем скачанную заготовку в нужную папку на сменном устройстве, например в ДИСК:\PsiPortable\.
  4. Устанавливаем скачанный на этапе 1 дистрибутив Psi, затем копируем из папки C:\Program Files\Psi (если программа была установлена в эту папку) всё содержимое в папку App нашей сборки (файл uninstall.exe и файлы с расширением *.url лучше не копировать (в нашей сборке они не нужны и будут только занимать место на диске)). Сразу после копирования удаляем программу Psi через Панель управления – Установка и удаление программ.
  5. Запускаем файл psi_launch.cmd из состава сборки и начинаем использовать Psi Portable. Вся конфигурация хранится в каталоге PsiData и будет создана при первом запуске. В каталоге PsiData\gpg\ хранятся открытые и закрытые ключи для системы шифрования GPG, а также их настройки.

Полезные советы и предупреждения.

  1. Запускайте Psi Portable только файлом psi_launch.cmd, т.к. этот файл задаёт нужные программе переменные. Запуск в обход этого файла приведёт к ошибкам и невозможности загрузки настоек, ростера, а также журнала сообщений.
  2. Если у Вас установлена Windows 9x (95/98/ME), то файл psi_launch.cmd нужно переименовать в psi_launch.bat для правильной работы.
  3. Если Вы уже использовали Psi ранее, то просто скопируйте содержимое папки C:\Documents and Settings\USERNAME\PsiData (в Windows 9x находится обычно в папке установки Psi, например в C:\Program Files\Psi) в папку PsiData нашей сборки, где USERNAME – логин Вашей учётной записи Windows 2000/XP/2003. Psi Portable во время этих действий не должен быть запущен.
  4. Если Вы использовали GPG под любой платформой, то скопируйте свои открытые/закрытые ключи в папку PsiData\gpg\.
Категории:HOWTO Метки:,

Установка и настройка слушающего сервера TF2

8 марта 2009 4 комментария

Вступление.

Сегодня решил написать подробную статью об установке и настройке слушающего сервера игры Team Fortress 2. Итак, чем же отличается слушающий сервер игры от выделенного (Team Fortress 2 Dedicated Server):

  1. Слушающий сервер не требует особой настройки и установки модификаций.
  2. Слушающий сервер позволяет одновременно хостить личный сервер и играть в игру. Выделенный сервер не позволяет играть на этом же компьютере (если всё-таки запустить игру и подключиться к такому серверу, у всех появятся серьёзные лаги, т.к. создаётся дисбаланс между сервером и клиентов при обращении к CPU (процессору)).
  3. Слушающий сервер – это практически тот же Dedicated Server, но имеющий следующие недостатки (хотя достоинств больше):
    1. Администратором является только тот, кто создал сервер. Управление осуществляется через консоль управления сервером (консоль игры, вызывается клавишей “тильда”; нужно включить консоль управления в настройках клавиатуры игры).
    2. Если администратор (создатель) отключится от сервера, то все клиенты, подключившиеся к нему, будут кикнуты автоматически. Сервер будет остановлен.
    3. Включена принудительная проверка учётных записей Steam, т.е. с пираток на такой сервер  зайти не удастся.
    4. На слушающий сервер нельзя установить SourceMod и другие админ-плагины.
  4. Слушающий сервер запускается прямо из главного меню игры (там же указывается максимальное число игроков).
  5. Все настройки такого сервера хранятся в файле listenserver.cfg.

Техническая часть.

  1. Чтобы к Вам могли подключаться клиенты, Вы должны иметь “белый” IP-адрес, т.е. видимый из Интернета. Создание сервера с “серым” IP, либо с жёстким NAT’ом провайдера не имеет смысла, т.к. подключиться к такому серверу никто не сможет.
  2. Сервер запускается на порту 27015, поэтому если у Вас ADSL, вы должны пробросить этот порт по протоколу UDP в настройках своего роутера (модема).
  3. На сервере главное – скорость отдачи от Вас клиентам, а также мощность процессора Вашего компьютера. На ADSL максимальная отдача может составлять около 780 Кбит/с – 1 МБит/с (на ADSL с модуляцией AnnexM (такая разновидность встречается крайне редко) – 3 Мбит/с). Если у Вас тариф на 256 КБит/с, то к Вам могут подключиться 6 клиентов. Если 512 – 10-12 клиентов, если 1 Мбит и более (ADSL) – 18 клиентов, кабель без NAT – 23 клиента (максимум для слушающего сервера). В соотвествие с этими параметрами Вы должны настроить значение переменной “Максимальное число игроков” во время создания сервера. Если Ваш канал или процессор не будут выдерживать такое количество подключившихся игроков, у всех появятся лаги.

Настройка и подготовка к запуску.

  1. Устанавливаем Steam и игру Team Fortress 2 (если они ещё не установлены).
  2. Запускаем игру, ждём полной загрузки и выходим из неё (это нужно только если выполнялся шаг 1 для создания файлов базовой конфигурации).
  3. Открываем “Мой компьютер” и переходим в папку “C:\Program Files\Steam\SteamApps\{ВАШ_ЛОГИН}\team fortress 2\tf\cfg“, где {ВАШ_ЛОГИН} – логин входа в Steam, а C:\Program Files\Steam\ – путь куда установлен Steam. Если Steam установлен в другую папку или диск, то его нужно откорректировать. В этой папке лежат файлы настроек игры TF2, в том числе и слушающего сервера.
  4. Качаем и распаковываем архив с файлами конфигурации в эту папку с заменой существующих файлов. Архив обновляется после выхода серьёзных изменений в игре.
  5. Открываем распакованный файл listenserver.cfg в любом текстовом редакторе (например, в Блокноте Windows) и делаем нужные настройки (меняем имя сервера, настройки и т.п.). В файле я всё подробно описал какая переменная чем управляет, что включает/выключает, поэтому на этом я останавливаться не буду здесь. Внимание! Первым делом задайте пароли вместо !!PASSWORD1!! и !!PASSWORD2!!, иначе Ваш сервер могут взломать.
  6. Открываем файл config_arena.cfg в том же текстовом редакторе и меняем имя сервера для режима Арена, а также максимальное число пользователей режима Арена.
  7. Запускаем игру Team Fortress 2, выбираем в главном меню пункт “Создать сервер“. В окрывшемся окне выбираем любую установленную карту, а затем переходим на страницу “Игра” и устанавливаем “Максимальное число игроков” (должно быть целым числом от 2 до 24). Остальные параметры не будут играть никакого значения, т.к. игнорируются файлом конфигурации. Внимание! Не устанавливайте тут пароль, иначе к Вам никто не сможет подключиться. Пароль можно установить уже после запуска игры и подключения первых игроков командой в консоли sv_password “your_pass”, где вместо your_pass должна идти комбинация латинских букв и цифр. Этот пароль будет запрашиваться у всех, кто захочет подключиться к серверу.
  8. После успешного запуска сервера и Вашего подключения к нему, открываем консоль разработки (вызывается клавишей “тильда”) и сразу меняем карту на любую из установленных (лучше на текущую, т.к. это ускорит перезагрузку сервера) командой changelevel имя_карты (например, changelevel cp_dustbowl). Это действие применит настройки файла listenserver.cfg. Без этого шага к Вам никто не сможет подключиться (на клиентах будет выдаваться сообщение LAN servers are restricted to local clients). Этот шаг нужно повторять всегда после запуска слушающего сервера!
  9. Даём свой внешний IP-адрес всем, кто должен к Вам подключиться и они смогут это сделать, набрав у себя в консоли TF2 команду connect IP_вашего_сервера:27015 (например, connect 126.65.110.99:27015). Свой внешний адрес можно узнать тут: http://www.2ip.ru (он определится в строке “Ваш IP-адрес“).
  10. Если к Вашему серверу кто-нибудь подключился, значит он успешно установлен и настроен. Чтобы отключить сервер, достаточно войти в меню игры TF2 и выбрать пункт “Отключиться“. После этого сервер кикнет всех, кто на нём играл и закончит свою работу.

Переменные, которые можно задавать прямо во время игры.

  • sv_alltalk 1 – включение (1) или отключение (0) общего голосового чата.
  • tf_weapon_criticals 1 – включение (1) или отключение (0) критов.
  • mp_allowspectators 1 – включение (1) или выключение (0) зрителей.
  • sv_password “your_pass” – задание пароля, где вместо your_pass должен идти пароль. Кавычки обязательны. Пароль будет запрошен у всех, кто захочет подключиться к Вашему серверу.
  • sv_password “” – убирает пароль с сервера. К серверу может подключиться любой желающий.
  • mp_friendlyfire 1 – включает (1) или отключает (0) огонь по своим.
  • sv_gravity 800 – управляет гравитацией на сервере (800 – стандартное значение), может быть числом от 0 до 10000. Чем меньше значение, тем меньше гравитация.

Внимание! При смене карты все переменные, заданные во время игры, будут автоматически заменены значениями из файла конфигурации сервера!

Итак, Ваш сервер установлен и правильно настроен. Если у Вас возникнут вопросы по статье, то оставляйте комментарии к этому сообщению. Я отвечу на все вопросы. Для того, чтобы оставить свой комментарий, регистрация не требуется.