<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Официальный блог EasyCoding &#187; HOWTO</title>
	<atom:link href="http://www.easycoding.org/category/howto/feed" rel="self" type="application/rss+xml" />
	<link>http://www.easycoding.org</link>
	<description>Официальный блог EasyCoding Team: статьи, HOWTO и программы.</description>
	<lastBuildDate>Sun, 22 Aug 2010 09:51:06 +0000</lastBuildDate>
	
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Установка и настройка выделенного сервера Garry&#8217;s Mod</title>
		<link>http://www.easycoding.org/2010/08/07/ustanovka-i-nastrojka-vydelennogo-servera-garrys-mod.html</link>
		<comments>http://www.easycoding.org/2010/08/07/ustanovka-i-nastrojka-vydelennogo-servera-garrys-mod.html#comments</comments>
		<pubDate>Sat, 07 Aug 2010 14:56:10 +0000</pubDate>
		<dc:creator>V1TSK</dc:creator>
				<category><![CDATA[HOWTO]]></category>
		<category><![CDATA[dedicated server]]></category>
		<category><![CDATA[Garry's Mod]]></category>
		<category><![CDATA[выделенный сервер]]></category>

		<guid isPermaLink="false">http://www.easycoding.org/?p=205</guid>
		<description><![CDATA[Вступление
Несколько месяцев назад я писал об установке и настройке слушающего сервера Garry&#8217;s Mod. В данном HOWTO я подробно напишу как скачать, установить и настроить выделенный (Dedicated) сервер Garry&#8217;s Mod. Мы подробно рассмотрим установку админки, расширений и плагинов.
Техническая часть

Чтобы к Вам могли подключаться клиенты, Вы должны иметь &#8220;белый&#8221;   IP-адрес, т.е. видимый из Интернета. Создание [...]]]></description>
			<content:encoded><![CDATA[<h2>Вступление</h2>
<p>Несколько месяцев назад я писал об <a href="http://www.easycoding.org/2010/02/22/ustanovka-i-nastrojka-servera-garrys-mod.html" target="_blank">установке и настройке слушающего сервера Garry&#8217;s Mod</a>. В данном HOWTO я подробно напишу как скачать, установить и настроить <strong>выделенный (Dedicated)</strong> сервер Garry&#8217;s Mod. Мы подробно рассмотрим установку админки, расширений и плагинов.</p>
<h2>Техническая часть</h2>
<ol>
<li>Чтобы к Вам могли подключаться клиенты, Вы должны иметь &#8220;<span style="text-decoration: underline;"><strong>белый</strong></span>&#8221;   IP-адрес, т.е. видимый из Интернета. Создание сервера с &#8220;серым&#8221; IP,  либо  с жёстким NAT’ом провайдера не имеет смысла, т.к. подключиться к  такому  серверу никто не сможет (кроме находящихся с Вами в одной  подсети).</li>
<li>Если у Вас ADSL, вы должны пробросить порт, на котором будет установлен сервер, по протоколу UDP (для подключения клиентов) и TCP (для удалённого администрирования (rcon)) в настройках своего роутера  (модема). Обычно проброс портов настраивается в веб-интерфейсе роутера в разделе <strong>NAT</strong> – <strong>Port Forwarding</strong> или <strong>NAT</strong> – <strong>Virtual Servers</strong>.</li>
<li>На сервере главное – скорость отдачи от Вас клиентам, а также мощность   процессора Вашего компьютера. На ADSL максимальная отдача может   составлять около 780 Кбит/с – 1 МБит/с (на ADSL с модуляцией AnnexM   (такая разновидность встречается крайне редко) – 3 Мбит/с). Если у Вас   тариф на 256 КБит/с, то к Вам могут подключиться 6 клиентов. Если 512 –   10-12 клиентов, если 1 Мбит и более (ADSL) – 18 клиентов, кабель без  NAT  – 23 клиента (максимум для слушающего сервера). В соотвествие с  этими  параметрами Вы должны настроить значение переменной &#8220;<strong>Максимальное число игроков</strong>&#8221;  во время создания  сервера. Если Ваш канал или процессор не будут  выдерживать такое  количество подключившихся игроков, у всех появятся  лаги.</li>
</ol>
<p>Внимание! Не создавайте сервер на большое количество пользователей, т.к. это может вызывать серьёзные лаги.</p>
<h2>Установка выделенного сервера</h2>
<ol>
<li>Скачайте hldsupdatetool с официального сайта по ссылке: <a href="http://www.steampowered.com/download/hldsupdatetool.exe">http://www.steampowered.com/download/hldsupdatetool.exe</a>.</li>
<li>Установите скачанный hldsupdatetool в папку по умолчанию <strong>%PROGRAMFILES%\Valve\HLServer\</strong>.</li>
<li>Создайте папку, в которую Вы будете устанавливать выделенный сервер Garry&#8217;s Mod. Рекомендуем устанавливать в корень диска чтобы не было проблем с пробелами в путях. Также в пути не должно быть русских букв (допустимы только латинские буквы, цифры и символ подчёркивания). Рекомендуем: <strong>C:\srcds\</strong>, где вместо <strong>C:\</strong> подставьте букву любого диска с достаточным количеством свободного места (установленный сервер Garry&#8217;s Mod с плагинами требует минимум 4 ГБ).</li>
<li>Перейдите в созданную на предыдущем шаге папку папку и создайте в ней файл <strong>update.cmd</strong> (можно <strong>update.bat</strong>). В этот файл впишите следующее:
<pre class="brush: php">@echo off
&quot;%PROGRAMFILES%\Valve\HLServer\HldsUpdateTool.exe&quot; -command update -game &quot;garrysmod&quot; -dir &quot;c:\srcds&quot;
pause</pre>
<p> Здесь <strong>%PROGRAMFILES%\Valve\HLServer\</strong> &#8211; путь к установленному hldsupdatetool, а <strong>c:\srcds</strong> &#8211; каталог, в который будем устанавливать сервер.</li>
<li>Запускайте созданный файл <strong>update.cmd</strong> на выполнение. При первом запуска будет произведено автоматическое обновление утилиты hldsupdatetool, затем начнётся скачивание и установка выделенного сервера.
<div id="attachment_206" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.easycoding.org/wp-content/uploads/2010/08/hlds_updating.jpg"><img class="size-medium wp-image-206" title="Автоматическое обновление hldsupdatetool" src="http://www.easycoding.org/wp-content/uploads/2010/08/hlds_updating-300x38.jpg" alt="Автоматическое обновление hldsupdatetool" width="300" height="38" /></a><p class="wp-caption-text">Автоматическое обновление hldsupdatetool</p></div>
<p><div id="attachment_207" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.easycoding.org/wp-content/uploads/2010/08/hlds_downloading.jpg"><img class="size-medium wp-image-207" title="Скачивание выделенного сервера" src="http://www.easycoding.org/wp-content/uploads/2010/08/hlds_downloading-300x151.jpg" alt="Скачивание выделенного сервера" width="300" height="151" /></a><p class="wp-caption-text">Скачивание выделенного сервера</p></div></li>
<li>По окончании скачивания (зависит от скорости Вашего Интернет-соединения; сервер весит около 900 МБ), перейдите в каталог <strong>с:\srcds\orangebox\</strong>, где <strong>с:\srcds\</strong> &#8211; это каталог установки выделенного сервера и создайте там файл <strong>launch.cmd</strong> (или <strong>launch.bat</strong>) с текстом:
<pre class="brush: php">start /high srcds.exe -console -game garrysmod -port 27015 -maxplayers 12 +map gm_flatgrass</pre>
<p> Здесь <strong>-port 27015</strong> &#8211; порт, на котором будет &#8220;висеть&#8221; сервер (UDP/TCP), <strong>-maxplayers 12</strong> &#8211; максимальное количество игроков на данном сервере, <strong>+map gm_flatgrass</strong> &#8211; карта, с которой запустится сервер. Если требуется автоматически перезапускать сервер при ошибках/падениях, то вместо предыдущего текста, впишите следующий:
<pre class="brush: php">@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</pre>
</li>
<li>Запустите сервер созданным файлом <strong>launch.cmd</strong> или <strong>launch.bat</strong>.</li>
<li>Сервер успешно установлен.</li>
</ol>
<h2>Настройка выделенного сервера Garry&#8217;s Mod</h2>
<p>Сервер был установлен, но, к сожалению, пока он не пригоден для использования. Нужно его настроить.</p>
<ol>
<li>Установите джентльменский набор плагинов из svn для Garry’s Mod, так, как описано в <a href="http://www.easycoding.org/2009/08/25/ustanovka-plaginov-dlya-garrys-mod-iz-svn.html" target="_blank">этой статье</a> вручную или автоматически (устанавливать плагины Вы должны в каталог <strong>c:\srcds\orangebox\garrysmod\addons\</strong>, где <strong>c:\srcds\</strong> &#8211; каталог установки выделенного сервера. Всю информацию по установке и сами скрипты установки/обновления плагинов Вы найдёте по <a href="http://www.easycoding.org/2009/08/25/ustanovka-plaginov-dlya-garrys-mod-iz-svn.html" target="_blank">этой ссылке</a>. Обязательно установите ULX, U-Lib и U-Restrict.</li>
<li>Скачайте и распакуйте <a href="http://tf2repair.googlecode.com/files/gmserver.zip">архив с файлами конфигурации сервера</a> в папку <strong>c:\srcds\orangebox\garrysmod\cfg\</strong>, где <strong>c:\srcds\</strong> &#8211; путь установки сервера.</li>
<li>Откройте файл <strong>c:\srcds\orangebox\garrysmod\cfg\server.cfg</strong> в любом текстовом редакторе и внесите в него правки: измените имя сервера (переменная hostname), смените rcon-пароль (rcon_password) и т.д. В файле я всё подробно описал какая переменная чем управляет, что включает/выключает, поэтому на этом я останавливаться не буду здесь. <span style="color: #ff0000;">Внимание! Первым делом задайте пароль вместо !!!CHANGEME!!!, иначе Ваш сервер могут взломать.</span></li>
<li>Сделайте себя и, если нужно, своих друзей администраторами свежесозданного  сервера (обязательно, иначе ULX-админка не даст Вам доступа). Чтобы  сделать себя админом, нужно узнать Ваш личный SteamID и выбрать автоматический или ручной способ:
<ol>
<li><span style="text-decoration: underline;"><strong>Автоматический способ.</strong></span> Запустите сервер (ULX и U-Lib должны быть установлены), запустите клиент Garry&#8217;s Mod и зайдите на свой сервер с помощью команды <strong>connect ВАШ_ВНЕШНИЙ_IP:ПОРТ</strong>. Сверните Garry&#8217;s Mod и перейдите в консоль сервера, введите в консоли сервера
<pre class="brush: php">ulx adduser ВАШ_НИК superadmin</pre>
<p> где <strong>ВАШ_НИК</strong> &#8211; это Ваш ник в Steam (при наличии пробелов в нике кавычки обязательны; допускаются только латинские буквы, цифры и знак подчёркивания). ULX автоматически пропишет этого пользователя в админы сервера.</li>
<li><span style="text-decoration: underline;"><strong>Ручной способ.</strong></span> В любом текстовом редакторе откройте файл <strong>с:\srcds\orangebox\garrysmod\settings\users.txt.</strong> В этот файл прописываются администраторы сервера по SteamID. Найдите в этом файле раздел “<strong>superadmin</strong>” и после строки
<pre class="brush: php">//”garry” “STEAM_0:1:7099</pre>
<p> впишите свою в виде
<pre class="brush: php">“ВАШ_НИК” “STEAM_0:1:XXXXXXXXX”</pre>
<p> где <strong>ВАШ_НИК</strong> – это ник админа, который будет в списке вывода админов сервера (здесь разрешено вводить только латинские буквы и цифры без пробелов; кавычки обязательны), а <strong>STEAM_0:1:XXXXXXXXX</strong> – это Ваш SteamID (замените на настоящий, естественно <img src='http://www.easycoding.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />   ), полученный на 3 шаге.</li>
</ol>
</li>
<li>Обязательно установите плагин <strong>Simple Prop Protection</strong> из SVN отсюда:
<div><a href="http://simplepropprotection.googlecode.com/svn/trunk/" target="_blank">http://simplepropprotection.googlecode.com/svn/trunk/</a> (официальный репозиторий). Этот плагин не позволит пользователям мешать другим/повреждать/удалять их постройки и т.д.</div>
</li>
<li>Пробуйте запустить сервер и зайти на него с помощью клиента Garry&#8217;s Mod. Вызовите админку командой <strong>ulx admin</strong>. Если всё пройдёт успешно, сервер был успешно настроен и готов к приёму игроков.</li>
</ol>
<h2>Мини-FAQ по серверу Garry&#8217;s Mod</h2>
<p><span style="text-decoration: underline;"><strong>Q: Как запретить выдавать игрокам оружие (давать только Physgun, грави-ган, тулган и скриншотган)?</strong></span></p>
<p>A: Установите плагин U-Restrict (если Вы устанавливали с помощью наших  скриптов, то он уже установлен и автоматически активирован).</p>
<p><span style="text-decoration: underline;"><strong>Q: Как изменить сообщение, которое появляется при заходе на созданный сервер Garry’s Mod?</strong></span></p>
<p>A: Отредактируйте файл <strong>с:\srcds\orangebox\garrysmod\data\ulx\motd.txt</strong>. Это обычный HTML-файл.</p>
<p><span style="text-decoration: underline;"><strong>Q: Куда пишутся сокращённые логи админки?</strong></span></p>
<p>A: Логи админки ULX пишутся в <strong>с:\srcds\orangebox\garrysmod\data\ulx_logs\ДАТА.txt</strong>, где <strong>ДАТА</strong> – сегодняшняя дата в формате <strong>ММ-ДД-ГГ</strong>.</p>
<p><span style="text-decoration: underline;"><strong>Q: Мне нужно выдавать игрокам при подключении к серверу определённое оружие. Как это сделать?</strong></span></p>
<p>A: Как уже писалось выше, нужен плагин U-Restrict для админки (если Вы устанавливали набор плагинов с помощью наших скриптов, он уже установлен). Итак, чтобы выдать нужное оружие, откройте файл <strong>с:\srcds\orangebox\garrysmod\data\URestrict\loadouts.txt</strong> в любом текстовом редакторе и в разделе loadout после gmod_tool  введите полное имя нужного оружия, например weapon_smg. Это оружие будет автоматически выдано игроку после подключения к серверу, а также после его респауна.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.easycoding.org/2010/08/07/ustanovka-i-nastrojka-vydelennogo-servera-garrys-mod.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Создание и установка спрея в Source-игры</title>
		<link>http://www.easycoding.org/2010/08/06/sozdanie-i-ustanovka-spreya-v-source-igry.html</link>
		<comments>http://www.easycoding.org/2010/08/06/sozdanie-i-ustanovka-spreya-v-source-igry.html#comments</comments>
		<pubDate>Fri, 06 Aug 2010 06:26:41 +0000</pubDate>
		<dc:creator>V1TSK</dc:creator>
				<category><![CDATA[HOWTO]]></category>
		<category><![CDATA[TF2]]></category>
		<category><![CDATA[спрей]]></category>

		<guid isPermaLink="false">http://www.easycoding.org/?p=191</guid>
		<description><![CDATA[Вступление
Как показывает практика, создание и установка спрея в Source-игры (Team Fortress 2, Counter-Strike: Source, Left 4 Dead и т.д.) вызывает у пользователей множество вопросов и проблем. Поэтому я решил написать данное HOWTO, в котором пошагово расскажу как создать и установить спрей в TF2/CSS/L4D(2).
Создание спрея
Приложения на движке Source используют VTF-формат спреев (сокр. от Valve Texture File), [...]]]></description>
			<content:encoded><![CDATA[<h2>Вступление</h2>
<p>Как показывает практика, создание и установка спрея в Source-игры (Team Fortress 2, Counter-Strike: Source, Left 4 Dead и т.д.) вызывает у пользователей множество вопросов и проблем. Поэтому я решил написать данное HOWTO, в котором пошагово расскажу как создать и установить спрей в TF2/CSS/L4D(2).</p>
<h2>Создание спрея</h2>
<p>Приложения на движке Source используют VTF-формат спреев (сокр. от Valve Texture File), поэтому Вам придётся конвертировать свои изображения GIF/JPEG/PNG/BMP именно в этот формат. На мой взгляд, лучшей программой конвертирования в VTF является бесплатная программа <a href="http://nemesis.thewavelength.net/index.php?c=178" target="_blank">VTFEdit</a>, которую можно скачать с нашего сайта по прямой ссылке: <a href="http://www.easycoding.org/files/vtfedit125-20.exe">http://www.easycoding.org/files/vtfedit125-20.exe</a>.</p>
<ol>
<li>Запускайте скачанную программу VTFEdit. Вы увидите её окно.
<p><div id="attachment_192" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.easycoding.org/wp-content/uploads/2010/08/vtfedit_main.jpg"><img class="size-medium wp-image-192" title="Главное окно VTFEdit" src="http://www.easycoding.org/wp-content/uploads/2010/08/vtfedit_main-300x203.jpg" alt="Главное окно VTFEdit" width="300" height="203" /></a><p class="wp-caption-text">Главное окно VTFEdit</p></div></li>
<li>Выберите <strong>File</strong> &#8211; <strong>Import</strong> и найдите на диске файл, который Вы хотите сделать спреем. <span style="color: #ff0000;">Внимание! Размер спрея должен быть <strong>256*256</strong> пикселей (файлы большего размера не принимаются большинством серверов)</span>. VTFEdit поддерживает импорт файлов изображений формата GIF, JPEG, PNG, BMP, TGA и DDS.
<p><div id="attachment_193" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.easycoding.org/wp-content/uploads/2010/08/vtfedit_import.jpg"><img class="size-medium wp-image-193" title="Диалог импорта файла VTFEdit" src="http://www.easycoding.org/wp-content/uploads/2010/08/vtfedit_import-300x223.jpg" alt="Диалог импорта файла VTFEdit" width="300" height="223" /></a><p class="wp-caption-text">Диалог импорта файла VTFEdit</p></div></li>
<li>Выбрав нужный файл, нажмите кнопку &#8220;<strong>Открыть</strong>&#8221; (или &#8220;<strong>Open</strong>&#8221; в английской версии Windows). Появится окно дополнительных опции импорта. Здесь сразу нажмите &#8220;<strong>OK</strong>&#8220;, ничего не изменяя.
<p><div id="attachment_196" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.easycoding.org/wp-content/uploads/2010/08/vtfedit_fopts.jpg"><img class="size-medium wp-image-196" title="Дополнительные опции импорта" src="http://www.easycoding.org/wp-content/uploads/2010/08/vtfedit_fopts-300x225.jpg" alt="Дополнительные опции импорта" width="300" height="225" /></a><p class="wp-caption-text">Дополнительные опции импорта</p></div></li>
<li>Вы будете перемещены в главное окно VTFEdit, в котором увидите только что созданный и загруженный спрей. В меню <strong>Options</strong> выберите <strong>Auto Create VMT File</strong> чтобы программа наряду с VTF-файлом сгенерировала и VMT-файл (файл описания спрея). Это действие избавит Вас от необходимости вручную импортировать спрей в игре.
<p><div id="attachment_197" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.easycoding.org/wp-content/uploads/2010/08/vtfedit_vmt.jpg"><img class="size-medium wp-image-197" title="Меню Options VTFEdit" src="http://www.easycoding.org/wp-content/uploads/2010/08/vtfedit_vmt-300x174.jpg" alt="Меню Options VTFEdit" width="300" height="174" /></a><p class="wp-caption-text">Меню Options VTFEdit</p></div></li>
<li>Сохраните Ваш спрей на диск командой <strong>File</strong> &#8211; <strong>Save</strong> под любым именем (в имени файла не должно быть русских букв и пробелов, т.е. допустимы только латинские буквы и цифры).</li>
<li>Ваш спрей создан и сохранён. Пришло время переходить к его установке.</li>
</ol>
<h2>Ручная установка спрея</h2>
<p>Рассмотрим установку спрея на примере Team Fortress 2 (для CSS во всех путях замените tf на cstrike).</p>
<ol>
<li>Откройте в Проводнике Windows папку <strong>\Steam\steamapps\ВАШ_ЛОГИН\team fortress 2\tf</strong>.</li>
<li>Найдите в ней подкаталог <strong>materials</strong>, а в нём <strong>vgui</strong> -&gt; <strong>logos</strong>. Если их нет, то Вы должны их создать вручную. Структура каталогов должна выглядеть так: <strong>\Steam\steamapps\ВАШ_ЛОГИН\team fortress 2\tf\materials\vgui\logos\</strong>. Перейдите в <strong>logos</strong>.</li>
<li>Скопируйте созданные Вами спреи в эту папку (и vtf, и vmt-файлы).</li>
<li>Запустите TF2, зайдите в <strong>Настройки</strong> (<strong>Options</strong>) на страницу <strong>Сетевая игра</strong> (<strong>Multiplayer</strong>) и выберите установленный спрей из списка в разделе <strong>Spraypaint image</strong>. Если спрей удалось выбрать и в поле <strong>Preview</strong> Вы увидели его, сразу нажимайте <strong>OK</strong> и не выполняйте дальнейшие шаги.
<p><div id="attachment_202" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.easycoding.org/wp-content/uploads/2010/08/tfopts.jpg"><img class="size-medium wp-image-202" title="Выбор загруженного спрея" src="http://www.easycoding.org/wp-content/uploads/2010/08/tfopts-300x238.jpg" alt="Выбор загруженного спрея" width="300" height="238" /></a><p class="wp-caption-text">Выбор загруженного спрея</p></div></li>
<li>Если у спрея не было VMT-файла, либо Вы его не создали в VTFEdit и соответственно его нет в списке доступных спреев TF2, то под списком доступных спреев нажмите кнопку <strong>Импорт</strong> (<strong>Import Spray&#8230;</strong>).
<p><div id="attachment_203" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.easycoding.org/wp-content/uploads/2010/08/mult_opts.jpg"><img class="size-medium wp-image-203" title="Параметры сетевой игры" src="http://www.easycoding.org/wp-content/uploads/2010/08/mult_opts-300x236.jpg" alt="Параметры сетевой игры" width="300" height="236" /></a><p class="wp-caption-text">Параметры сетевой игры</p></div></li>
<li>В открывшемся окне <strong>Import Spray Image</strong> переходите по каталогам по порядку &#8211; <strong>tf</strong> -&gt; <strong>materials</strong> -&gt; <strong>vgui</strong> -&gt; <strong>logos</strong> и выберите скопированный Вами спрей. Нажмите кнопку <strong>Open</strong>.
<p><div id="attachment_204" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.easycoding.org/wp-content/uploads/2010/08/import_spray.jpg"><img class="size-medium wp-image-204" title="Окно импорта спрея" src="http://www.easycoding.org/wp-content/uploads/2010/08/import_spray-300x190.jpg" alt="Окно импорта спрея" width="300" height="190" /></a><p class="wp-caption-text">Окно импорта спрея</p></div></li>
<li>Теперь спрей должен отображаться в списке (см. шаг 4). Нажмите <strong>OK</strong>. Спрей успешно установлен.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.easycoding.org/2010/08/06/sozdanie-i-ustanovka-spreya-v-source-igry.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Разграничение прав пользователей Subversion</title>
		<link>http://www.easycoding.org/2010/06/06/razgranichenie-prav-polzovatelej-subversion.html</link>
		<comments>http://www.easycoding.org/2010/06/06/razgranichenie-prav-polzovatelej-subversion.html#comments</comments>
		<pubDate>Sun, 06 Jun 2010 07:52:42 +0000</pubDate>
		<dc:creator>V1TSK</dc:creator>
				<category><![CDATA[HOWTO]]></category>
		<category><![CDATA[subversion]]></category>
		<category><![CDATA[svn]]></category>
		<category><![CDATA[безопасность]]></category>

		<guid isPermaLink="false">http://www.easycoding.org/?p=180</guid>
		<description><![CDATA[Введение
В своём предыдущем HOWTO, посвящённом установке и настройке SVN-сервера под Windows, я сознательно ничего не писал о разграничении прав пользователей репозитария, т.к. эта тема &#8220;тянет&#8221; на отдельную статью.
В этом HOWTO я подробно напишу как создать несколько пользователей и ограничить их полномочия в репозитарии (выделим каждому по каталогу, а также общий каталог).
Данное HOWTO будет разделено на [...]]]></description>
			<content:encoded><![CDATA[<h1>Введение</h1>
<p>В своём <a href="http://www.easycoding.org/2010/03/26/ustanovka-i-nastrojka-svn-servera-pod-windows.html" target="_blank">предыдущем HOWTO, посвящённом установке и настройке SVN-сервера под Windows</a>, я сознательно ничего не писал о разграничении прав пользователей репозитария, т.к. эта тема &#8220;тянет&#8221; на отдельную статью.</p>
<p>В этом HOWTO я подробно напишу как создать несколько пользователей и ограничить их полномочия в репозитарии (выделим каждому по каталогу, а также общий каталог).</p>
<p>Данное HOWTO будет разделено на два больших раздела: &#8220;<strong>Настройка svnserve</strong>&#8221; (если в качестве сервера Вы используете svnserve) и &#8220;<strong>Настройка Apache</strong>&#8221; (если в качестве сервера Вы используете Apache + mod_svn).</p>
<h1>Настройка svnserve</h1>
<h2>Шаг 1. Предварительная настройка.</h2>
<p>В любом текстовом редакторе (рекомендуется Notepad++) откройте файл <strong>ПУТЬ_К_РЕПОЗИТАРИЮ\conf\svnserve.conf</strong> и сделайте следующие правки. В базовых правах пропишите:</p>
<pre class="brush: php">anon-access = none
auth-access = write</pre>
<p>Это запретит доступ анонимам и даст полный доступ авторизованным пользователям. Если всё-таки нужно дать доступ анонимам, то <strong>anon-access</strong> установите в <strong>read</strong>.</p>
<p>Раскомментируйте строку (уберите решётку перед строкой):</p>
<pre class="brush: php">authz-db = authz</pre>
<p>Эта строка включает функции, отвечающие за разграничение прав пользователей. Все настройки прав пользователей записываются в указанный здесь файл (в нашем примере &#8211; <strong>authz</strong> (без расширения)).</p>
<p>Остальные настройки файла <strong>svnserve.conf</strong> можно не изменять. Более подробную информацию об этом файле читайте в <a href="http://www.easycoding.org/2010/03/26/ustanovka-i-nastrojka-svn-servera-pod-windows.html" target="_blank">первом HOWTO</a>.</p>
<h2>Шаг 2. Создание пользователей.</h2>
<p>Откройте в любом текстовом редакторе файл, который задан в файле <strong>svnserve.conf</strong> как файл со списком пользователей и их паролей в директиве <strong>password-db</strong>. По умолчанию этот файл называется <strong>passwd</strong> (без расширения).</p>
<p>Впишите в этот файл нужных Вам пользователей и их пароли (синтаксис <strong>логин</strong> = <strong>пароль</strong>). Более подробную информацию можно получить в <a href="http://www.easycoding.org/2010/03/26/ustanovka-i-nastrojka-svn-servera-pod-windows.html" target="_blank">первом HOWTO</a> на шаге 3. Там же Вы можете посмотреть примеры такого файла.</p>
<h2>Шаг 3. Создание групп пользователей.</h2>
<p>Для удобства администрирования можно создать группы, но делать это не обязательно. Итак, если Вы хотите создать группы, откройте в любом текстовом редакторе файл <strong>authz</strong> (если Вы не сменили его название на шаге 1), найдите <strong>[groups]</strong> и после примеров впишите:</p>
<pre class="brush: php">название_группы = пользователь1,пользователь2,...,пользовательN</pre>
<p><strong>Название группы</strong> должно содержать только латинские символы, цифры и символ подчёркивания. После знака равенства пишутся <strong>логины пользователей</strong>, которые будут входить в эту группу. Эти <span style="text-decoration: underline;">логины должны существовать</span> в файле <strong>passwd</strong> (если Вы не изменили его название на шаге 1), в противном случае (если Вы указали логины, которых нет в файле соответствия пользователей, сервер может не запуститься).</p>
<p>Рассмотрим достаточно простой пример:</p>
<pre class="brush: php">[groups]
admins = vova,vitaly
proj1 = kate,john,bill,sam
proj2 = dima,john</pre>
<p>В этом примере мы создали три группы: admins (администраторы сервера), proj1 (группа, которая будет работать над проектом 1) и proj2 (группа, которая будет работать над проектом 2). Пользователь john в нашем примере входит в обе группы, т.е. имеет доступ как к проекту 1, так и к проекту 2.</p>
<p>На следующем шаге мы пропишем этим группам права доступа.</p>
<h2>Шаг 4. Настройка прав доступа.</h2>
<p>В том же текстовом файле <strong>authz</strong>, что и на предыдущем шаге, ищем &#8220;<strong>### ACCESS CONTROL SECTION</strong>&#8220;. После этой секции идёт указание прав доступа для каталогов svn-сервера. Разграничение прав лучше всего показать на примерах, поэтому представим что у нас на svn-сервере создана следующая структура каталогов:</p>
<pre class="brush: php">/
/proj1/
/proj2/
/common/</pre>
<p>Здесь нам нужно задать права:</p>
<ul>
<li>для админов &#8211; разрешить полный доступ ко всем каталогам;</li>
<li>для пользователей проекта1 &#8211; дать доступ к проекту1, но заблокировать доступ к корню и к проекту2;</li>
<li>для пользователей проекта2 &#8211; дать доступ к проекту2, но заблокировать доступ к корню и к проекту1.</li>
</ul>
<p>Если у Вас на шаге 3 были созданы группы, то всё делается очень просто:</p>
<pre class="brush: php"># Указываем корневой каталог
[/ ]
# Даём полный доступ группе админов
@admins = rw
# Блокируем доступ всем остальным
* =

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

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

# Указываем доступный для всех каталог common
[/common]
# Даём полный доступ админам
@admins = rw
# Даём доступ только чтение для всех
* = r</pre>
<p>Если группы созданы не были, то придётся вместо групп прописывать через запятую всех пользователей:</p>
<pre class="brush: php"># Указываем корневой каталог
[/ ]
# Даём полный доступ админам
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</pre>
<p>Таким образом, <strong>rw</strong> означает полный доступ (чтение, создание, редактирование, удаление), <strong>r</strong> (только чтение) и пустая строка &#8211; нет доступа.</p>
<p>Внимание! Права для подкаталога применяются рекурсивно, но если для какого-то подкаталога заданы индивидуальные права доступа, то они переопределят глобальные. Например, если какой-то группе стоят полные права доступа на корневой каталог, а в /proj1/ стоит запрет для всех, то у этой группы доступа к каталогу не будет.</p>
<h1>Настройка Apache</h1>
<h2>Шаг 1. Предварительная настройка.</h2>
<p>В любом текстовом редакторе откройте файл <strong>httpd.conf</strong> (основной файл конфигурации веб-сервера Apache). В самом конце файла найдите описание указание на Ваш каталог svn-проектов. Подробности настройки Apache + mod_svn <a href="http://www.easycoding.org/2010/03/26/ustanovka-i-nastrojka-svn-servera-pod-windows.html" target="_blank">читайте в первом HOWTO</a>.</p>
<p>В конце файла <strong>httpd.conf</strong> найдите следующие строки:</p>
<pre class="brush: php">DAV svn
SVNParentPath C:\svn_repository</pre>
<p>и замените на такие:</p>
<pre class="brush: php">DAV svn
SVNPath С:\svn_repository
AuthzSVNAccessFile С:\svn_repository\conf\authz

AuthType Basic
AuthName &quot;Subversion repository&quot;
AuthUserFile С:\svn_repository\conf\appswd
Require valid-user</pre>
<p>Здесь <strong>C:\svn_repository</strong> &#8211; это путь к каталогу репозитория (измените в соответствии с Вашими настройками), <strong>authz</strong> &#8211; файл настроек доступа, а <strong>appswd</strong> &#8211; файл с логинами и паролями пользователей (стандартный htpasswd-файл Apache).</p>
<h2>Шаг 2. Создание пользователей.</h2>
<p>Откройте командную строку Windows (&#8220;<strong>Win+R</strong>&#8221; – &#8220;<strong>cmd.exe</strong>&#8220;) и выполните следующие команды:</p>
<pre class="brush: php">cd &quot;%PROGRAMFILES%\CollabNet\Subversion Server\httpd\bin&quot;
htpasswd -cmb C:\svn_repository\conf\appswd ЛОГИН_ПОЛЬЗОВАТЕЛЯ_1 ПАРОЛЬ
htpasswd -mb C:\svn_repository\conf\appswd ЛОГИН_ПОЛЬЗОВАТЕЛЯ_2 ПАРОЛЬ
...
htpasswd -mb C:\svn_repository\conf\appswd ЛОГИН_ПОЛЬЗОВАТЕЛЯ_N ПАРОЛЬ</pre>
<p>Здесь &#8220;<strong>%PROGRAMFILES%\CollabNet\Subversion Server\httpd\bin</strong>&#8221; &#8211; каталог установки сервера Apache + mod_svn (замените в соответствии с Вашими настройками), а &#8220;<strong>C:\svn_repository</strong>&#8221; &#8211; путь к локальному репозитарию (также измените в соответствии с настройками).</p>
<p>Внимание! Параметр -cm нужно указывать только при первом создании пользователя, т.к. он перезаписывает имеющийся файл. В пути к файлу паролей буква диска обязательно должна быть в верхнем регистре. Логин должен содержать только латинские буквы, символ подчёркивания и цифры. Пароль хранится в виде хэша MD5.</p>
<h2>Шаг 3 и 4. Настройка прав доступа.</h2>
<p>См. шаг 3 и 4 в разделе &#8220;Настройка svnserve&#8221; выше. Эти шаги одинаковы что для svnserve, что для Apache.</p>
<h1>Заключение</h1>
<p>После окончания настройки не забудьте перезапустить свой сервер. Команды перезапуска для svnserve:</p>
<pre class="brush: php">net stop CSVNsvnserve
net start CSVNsvnserve</pre>
<p>Команды перезапуска для Apache:</p>
<pre class="brush: php">net stop CollabNetSubversionApache
net start CollabNetSubversionApache</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.easycoding.org/2010/06/06/razgranichenie-prav-polzovatelej-subversion.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Установка и настройка SVN-сервера под Windows</title>
		<link>http://www.easycoding.org/2010/03/26/ustanovka-i-nastrojka-svn-servera-pod-windows.html</link>
		<comments>http://www.easycoding.org/2010/03/26/ustanovka-i-nastrojka-svn-servera-pod-windows.html#comments</comments>
		<pubDate>Fri, 26 Mar 2010 11:05:00 +0000</pubDate>
		<dc:creator>V1TSK</dc:creator>
				<category><![CDATA[HOWTO]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[subversion]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://www.easycoding.org/?p=171</guid>
		<description><![CDATA[Введение
В данном HOWTO я подробно опишу как установить и настроить SVN (subversion) сервер под ОС Windows.
Статья о настройке прав доступа SVN-сервера доступна здесь.
Шаг 1. Установка сервера.
Итак, для начала нам будет нужен сам дистрибутив с svn-сервером, который можно бесплатно скачать с официального сайта CollabNet (перед тем как что-то скачать, Вы должны пройти бесплатную регистрацию на этом [...]]]></description>
			<content:encoded><![CDATA[<h2>Введение</h2>
<p>В данном HOWTO я подробно опишу как установить и настроить SVN (subversion) сервер под ОС Windows.</p>
<p>Статья о настройке прав доступа SVN-сервера <a href="http://www.easycoding.org/2010/06/06/razgranichenie-prav-polzovatelej-subversion.html" target="_blank">доступна здесь</a>.</p>
<h2>Шаг 1. Установка сервера.</h2>
<p>Итак, для начала нам будет нужен сам дистрибутив с svn-сервером, который можно бесплатно скачать с <a href="http://www.collab.net/downloads/subversion/" target="_blank">официального сайта CollabNet</a> (перед тем как что-то скачать, Вы должны пройти бесплатную регистрацию на этом сайте (зачем так сделано не очень понятно)). Вы должны скачать <strong>CollabNet Subversion Server and Client v1.6.9 (for Windows)</strong> (версия 1.6.9 &#8211; последняя на момент написания данного HOWTO).</p>
<p>После скачивания файла <strong>CollabNetSubversion-server-1.6.9-1.win32.exe</strong> (18,44 МБ), запускайте его и следуйте указаниям мастера. Мастер выполнит несколько шагов. Рассмотрим все шаги мастера по порядку:</p>
<ol>
<li>Приветствие мастера. Сразу жмите &#8220;<strong>Next</strong>&#8220;.</li>
<li>Предложение прочитать онлайновый ReadMe. Жмите &#8220;<strong>Next</strong>&#8220;.</li>
<li>Выберите компоненты, которые нужно установить: <strong>svnserve</strong> (собственно svn-сервер (устанавливать обязательно)) и <strong>Apache</strong> (устанавливайте только если хотите разрешить доступ к своим репозитариям из Интернета через обычные браузеры). Выбрав нужные компоненты, переходите к следующему шагу.</li>
<li>На этом шаге предлагается выбрать порт для svn-сервера (настоятельно рекомендуется использовать стандартный <strong>3690</strong>) и указать путь, где будут храниться репозитарии (рекомендуется стандартное значение <strong>c:\svn_repository</strong>). Флажок в строке &#8220;<strong>Install svnserve to run as Windows service</strong>&#8221; позволит автоматически запускаться svn-серверу при запуске Windows (рекомендуется не снимать отсюда флажок). Внимание! Этого шага не будет, если на шаге 3 Вы не выбрали компонент svnserve.</li>
<li>Теперь предлагается настроить Apache если Вы его выбрали на третьем шаге мастера установки.
<ul>
<li><strong>Host/Server name</strong> &#8211; имя сервера. Рекомендуется оставить <strong>localhost</strong>.</li>
<li><strong>Host Port</strong> &#8211; порт, на котором будет находиться Apache. Рекомендуется либо стандартный <strong>80</strong>, либо <strong>8080</strong>.</li>
<li><strong>Install Apache to run as Windows service</strong> &#8211; позволяет Apache запускаться вместе с Windows.</li>
<li><strong>Repository Path</strong> &#8211; путь к svn-репозитарию. Укажите то же значение, что Вы указывали на шаге 4. Рекомендуется стандартное значение <strong>C:\svn_repository</strong>.</li>
<li><strong>Repository Location Prefix</strong> &#8211; префикс, по которому будет доступен svn-репозитарий. Пример: http://localhost:80/svn/. Если Вы будете использовать установленный Apache только для репозитариев svn, установите в этом поле лишь слэш &#8220;<strong>/</strong>&#8220;, в противном случае оставьте стандартное значение <strong>/svn</strong>.</li>
</ul>
</li>
<li>Выберите каталог для установки набора серверов и нажмите &#8220;<strong>Install</strong>&#8220;.</li>
<li>На этом шаге предлагается включить уведомления о новых версиях программы. Рекомендуется снять все флажки.</li>
<li>Нажмите &#8220;<strong>Finish</strong>&#8220;. Установка завершена.</li>
</ol>
<h2>Шаг 2. Установка клиента.</h2>
<p>В качестве SVN-клиента мы будем использовать TortoiseSVN, <a href="http://www.easycoding.org/2010/02/27/rabota-s-tortoisesvn.html" target="_blank">подробнее о котором можно почитать в HOWTO</a>.</p>
<p>Скачать программу можно на её официальном сайте программы на странице Downloads: <a href="http://tortoisesvn.net/downloads" target="_blank">http://tortoisesvn.net/downloads</a>.  Там же можно скачать пакет локализации, содержащий помимо перевода  интерфейса программы, ещё и словарь проверки орфографии (применяется при  коммите изменений).</p>
<p>Установка программы стандартна и не должна вызвать никаких сложностей.</p>
<h2>Шаг 3. Настройка svnserve.</h2>
<p>Настройку начнём с того, что создадим новый репозитарий со стандартными настройками, которые и будем редактировать. Для этого зайдём в Проводнике Windows в каталог, указанный в качестве &#8220;<strong>Repository path</strong>&#8221; во время установки сервера (стандартное значение &#8211; <strong>С:\svn_repository\</strong>), нажмём правой кнопкой по пустому месту в нём и выберем &#8220;<strong>TortoiseSVN</strong>&#8221; &#8211; &#8220;<strong>Create repository here</strong>&#8220;. Через несколько мгновений внутри каталога появятся файлы и подкаталоги, а также будет выведено сообщение об успешном создании репозитария. В дальнейшем путь к репозитарию я буду заменять на <strong>ПУТЬ_К_РЕПОЗИТАРИЮ</strong>.</p>
<p>Теперь мы должны создать пользователей, которые будут работать с репозитарием. Для этого мы должны открыть файл &#8220;<strong>ПУТЬ_К_РЕПОЗИТАРИЮ\conf\svnserve.conf</strong>&#8221; в любом текстовом редакторе, например Блокноте Windows или Notepad++. Здесь Вы должны раскомментировать (убрать перед строкой символ(ы) &#8220;<strong>#</strong>&#8220;) следующие строки:</p>
<pre class="brush: php">anon-access = none
auth-access = write</pre>
<p>Строка &#8220;<strong>anon-access = none&#8221;</strong> означает, что анонимы не смогут получить доступ к репозитарию вообще (сделано из соображений безопасности), а &#8220;<strong>auth-access = write</strong>&#8221; означает, что авторизованные пользователи получат полный доступ в пределах их ограничений, заданных в файле <strong>authz</strong> (если такая функция включена). Если Вы хотите, чтобы анонимы могли получить доступ только для чтения (например, разрабатываете OpenSource-проект), то установите &#8220;<strong>anon-access = read</strong>&#8220;.</p>
<p>Теперь Вы должны раскомментировать строку:</p>
<pre class="brush: php">password-db = passwd</pre>
<p>Эта строка указывает в каком файле будут находиться логины и пароли пользователей для авторизации на svn-сервере. Теперь откройте файл &#8220;<strong>ПУТЬ_К_РЕПОЗИТАРИЮ\conf\passwd</strong>&#8221; в любом текстовом редакторе и впишите в нём &#8220;<strong>логин_пользователя = пароль_пользователя</strong>&#8221; (разделителем служит знак равенства). Пример правильного файла passwd:</p>
<pre class="brush: php">### 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
</pre>
<p>Убираем символ комментария из строки:</p>
<pre class="brush: php">realm = My First Repository</pre>
<p>В ней указывается имя Вашего репозитария. После знака равенства вместо My First Repository Вы можете указать любое другое имя. Оно выводится при запросе логина и пароля.</p>
<p>Настройка сервера с простой (simple) авторизацией завершена. Пример правильного файла конфигурации сервера:</p>
<pre class="brush: php">### 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 &quot;write&quot;, &quot;read&quot;,
### and &quot;none&quot;.  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&#039;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&#039;s location is relative to the the
### directory containing this file.  If you don&#039;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&#039;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 &#039;svnserve --version&#039; and look for a line
### reading &#039;Cyrus SASL authentication is available.&#039;
# 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
</pre>
<p>Теперь пора проверить созданный нами svn-сервер, но сначала мы должны перезапустить его чтобы он смог считать изменённые конфигурационные файлы. Для этого набираем &#8220;<strong>Windows+R</strong>&#8221; &#8211; &#8220;<strong>cmd.exe</strong>&#8220;. В открывшейся командной строке пишем слелующие команды (по порядку):</p>
<pre class="brush: php">net stop CSVNsvnserve
net start CSVNsvnserve</pre>
<p>Открываем <strong>TortoiseSVN Repository Browser</strong> из контекстного меню любой папки и в качестве <strong>URL</strong> вводим: <strong>svn://127.0.0.1/</strong>. Сервер запросит указать логин и пароль, заданные в файле passwd и при успешной авторизации отобразит корневой каталог. Сервер успешно настроен и готов к управлению проектами.</p>
<h2>Шаг 4. Настройка Apache.</h2>
<p>Если Вы хотите, чтобы к Вашему репозитарию был доступ не только с помощью svn-клиентов, но и с помощью любого веб-браузера, то должны сделать ряд настроек.</p>
<p>Откройте в любом текстовом редакторе файл &#8220;<strong>%PROGRAMFILES%\CollabNet\Subversion Server\httpd\conf\httpd.conf</strong>&#8220;, где<strong> </strong>&#8220;<strong>%PROGRAMFILES%\CollabNet\Subversion Server\</strong>&#8221; &#8211; это путь установки svn-серверов. В конце файла <strong>httpd.conf</strong> найдите следующие строки:</p>
<pre class="brush: php">DAV svn
SVNParentPath C:\svn_repository</pre>
<p>и замените на такие:</p>
<pre class="brush: php">DAV svn
SVNPath С:\svn_repository

AuthType Basic
AuthName &quot;Subversion repository&quot;
AuthUserFile С:\svn_repository\conf\appswd
Require valid-user</pre>
<p>Здесь <strong>с:\svn_repository</strong> &#8211; путь к репозиторию svn. Измените в соответствии с Вашими настройками.</p>
<p>Теперь нужно создать файл паролей Apache. Для этого откройте командную строку Windows (&#8220;<strong>Win+R</strong>&#8221; &#8211; &#8220;<strong>cmd.exe</strong>&#8220;) и выполните следующие команды:</p>
<pre class="brush: php">cd &quot;%PROGRAMFILES%\CollabNet\Subversion Server\httpd\bin&quot;
htpasswd -cmb C:\svn_repository\conf\appswd ЛОГИН_ПОЛЬЗОВАТЕЛЯ_1 ПАРОЛЬ
htpasswd -mb C:\svn_repository\conf\appswd ЛОГИН_ПОЛЬЗОВАТЕЛЯ_2 ПАРОЛЬ
...
htpasswd -mb C:\svn_repository\conf\appswd ЛОГИН_ПОЛЬЗОВАТЕЛЯ_N ПАРОЛЬ</pre>
<p><span style="color: #ff0000;">Внимание! Параметр -cm нужно указывать только при первом создании пользователя, т.к. он перезаписывает имеющийся файл. В пути к файлу паролей буква диска обязательно должна быть в верхнем регистре.</span></p>
<p>В качестве ЛОГИН_ПОЛЬЗОВАТЕЛЯ нужно указать все логины пользователей, указанные в файле <strong>passwd</strong>. Пароли также должны быть идентичны.</p>
<p>Настройка SVN over Apache 2 была успешно завершена. Теперь нужно перезапустить сервер командами консоли Windows:</p>
<pre class="brush: php">net stop CollabNetSubversionApache
net start CollabNetSubversionApache</pre>
<p>Протестировать сервер можно так: http://127.0.0.1:ПОРТ/ в любом веб-браузере. Будет запрошен логин и пароль для доступа к репозитарию.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.easycoding.org/2010/03/26/ustanovka-i-nastrojka-svn-servera-pod-windows.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Работа с TortoiseSVN</title>
		<link>http://www.easycoding.org/2010/02/27/rabota-s-tortoisesvn.html</link>
		<comments>http://www.easycoding.org/2010/02/27/rabota-s-tortoisesvn.html#comments</comments>
		<pubDate>Sat, 27 Feb 2010 09:10:24 +0000</pubDate>
		<dc:creator>V1TSK</dc:creator>
				<category><![CDATA[HOWTO]]></category>
		<category><![CDATA[subversion]]></category>
		<category><![CDATA[svn]]></category>
		<category><![CDATA[tortoisesvn]]></category>

		<guid isPermaLink="false">http://www.easycoding.org/?p=155</guid>
		<description><![CDATA[Введение
В данном HOWTO будет подробно рассказано как работать с самым популярным SVN-клиентом под Windows: скачивать и обновлять репозитарии, создавать теги и ветки проекта, коммитить (публиковать) свою рабочую копию, откатывать сделанные изменения и многое другое.
Где можно скачать программу
Скачать программу можно на её официальном сайте на странице Downloads: http://tortoisesvn.net/downloads. Там же можно скачать пакет локализации, содержащий помимо [...]]]></description>
			<content:encoded><![CDATA[<h2>Введение</h2>
<p>В данном HOWTO будет подробно рассказано как работать с самым популярным SVN-клиентом под Windows: скачивать и обновлять репозитарии, создавать теги и ветки проекта, коммитить (публиковать) свою рабочую копию, откатывать сделанные изменения и многое другое.</p>
<h2>Где можно скачать программу</h2>
<p>Скачать программу можно на её официальном сайте на странице Downloads: <a href="http://tortoisesvn.net/downloads" target="_blank">http://tortoisesvn.net/downloads</a>. Там же можно скачать пакет локализации, содержащий помимо перевода интерфейса программы, ещё и словарь проверки орфографии (применяется при коммите изменений (см. ниже)).</p>
<p>Программа TortoiseSVN интегрируется в Проводник Windows (Windows Explorer) и все действия с ней выполняются из контекстного меню каталогов (папок).</p>
<p>Начнём с самого простого &#8211; скачивания одного из репозитариев на свой компьютер.</p>
<h2>Скачивание репозитария SVN (Checkout)</h2>
<p>Если Вы хотите скачать репозитарий какого-нибудь проекта, то Вы должны знать его URL, а также логин и пароль для доступа (если не указаны, то для анонимного доступа (только чтение) используется логин и пароль <strong>anonsvn</strong>). URL&#8217;ы могут быть:</p>
<ul>
<li>стандартный <strong>svn://</strong> &#8211; подключение напрямую к Subversion-серверу;</li>
<li><strong>http://</strong> &#8211; подключение к Subversion-серверу через веб (так работает большинство серверов, т.к. позволяет просматривать проект не имея SVN-клиента напрямую через веб-браузер);</li>
<li><strong>https://</strong> &#8211; то же, что и http://, но через SSL;</li>
<li><strong>svn+ssh://</strong> &#8211; svn через SSH (редко используется в настоящее время).</li>
</ul>
<p>Допустим, что URL нам известен, поэтому чтобы скачать репозитарий, мы должны сделать следующее:</p>
<ol>
<li>Создаём папку, в которую будем скачивать репозитарии (для удобства лучше хранить все репозитарии в одной папке, например, C:\SVN).</li>
<li>Заходим в неё в проводнике Windows, нажимаем правой кнопкой мыши по свободному месту и выбираем &#8220;<strong>SVN Checkout&#8230;</strong>&#8220;.</li>
<li>В поле &#8220;<strong>URL of repository</strong>&#8221; пишем полный URL до репозитория SVN, который нам нужно скачать, а в поле &#8220;<strong>Checkout directory</strong>&#8221; корректируем путь, в которой будет помещена локальная копия. Внимание! Вам нужно делать checkout только каталога /trunk/ svn-репозитария, либо корневого, если /trunk/ не существует (очень редко, т.к. в 99% репозитариев trunk существует и содержит всегда самую последнюю версию файлов).</li>
<li>В списке &#8220;<strong>Checkout Depth</strong>&#8221; укажите &#8220;<strong>Fully recursive</strong>&#8220;, что означает, что будет скачан весь репозитарий от указанного пути. Если установить флажок &#8220;<strong>Omit externals</strong>&#8220;, то внешние файлы, на которые есть ссылки в репозитарии (например, из других репозитариев, либо репозитариев третьих лиц), скачаны не будут, поэтому ставить флажок здесь не рекомендуется.</li>
<li>В блоке &#8220;<strong>Revision</strong>&#8221; Вы можете запросить выдать Вам последнюю версию репозитария: &#8220;<strong>HEAD revision</strong>&#8221; (рекомендуется именно этот вариант), либо указанную Вам в поле ревизию: &#8220;<strong>Revision ###</strong>&#8221; (не рекомендуется).</li>
<li>Кнопка &#8220;<strong>Show log</strong>&#8221; покажет Вам список изменений в репозитарии с  информацией об авторах каждого изменения, описании изменений (если  авторы их вводили при коммите изменений), а также списке добавленных,  изменённых и удалённых файлов. Здесь же можно просмотреть чем файл одной ревизии (версии) отличается от файла другой, а также запросить показать унифицированный diff-файл изменений либо нескольких файлов, либо нескольких ревизий (отображается только для текстовых файлов). Более подробную информацию о Log Viewer читайте ниже.</li>
<li>Нажимаем кнопку &#8220;<strong>OK</strong>&#8221; и ждём скачивания репозитария с Subversion-сервера (зависит от скорости Вашего Интернет-соединения, а также от загруженности svn-сервера). <span style="color: #ff0000;">Внимание! Некоторые svn-серверы могут запросить пароль. Если Вы не знаете пароля, то вводите <span style="text-decoration: underline;"><strong>anonsvn</strong></span> как логин и пароль. Это стандартный логин/пароль для анонимного доступа. Если Вы хотите в дальнейшем публиковать свои изменения в этот репозитарий и у Вас есть на это право, то введите здесь свой логин и пароль</span>.</li>
<li>Готово. В каталоге, который Вы указали на третьем шаге в поле &#8220;<strong>Checkout directory</strong>&#8221; теперь находится локальная версия репозитария (рабочая копия).</li>
</ol>
<h2>Обновление скачанного репозитария (Update)</h2>
<p>SVN и создавался для удобного управления проектам, а также поддержания их в актуальном состоянии, поэтому вторая по значимости операция &#8211; обновления скачанной рабочей копии. Рекомендуется как можно чаще обновлять свои рабочие копии. При обновлении скачиваются только изменённые файлы, добавляются новые и удаляются удалённые из репозитария файлы. Итак, чтобы обновить рабочую копию, нужно:</p>
<ol>
<li>Заходим в папку, в которой находятся файлы скачанной рабочей копии в Проводнике Windows.</li>
<li>Нажимаем правой кнопкой по свободному месту в папке, выбираем &#8220;<strong>SVN Update</strong>&#8220;.</li>
<li>В открывшемся окне наблюдаем за процессом обновления: списком добавленных, изменённых и/или удалённых файлов, текущим номером версии. Здесь же можно нажать кнопку &#8220;<strong>Show log&#8230;</strong>&#8221; чтобы просмотреть список, прочитать описание изменений (если указано), сравнить текущую версию с предыдущей и т.д.</li>
<li>Нажмите &#8220;<strong>OK</strong>&#8221; чтобы закрыть это окно. Репозитарий обновлён до последней версии.</li>
</ol>
<h2>Сохранение своих изменений в репозитарий (Commit)</h2>
<p>Если Вы хотите внести свои изменения в скачанный репозитарий и у Вас есть на это право (право коммита в репозитарий), то просто начинайте работать с локальной рабочей копией как с обычной папкой: создавайте, редактируйте, удаляйте файлы и/или папки. Теперь чтобы внести изменения в репозитарий, нужно:</p>
<ol>
<li>Заходим в папку, в которой находятся файлы скачанной рабочей копии в  Проводнике Windows. Внимание! Рабочая копия должна быть скачана от логина пользователя, у которого есть право на коммит изменений (коммит-флаг).</li>
<li>Нажимаем правой кнопкой по свободному месту в папке, выбираем &#8220;<strong>SVN Commit&#8230;</strong>&#8220;.</li>
<li>В открывшемся окне &#8220;<strong>Commit</strong>&#8221; в секции &#8220;<strong>Message</strong>&#8221; вводим краткое описание своих изменений (это рекомендуется делать всегда, особенно если не Вы один работаете над проектом), но описание можно и оставить пустым (не рекомендуется, т.к. другие разработчики или пользователи не смогут понять что именно было изменено). В этом поле разрешено использовать буквы национальных алфавитов (присутствует полная поддержка юникода), но, к сожалению, некоторые веб-клиенты svn (отображающие в браузере список изменений) вместо русских букв отображают кракозябры. TortoiseSVN лишён этого недостатка.</li>
<li>В секции &#8220;<strong>Changes made (double-click on file for diff)</strong>&#8221; Вы увидите список всех изменённых, добавленных и удалённых Вами файлов локальной рабочей копии. У изменённых файлов будут автоматически стоять флажки, у остальных &#8211; нет. Установите флажки у тех файлов, изменения которых должны быть загружены на svn-сервер (есть флажок &#8211; файл обновляется, добавляется, удаляется; нет флажка &#8211; остаётся без изменений). Двойной щелчок по файлу запустит утилиту Tortoise Merge (предназначена для сравнения версий файлов), которая покажет последнюю версию файла из репозитария SVN в левом окне и текущую рабочую копию в правом. Изменения будут выделены: удалённые строки зачёркнуты, добавленные выделены.</li>
<li>После выделения нужных файлов или всех сразу (&#8220;<strong>Select / deselect all</strong>&#8220;), нажмите кнопку &#8220;<strong>OK</strong>&#8221; и дождитесь окончания загрузки изменений на сервер. Будет открыто окно со списком добавленных, изменённых и/или удалённых файлов, а также указан текущий номер ревизии.</li>
</ol>
<h2>Работа с репозитарием напрямую на сервере</h2>
<p>Иногда требуется работать с svn-репозитарием напрямую на сервере не скачивая его на локальный компьютер. Для этих целей существует утилита &#8220;<strong>SVN Repo-browser</strong>&#8220;, также входящая в состав TortoiseSVN. Работать с ней очень просто:</p>
<ol>
<li>Запускаем проводник Windows, заходим в любую папку, нажимаем правой кнопкой по свободному месту и выбираем &#8220;<strong>SVN Repo-browser</strong>&#8220;.</li>
<li>В открывшемся окне &#8220;<strong>URL</strong>&#8221; вводим полный URL нужного нам svn-репозитария и нажимаем &#8220;<strong>OK</strong>&#8220;.</li>
<li>Будет открыто главное окно утилиты: &#8220;<strong>%URL% &#8211; Repository Browser</strong>&#8220;, где <strong>%URL%</strong> &#8211; URL репозитария. Работать в этом окне можно так же, как в Проводнике Windows. Разрешено перетаскивание объектов (Drag and Drop). Через контекстное меню файла/папки можно:
<ul>
<li>удалять &#8220;<strong>Delete&#8230;</strong>&#8220;, переименовывать &#8220;<strong>Rename</strong>&#8221; файлы и каталоги (папки);</li>
<li>добавить файл (&#8220;<strong>Add file&#8230;</strong>&#8220;) или папку (&#8220;<strong>Add folder&#8230;</strong>&#8220;) в репозитарий;</li>
<li>создать пустую папку (&#8220;<strong>Create folder</strong>&#8220;) в репозитарии;</li>
<li>скачать (&#8220;<strong>Checkout&#8230;</strong>&#8220;) репозитарий (см. выше);</li>
<li>извлечь файл или папку из репозитария без служебных каталогов (&#8220;<strong>Export&#8230;</strong>&#8220;). Извлечённая папка отличается от рабочей копии тем, что её нельзя обновлять и она не содержит служебных скрытых каталогов .svn;</li>
<li>создать ветку или тег (&#8220;<strong>Copy to&#8230;</strong>&#8220;);</li>
<li>изменять свойства файла или папки (&#8220;<strong>Show properties</strong>&#8220;).</li>
</ul>
</li>
<li>Любое изменение требует ввести текст комментария (разрешается не вводить и оставить поле пустым) и увеличивает номер ревизии на единицу. Изменения применяются немедленно.</li>
<li>Нажмите кнопку &#8220;<strong>OK</strong>&#8221; для выхода из Repository Browser.</li>
</ol>
<h2>Создание веток или меток внутри репозитария</h2>
<p>Если Вы работаете над большим проектом, то желательно для каждой публичной стабильной версии (1.0, 1.1, 2.0 и т.д.) создавать отдельный тег, например, <strong>/tags/RELEASE-<span style="color: #0000ff;">Mj</span>.<span style="color: #0000ff;">Mn</span></strong>, где <strong><span style="color: #0000ff;">Mj</span></strong> &#8211; Major-версия, а <strong><span style="color: #0000ff;">Mn</span></strong> &#8211; Minor-версия проекта. Пример: /tags/RELEASE-1.0 (для версии 1.0), /tags/RELEASE-2.63 (для версии 2.63) и т.д. <span style="color: #ff0000;">Внимание! Теги создаются НЕ в каталоге /trunk/, а выше него на один уровень!</span> Чтобы создать метку или ветвление, нужно (<span style="color: #ff0000;">у Вас должно быть право коммита в репозитарий для создания меток или ветвлений</span>):</p>
<ol>
<li>Заходим в папку, в которой находятся файлы скачанной рабочей копии в   Проводнике Windows.</li>
<li>Нажимаем правой кнопкой по свободному месту и выбираем &#8220;<strong>TortoiseSVN</strong>&#8221; &#8211; &#8220;<strong>Branch/tag&#8230;</strong>&#8220;.</li>
<li>В открывшемся окне в поле &#8220;<strong>To URL</strong>&#8221; введите полный URL с путём до нового тега. Пример: http://ваш_проект.svn.sourceforge.net/tags/RELEASE-1.0 (это только пример; пути должны указывать на Ваш проект).</li>
<li>В секции &#8220;<strong>Create copy in the repository from</strong>&#8221; укажите &#8220;<strong>HEAD revision in the repository</strong>&#8221; (последняя ревизия; рекомендуется), либо укажите номер ревизии вручную, выбрав &#8220;<strong>Specific revision in the repository ###</strong>&#8220;, либо создайте тег из текущей рабочей копии &#8220;<strong>Working copy</strong>&#8221; (не рекомендуется).</li>
<li>В секции &#8220;<strong>Log message</strong>&#8221; укажите комментарий к ревизии (например, <strong>%НАЗВАНИЕ_ПРОЕКТА% %ВЕРСИЯ_ПРОЕКТА% Released</strong>).</li>
<li>Нажмите &#8220;<strong>OK</strong>&#8220;. Флажок в строке &#8220;<strong>Switch working copy to new branch/tag</strong>&#8221; ставить не рекомендуется, т.к. это переключит Вашу текущую рабочую копию на новый путь, что может привести к различным ошибкам и проблемам.</li>
</ol>
<h2>Откат изменений в рабочей копии</h2>
<p>Если работая с локальным репозитарием Вы совершили какую-либо ошибку, например, повредили какой-то файл, неправильно отредактировали и т.д., то это легко исправить:</p>
<ol>
<li>Заходим в папку, в которой находятся файлы скачанной рабочей копии в    Проводнике Windows.</li>
<li>Нажимаем правой кнопкой по свободному месту и выбираем &#8220;<strong>TortoiseSVN</strong>&#8221;  &#8211; &#8220;<strong>Revert&#8230;</strong>&#8220;.</li>
<li>В открывшемся окне Вы увидите список всех изменённых файлов Вашей рабочей копии. Установите флажок у того файла, который Вы хотите откатить до версии из репозитария, либо выберите сразу все файлы (&#8220;<strong>Select / deselect all</strong>&#8220;). Двойной щелчок по файлу покажет его отличия от оригинального файла.</li>
<li>Нажмите &#8220;<strong>OK</strong>&#8220;. Выбранные файлы будут восстановлены, а изменённые будут отправлены в Корзину Windows.</li>
</ol>
<h2>Работа с утилитой Log Viewer</h2>
<p>Утилита Log Viewer, запускаемая после нажатия на кнопку &#8220;<strong>Show log&#8230;</strong>&#8220;, либо при нажатии правой кнопкой по свободному месту в локальной рабочей копии &#8211; &#8220;<strong>TortoiseSVN</strong>&#8221; &#8211; &#8220;<strong>Show log</strong>&#8220;. По умолчанию утилита показывает последние 50 ревизий и их описаний (если во время коммита они были введены). Все основные действия выполняются из контекстного меню ревизии:</p>
<ul>
<li>&#8220;<strong>Compare with woking copy</strong>&#8221; &#8211; сравнить текущую (выделенную) ревизию с локальной рабочей копией. Список изменений будет показан в Tortoise Merge.</li>
<li>&#8220;<strong>Show changes as unified diff</strong>&#8221; &#8211; показать изменения выделенных ревизий как унифицированный патч-файл (unified diff). Если выделена только одна ревизия, то она будет сравниваться с предыдущей (например, выделена ревизия 87, она будет сравниваться с 86).</li>
<li>&#8220;<strong>Compare with previous revision</strong>&#8221; &#8211; показать изменения выделенной и предыдующей ревизии. Будет отображено окно с различающимися файлами, двойной щелчок по файлу откроет его в Tortoise Merge для просмотра изменений.</li>
<li>&#8220;<strong>Compare and blame with previous revision</strong>&#8221; &#8211; то же, что и предыдущее, но здесь отображается кто и когда внёс какое-либо изменение в файл построчно.</li>
<li>&#8220;<strong>Browse repository</strong>&#8221; &#8211; открывает описанный выше Repository Browser для прямой работы с репозитарием.</li>
<li>&#8220;<strong>Create branch/tag from revision</strong>&#8221; &#8211; позволяет создать ветку или тег из выделенной ревизии (см. выше).</li>
<li>&#8220;<strong>Update item to revision</strong>&#8221; &#8211; обновляет до выделенной ревизии.</li>
<li>&#8220;<strong>Revert to this revision</strong>&#8221; &#8211; позволяет откатиться до выделенной ревизии.</li>
<li>&#8220;<strong>Revert changes from this revision</strong>&#8221; &#8211; позволяет откатить все изменения, сделанные в выделенной ревизии.</li>
<li>&#8220;<strong>Merge revisions to&#8230;</strong>&#8221; &#8211; позволяет объединить несколько ревизий в рабочую копию.</li>
<li>&#8220;<strong>Checkout&#8230;</strong>&#8221; &#8211; скачать выделенную ревизию (см. выше).</li>
<li>&#8220;<strong>Export&#8230;</strong>&#8221; &#8211; извлечь выделенную ревизию без служебных каталогов.</li>
<li>&#8220;<strong>Edit author</strong>&#8221; &#8211; редактировать имя автора выделенной ревизии (нужны права администратора).</li>
<li>&#8220;<strong>Edit log message</strong>&#8221; &#8211; позволяет редактировать текст описания выделенной ревизии (нужны права администратора).</li>
<li>&#8220;<strong>Show revision properties</strong>&#8221; &#8211; показать свойства выделенной ревизии.</li>
<li>&#8220;<strong>Copy to clipboard</strong>&#8221; &#8211; скопировать номер выделенной ревизии, автора, описание и список изменённых файлов в буфер обмена Windows.</li>
<li>&#8220;<strong>Search log messages</strong>&#8221; &#8211; запустить поиск в описаниях ревизий.</li>
</ul>
<p>Кнопка &#8220;<strong>Show all</strong>&#8221; покажет все ревизии, а &#8220;<strong>Show range&#8230;</strong>&#8221; позволит задать диапазон ревизий, которые будут отображаться в окне Log Viewer.</p>
<p>Кнопка &#8220;<strong>Statistics</strong>&#8221; отображает различную статистическую информацию: наиболее активный и наименее активный автор, количество изменений в репозитарии в неделю, общее количество изменений и т.д.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.easycoding.org/2010/02/27/rabota-s-tortoisesvn.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Установка и настройка сервера Garry&#8217;s Mod</title>
		<link>http://www.easycoding.org/2010/02/22/ustanovka-i-nastrojka-servera-garrys-mod.html</link>
		<comments>http://www.easycoding.org/2010/02/22/ustanovka-i-nastrojka-servera-garrys-mod.html#comments</comments>
		<pubDate>Mon, 22 Feb 2010 06:15:50 +0000</pubDate>
		<dc:creator>V1TSK</dc:creator>
				<category><![CDATA[HOWTO]]></category>
		<category><![CDATA[Garry's Mod]]></category>
		<category><![CDATA[слушающий сервер]]></category>

		<guid isPermaLink="false">http://www.easycoding.org/?p=149</guid>
		<description><![CDATA[Вступление
По многочисленным просьбам я решил написать подробное HOWTO по установке и настройке слушающего сервера Garry&#8217;s Mod прямо из приложения.
Статья об установке и настройке выделенного (dedicated) сервера доступна здесь.
Что нам потребуется для работы:

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

В отличие от [...]]]></description>
			<content:encoded><![CDATA[<h2>Вступление</h2>
<p>По многочисленным просьбам я решил написать подробное HOWTO по установке и настройке слушающего сервера Garry&#8217;s Mod прямо из приложения.</p>
<p><span style="text-decoration: underline;"><strong>Статья об установке и настройке выделенного (dedicated) сервера <a href="http://www.easycoding.org/2010/08/07/ustanovka-i-nastrojka-vydelennogo-servera-garrys-mod.html">доступна здесь</a>.</strong></span></p>
<p>Что нам потребуется для работы:</p>
<ol>
<li>Сам Garry&#8217;s Mod (лицензионная Steam-версия).</li>
<li><a href="http://www.easycoding.org/2009/08/25/ustanovka-plaginov-dlya-garrys-mod-iz-svn.html" target="_blank">Набор для установки плагинов</a> нашего производства (можете пропустить, если хотите устанавливать плагины вручную).</li>
<li>Любой текстовый редактор для редактирования конфигов.</li>
</ol>
<p>В отличие от слушающих серверов других Source-приложений, слушающий сервер Garry&#8217;s Mod по функциональности практически ничем не отличается от Dedicated Server&#8217;а. <span style="text-decoration: underline;">Общие черты слушающего и выделенного сервера Garry&#8217;s Mod</span>:</p>
<ul>
<li>позволяет устанавливать любые lua-модификации и плагины в каталог <span style="color: #0000ff;">/addons/</span>;</li>
<li>позволяет установить плагины для администрирования сервера и права администраторов (Garry&#8217;s Mod &#8211; единственный слушающий сервер, в котором создатель может быть не администратором).</li>
</ul>
<p><span style="text-decoration: underline;">Различия между слушающим и выделенным сервером Garry&#8217;s Mod</span>:</p>
<ul>
<li>при выходе из игры создателя, сервер автоматически отключается, а все играющие будут кикнуты с сообщением &#8220;<span style="color: #0000ff;">Server is shutting down</span>&#8220;;</li>
<li>позволяет одновременно хостить сервер и находиться на нём;</li>
<li>все настройки слушающего сервера хранятся в файле <strong><span style="color: #0000ff;">listenserver.cfg</span></strong>, а выделенного &#8211; <strong><span style="color: #0000ff;">server.cfg</span></strong>.</li>
</ul>
<p><span style="text-decoration: underline;">Преимущества слушающего сервера Garry&#8217;s Mod</span>:</p>
<ul>
<li>слушающий сервер не требует особых усилий для его развёртывания и  настройки: достаточно установить нужные плагины, админку, файл  конфигурации и можно приглашать на него своих друзей;</li>
<li>слушающий сервер идеален для работы/игры на нём нескольких человек (Вы и Ваши друзья например);</li>
<li>позволяет быстро переконфигурировать, перезапустить, остановить и т.д. сервер;</li>
<li>не нужно качать несколько гигабайт абсолютно ненужных данных выделенного сервера;</li>
<li>обновляется полностью автоматически.</li>
</ul>
<h2>Техническая часть</h2>
<ol>
<li>Чтобы к Вам могли подключаться клиенты, Вы должны иметь &#8220;<span style="text-decoration: underline;">белый</span>&#8221;  IP-адрес, т.е. видимый из Интернета. Создание сервера с &#8220;серым&#8221; IP, либо  с жёстким NAT&#8217;ом провайдера не имеет смысла, т.к. подключиться к такому  серверу никто не сможет (кроме находящихся с вами в одной подсети).</li>
<li>Сервер запускается на порту <strong><span style="color: #0000ff;">27015</span></strong>,  поэтому если у Вас ADSL, вы должны пробросить этот порт по протоколу <span style="color: #0000ff;">UDP</span> в настройках своего роутера  (модема). Обычно проброс портов настраивается в веб-интерфейсе роутера в разделе <span style="color: #0000ff;">NAT</span> &#8211; <span style="color: #0000ff;">Port Forwarding</span> или <span style="color: #0000ff;">NAT</span> &#8211; <span style="color: #0000ff;">Virtual Servers</span>.</li>
<li>На сервере главное – скорость отдачи от Вас клиентам, а также мощность  процессора Вашего компьютера. На ADSL максимальная отдача может  составлять около 780 Кбит/с – 1 МБит/с (на ADSL с модуляцией AnnexM  (такая разновидность встречается крайне редко) – 3 Мбит/с). Если у Вас  тариф на 256 КБит/с, то к Вам могут подключиться 6 клиентов. Если 512 –  10-12 клиентов, если 1 Мбит и более (ADSL) – 18 клиентов, кабель без NAT  – 23 клиента (максимум для слушающего сервера). В соотвествие с этими  параметрами Вы должны настроить значение переменной &#8220;<strong><span style="color: #0000ff;">Максимальное число игроков</span></strong>&#8221; во время создания  сервера. Если Ваш канал или процессор не будут выдерживать такое  количество подключившихся игроков, у всех появятся лаги.</li>
</ol>
<p><span style="color: #ff0000;">Внимание! Не создавайте сервер на большое количество пользователей, т.к.  современный компьютер вряд-ли потянет более 12-15 одновременно  работающих пользователей, активно работающих с Wire, Stargate и т.п. из-за того, что Garry&#8217;s Mod до сих пор не поддерживает мультипоточность. Также в настройках сервера или файле конфигурации <strong>listenserver.cfg</strong> не забудьте указать максимальное количество объектов, элементов, NPC и т.д., которые может создать один пользователь. Если здесь будут стоять огромные числа (как по умолчанию в 200), то это может подвергнуть Ваш сервер серьёзным лагам.</span> В нашем конфиге уже установлены оптимальные значения всех настроек, а NPC выключены вообще.</p>
<h2>Настройка и запуск сервера</h2>
<ol>
<li>Устанавливаем Steam и Garry&#8217;s Mod (если ещё не установлены).</li>
<li>Запускам Garry&#8217;s Mod, ждём полной загрузки и выходим из неё (это нужно только если выполнялся шаг 1 для создания файлов базовой  конфигурации).</li>
<li>Запускаем Garry&#8217;s Mod, нажимаем &#8220;<span style="color: #0000ff;"><strong>Создать сервер</strong></span>&#8221; (&#8220;<span style="color: #0000ff;"><strong>Create Server</strong></span>&#8220;), набираем команду <span style="color: #0000ff;"><strong>status</strong></span> в консоли, записываем её вывод например в буфер  обмена (выделяем выданный сервером текст, нажимаем правой кнопкой &#8211; &#8220;<span style="color: #0000ff;">Копировать</span>&#8220;), либо на бумагу и выходим из Garry&#8217;s Mod.</li>
<li>Устанавливаем джентльменский набор плагинов из svn для Garry&#8217;s Mod, так, как описано в <a href="http://www.easycoding.org/2009/08/25/ustanovka-plaginov-dlya-garrys-mod-iz-svn.html" target="_blank">этой статье</a>. Всю информацию по установке и сами скрипты установки/обновления плагинов Вы найдёте по <a href="http://www.easycoding.org/2009/08/25/ustanovka-plaginov-dlya-garrys-mod-iz-svn.html" target="_blank">этой ссылке</a>.</li>
<li>Делаем себя и, если нужно, своих друзей администраторами свежесозданного сервера (обязательно, иначе ULX-админка не даст Вам доступа). Чтобы сделать себя админом, нужно:
<ul>
<li>узнать Ваш личный SteamID и, если хотите сделать и друзей админами (не рекомендуется <img src='http://www.easycoding.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> ), то и их SteamID. Как это сделать описано на 3 шаге;</li>
<li>в любом текстовом редакторе открываем файл <span style="color: #0000ff;">%Steam%\steamapps\ВАШ_ЛОГИН\garrysmod\garrysmod\settings\users.txt</span>, где <span style="color: #0000ff;">%Steam%</span> &#8211; путь к установленному клиенту Steam, а <span style="color: #0000ff;">ВАШ_ЛОГИН</span> &#8211; Ваш логин для входа в Steam. В этот файл и прописываются администраторы сервера по SteamID. Ищем в этом файле раздел &#8220;superadmin&#8221; и после строки <span style="color: #0000ff;">//&#8221;garry&#8221; &#8220;STEAM_0:1:7099&#8243;</span> жмём Enter (начинаем новую строку) и пишем свою в виде <span style="color: #0000ff;">&#8220;ВАШ_НИК&#8221; &#8220;STEAM_0:1:XXXXXXXXX&#8221;</span>, где <span style="color: #0000ff;">ВАШ_НИК</span> &#8211; это ник админа, который будет в списке вывода админов сервера (здесь разрешено вводить только латинские буквы и цифры без пробелов; кавычки обязательны), а <span style="color: #0000ff;">STEAM_0:1:XXXXXXXXX</span> &#8211; это Ваш SteamID (замените на настоящий, естественно <img src='http://www.easycoding.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> ), полученный на 3 шаге. Здесь же после этой строчки может добавить и своих друзей (но я бы не рекомендовал этого делать; одного админа вполне достаточно).</li>
</ul>
</li>
<li>Качаем и распаковываем <a href="http://www.easycoding.org/files/gmod_server.zip">архив с файлами конфигурации</a> в папку <span style="color: #0000ff;">%Steam%\steamapps\ВАШ_ЛОГИН\garrysmod\garrysmod\cfg\</span>, где <span style="color: #0000ff;">%Steam%</span> &#8211; путь к установленному клиенту Steam, а <span style="color: #0000ff;">ВАШ_ЛОГИН</span> &#8211; Ваш логин  для входа в Steam. Заменяем имеющиеся файлы. Архив обновляется после выхода серьёзных изменений в Garry&#8217;s Mod, а также при обнаружении ошибок и для добавления новых функций.</li>
<li>Открываем распакованный файл <strong><span style="color: #0000ff;">listenserver.cfg</span></strong> в любом текстовом редакторе (например, в Блокноте Windows) и делаем  нужные настройки (меняем имя сервера (переменная <span style="color: #0000ff;">hostname</span>), настройки и т.п.). В файле я всё  подробно описал какая переменная чем управляет, что включает/выключает,  поэтому на этом я останавливаться не буду здесь. <span style="color: #ff0000;">Внимание! Первым делом задайте пароль вместо  !!!CHANGEME!!!, иначе Ваш сервер могут взломать</span>.</li>
<li>Запускаем Garry&#8217;s Mod, выбираем в главном меню пункт &#8220;<strong><span style="color: #0000ff;">Создать сервер</span></strong>&#8221; (&#8220;<strong><span style="color: #0000ff;">Create multiplayer</span></strong>&#8220;). В открывшемся окне на первой вкладке выбираем карту (рекомендуется <span style="color: #0000ff;">gm_flatgrass</span> или <span style="color: #0000ff;">gm_construct</span>), затем переходим на страницу &#8220;<strong><span style="color: #0000ff;">Options</span></strong>&#8220;. Здесь установите максимально число игроков, которые могут подключиться к Вашему серверу (&#8220;<strong><span style="color: #0000ff;">Max Players</span></strong>&#8220;) и обязательно уберите галочку из строки &#8220;<span style="color: #0000ff;"><strong>Local network game</strong></span>&#8221; (иначе никто не сможет подключиться к Вам). Все остальные пункты изменять не нужно, т.к. они изменяются только в конфигурационном файле <span style="color: #0000ff;">listenserver.cfg</span> (этот файл имеет более высокий приоритет, чем графическое меню).</li>
<li>Жмём кнопку &#8220;<span style="color: #0000ff;"><strong>Start game</strong></span>&#8221; внизу окна и ждём окончания запуска сервера.</li>
<li>Даём свой внешний IP-адрес всем, кто должен к Вам подключиться и они  смогут это сделать, набрав у себя в консоли Garry&#8217;s Mod команду <strong><span style="color: #0000ff;">connect IP_вашего_сервера:27015</span></strong> (например, connect 126.65.110.99:27015). Свой внешний адрес можно узнать  тут: <a title="Узнать IP-адрес" href="http://www.2ip.ru/" target="_blank">http://www.2ip.ru</a> (он определится в строке “Ваш IP-адрес“).</li>
<li>Если к Вашему серверу кто-нибудь подключился, значит он успешно  установлен и настроен. Чтобы отключить сервер, достаточно войти в меню Garry&#8217;s Mod клавишей Esc и выбрать пункт &#8220;<span style="color: #0000ff;"><strong>Отключиться</strong></span>&#8221; (&#8220;<span style="color: #0000ff;"><strong>Disconnect</strong></span>&#8220;).  После этого сервер кикнет всех, кто на нём играл и закончит свою  работу.</li>
</ol>
<h2>Мини-FAQ</h2>
<p><span style="text-decoration: underline;"><strong>Q: Как запретить выдавать игрокам оружие (давать только Physgun, грави-ган, тулган и скриншотган)?</strong></span></p>
<p>A: Установите плагин U-Restrict (если Вы устанавливали с помощью наших скриптов, то он уже установлен и автоматически активирован).</p>
<p><span style="text-decoration: underline;"><strong>Q: Как изменить сообщение, которое появляется при заходе на созданный сервер Garry&#8217;s Mod?</strong></span></p>
<p>A: Отредактируйте файл <span style="color: #0000ff;">%Steam%\steamapps\ВАШ_ЛОГИН\garrysmod\garrysmod\data\ulx\motd.txt</span>, где <span style="color: #0000ff;">%Steam%</span> &#8211; путь к установленному клиенту Steam, а <span style="color: #0000ff;">ВАШ_ЛОГИН</span> &#8211; Ваш логин  для входа в Steam. Это обычный HTML-файл.</p>
<p><span style="text-decoration: underline;"><strong>Q: Куда пишутся сокращённые логи админки?</strong></span></p>
<p>A: Логи админки ULX пишутся в <span style="color: #0000ff;">%Steam%\steamapps\ВАШ_ЛОГИН\garrysmod\garrysmod\data\ulx_logs\ДАТА.txt</span>, где <span style="color: #0000ff;">%Steam%</span> &#8211; путь к установленному клиенту Steam, <span style="color: #0000ff;">ВАШ_ЛОГИН</span> &#8211; Ваш логин   для входа в Steam, а <span style="color: #0000ff;">ДАТА</span> &#8211; сегодняшняя дата в формате ММ-ДД-ГГ.</p>
<p><span style="text-decoration: underline;"><strong>Q: Мне нужно выдавать игрокам при подключении к серверу определённое оружие. Как это сделать?</strong></span></p>
<p>A: Как уже писалось выше, нужен плагин U-Restrict для админки (если Вы устанавливали набор плагинов с помощью наших скриптов, он уже установлен). Итак, чтобы выдать нужное оружие, откройте файл <span style="color: #0000ff;">%Steam%\steamapps\ВАШ_ЛОГИН\garrysmod\garrysmod\data\URestrict\loadouts.txt</span> в любом текстовом редакторе и в разделе <strong><span style="color: #0000ff;">loadout</span></strong> после <span style="color: #0000ff;">gmod_tool</span> введите полное имя нужного оружия, например weapon_smg. Это оружие будет автоматически выдано игроку после подключения к серверу, а также после его респауна.</p>
<p><span style="text-decoration: underline;"><strong>Q: При подключении к серверу моего друга, его Garry&#8217;s Mod пытается скачать огромное количество файлов. Что делать?</strong></span></p>
<p>A: Это значит, что у Вашего друга установлены не все плагины, которые установлены у Вас в каталоге /addons/ Garry&#8217;s Mod&#8217;а. Нужно, чтобы Ваш друг установил их и чтобы версии плагинов совпадали. Только тогда ему не придётся ничего качать. Рекомендуем пользоваться нашим набором скриптов по установке и обновлению плагинов.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.easycoding.org/2010/02/22/ustanovka-i-nastrojka-servera-garrys-mod.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Установка плагинов для Garry&#8217;s Mod из SVN</title>
		<link>http://www.easycoding.org/2009/08/25/ustanovka-plaginov-dlya-garrys-mod-iz-svn.html</link>
		<comments>http://www.easycoding.org/2009/08/25/ustanovka-plaginov-dlya-garrys-mod-iz-svn.html#comments</comments>
		<pubDate>Tue, 25 Aug 2009 18:46:26 +0000</pubDate>
		<dc:creator>V1TSK</dc:creator>
				<category><![CDATA[HOWTO]]></category>
		<category><![CDATA[Garry's Mod]]></category>
		<category><![CDATA[subversion]]></category>
		<category><![CDATA[svn]]></category>
		<category><![CDATA[wire]]></category>
		<category><![CDATA[wiremod]]></category>

		<guid isPermaLink="false">http://www.easycoding.org/?p=108</guid>
		<description><![CDATA[Введение
Многие любят работать с Wire Mod, а также StarGate в Garry&#8217;s Mod, но эти плагины принципиально распространяются только через svn (Subversion), т.к. обновляются ежедневно, а иногда и несколько раз в день. К сожалению, операционная система Microsoft Windows &#8220;из коробки&#8221; не умеет работать с svn и для реализации работы нужно устанавливать сторонние программы. Можно использовать следующие [...]]]></description>
			<content:encoded><![CDATA[<h2>Введение</h2>
<p>Многие любят работать с <span style="color: #0000ff;">Wire Mod</span>, а также <span style="color: #0000ff;">StarGate</span> в <span style="color: #0000ff;">Garry&#8217;s Mod</span>, но эти плагины принципиально распространяются только через svn (Subversion), т.к. обновляются ежедневно, а иногда и несколько раз в день. К сожалению, операционная система Microsoft Windows &#8220;из коробки&#8221; не умеет работать с svn и для реализации работы нужно устанавливать сторонние программы. Можно использовать следующие программы:</p>
<ul>
<li><span style="color: #0000ff;">TortoiseSVN </span>- мощный комбайн, позволяющий из контекстного меню Проводника Windows выполнять все операции. Многим не нравится за то, что прописывает сотни записей в системный реестр Windows, в контекстное меню Проводника, может вызывать синие экраны BSOD (Blue Screen Of Death).</li>
<li><span style="color: #0000ff;">SVN</span> &#8211; консольная версия оригинального клиента <span style="color: #0000ff;">svn</span> (Subversion). Работает только из командной строки Windows, что вызывает затруднения у большого количества пользователей.</li>
</ul>
<p>В этом HOWTO я подробно распишу как скачать и установить самые популярные плагины для Garry&#8217;s Mod из svn и приведу работающие скрипты для автоматического скачивания, а также обновления: Wire (WireMod), StarGate, Advanced Duplicator и Wire Extra Plugins, а также всех из зависимостей.</p>
<h2>Что такое SVN?</h2>
<p>По данным из <a href="http://ru.wikipedia.org/wiki/Svn" target="_blank">Википедии</a>, Subversion — это свободная централизованная система управления версиями, созданная в 2000 г. компанией CollabNet Inc.</p>
<p>Официальный сайт: <a href="http://subversion.tigris.org/" target="_blank">http://subversion.tigris.org/</a>.</p>
<h2>Где можно скачать svn-клиент?</h2>
<ol>
<li>Консольный svn (Subversion)-клиент можно скачать с официального сайта: <a href="http://www.collab.net/downloads/subversion/" target="_blank">http://www.collab.net/downloads/subversion/</a> (<span style="color: #0000ff;">CollabNet Subversion Command-Line Client v1.6.5 (for Windows)</span>). К сожалению, чтобы скачать программу, нужно пройти небольшую бесплатную регистрацию на этом сайте (нужно указать правильный адрес электронной почты, т.к. на него придёт ссылка для подтверждения регистрации). После скачивания установите программу в папку по умолчанию, которую предложит программа установки (это позволит Вам вручную не изменять пути в скриптах автоматической установки/обновления). <span style="color: #008000;">Если Вы не хотите регистрироваться на официальном сайте, то можете скачать программу с нашего сайта по этой ссылке: <a href="http://www.easycoding.org/files/CollabNetSubversion-client-1.6.5-2.win32.exe">http://www.easycoding.org/files/CollabNetSubversion-client-1.6.5-2.win32.exe</a> (последняя версия на момент написания этого HOWTO).</span></li>
<li>Графический клиент <span style="color: #0000ff;">TortoiseSVN</span>, встраивающийся в контекстное меню Проводника Windows (Windows Explorer), можно скачать с официального сайта: <a href="http://tortoisesvn.net/downloads" target="_blank">http://tortoisesvn.net/downloads</a>. На этой же странице можно скачать языковые пакеты для программы. Русский язык полностью поддерживается. Подробный HOWTO по работе с Tortoise SVN можно найти <a href="http://www.easycoding.org/2010/02/27/rabota-s-tortoisesvn.html" target="_blank">здесь</a>.</li>
</ol>
<p>Для нашего проекта нужен <span style="color: #0000ff;">1</span> вариант, но если Вы выберите второй, то Вам придётся делать CheckOut и обновлять получившиеся локальные каталоги вручную, что очень долго и неудобно при большом количестве установленных из svn-плагинов.</p>
<h2>Плагины и ссылки для скачивания</h2>
<p>Рекомендуемые для установки плагины Garry&#8217;s Mod:</p>
<ol>
<li><span style="color: #0000ff;">Wire (Wire Mod)</span> &#8211; <a href="https://wiremod.svn.sourceforge.net/svnroot/wiremod/trunk/wire/" target="_blank">https://wiremod.svn.sourceforge.net/svnroot/wiremod/trunk/wire/</a></li>
<li><span style="color: #0000ff;">Wire Model Pack</span> &#8211; <a href="https://wiremod.svn.sourceforge.net/svnroot/wiremod/trunk/wire model pack 1/" target="_blank">https://wiremod.svn.sourceforge.net/svnroot/wiremod/trunk/wire model pack 1/</a></li>
<li><span style="color: #0000ff;">Advanced Duplicator</span> &#8211; <a href="https://wiremod.svn.sourceforge.net/svnroot/wiremod/trunk/Adv Duplicator/" target="_blank">https://wiremod.svn.sourceforge.net/svnroot/wiremod/trunk/Adv Duplicator/</a></li>
<li><span style="color: #0000ff;">Wire Extra Plugins</span> &#8211; <a href="http://svn.dagamers.net/wiremodextras/trunk" target="_blank">http://svn.dagamers.net/wiremodextras/trunk</a></li>
<li><span style="color: #0000ff;">PHX Model Pack</span> &#8211; <a href="https://phoenix-storms.svn.sourceforge.net/svnroot/phoenix-storms" target="_blank">https://phoenix-storms.svn.sourceforge.net/svnroot/phoenix-storms</a></li>
<li><span style="color: #0000ff;">StarGate</span> (содержит основной репозитарий и репозитарии зависимостей):
<ol>
<li><a href="http://svn.daggeringcats.com/stargate/addons/catdaemon_stargate/" target="_blank">http://svn.daggeringcats.com/stargate/addons/catdaemon_stargate/</a></li>
<li><a href="http://svn.daggeringcats.com/stargate/addons/gmdm_resources/" target="_blank">http://svn.daggeringcats.com/stargate/addons/gmdm_resources/</a></li>
<li><a href="http://svn.daggeringcats.com/stargate/addons/stargate/" target="_blank">http://svn.daggeringcats.com/stargate/addons/stargate/</a></li>
<li><a href="http://svn.daggeringcats.com/stargate/addons/stargate_resources/" target="_blank">http://svn.daggeringcats.com/stargate/addons/stargate_resources/</a></li>
</ol>
</li>
</ol>
<p><span style="color: #ff0000;">Внимание! Многие плагины во время скачивания предложат принять их сертификат (это обязательно нужно сделать кнопкой &#8220;<span style="text-decoration: underline;"><strong>Accept always</strong></span>&#8220;), а также запросят логин/пароль. Логин/пароль для скачивания плагинов на всех сайтах установлен <span style="text-decoration: underline;"><strong><span style="color: #ff0000;">anonsvn</span></strong></span>/<span style="text-decoration: underline;"><strong>anonsvn</strong></span> (т.е. и логин, и пароль <span style="text-decoration: underline;"><strong>anonsvn</strong></span>).</span></p>
<p>Администрирование сервера Garry&#8217;s Mod:</p>
<ol>
<li>ULX Admin Plugin (админка) &#8211; <a href="http://ulyssesmod.net/ulx/trunk/" target="_blank">http://ulyssesmod.net/ulx/trunk/</a></li>
<li>U-Lib (необходимые файлы админки) &#8211; <a href="http://ulyssesmod.net/ulib/trunk/" target="_blank">http://ulyssesmod.net/ulib/trunk/</a></li>
<li>U-Restrict (позволяет выбирать какое оружие будет у игрока) &#8211; <a href="http://ulyssesmod.net/URestrict/" target="_blank">http://ulyssesmod.net/URestrict/</a></li>
</ol>
<h2>Установка плагинов в Garry&#8217;s Mod</h2>
<p>Чтобы установить плагин в Garry&#8217;s Mod, достаточно извлечь (&#8220;checkout&#8221;) его каталог в папку <span style="color: #0000ff;">&#8220;C:\Program Files\Steam\steamapps\{ЛОГИН}\garrysmod\garrysmod\addons&#8221;</span>, где <span style="color: #0000ff;">&#8220;{ЛОГИН}&#8221;</span> &#8211; это логин учётной записи Steam, а <span style="color: #0000ff;">&#8220;C:\Program Files\Steam\&#8221;</span> &#8211; это каталог (папка), в который установлен Steam.</p>
<p>Существует два способа установки плагинов из svn:</p>
<ol>
<li>Ручной. Вы должны вручную сделать CheckOut по всем указанным выше ссылкам при помощи любого svn-клиента. Этот способ лишь кажется простым и удобным, т.к. нужно много раз повторять одни и те же действия, а также вручную обновлять каталоги, т.к. плагины постоянно обновляются.</li>
<li>Полностью автоматический (рекомендуется). Этот способ состоит в простом редактировании и запуске уже написанных мною cmd-скриптов установки и обновления набора плагинов (работает во всех версиях Microsoft Windows). Это самый простой, быстрый и удобный способ. От Вас требуется лишь установить консольный svn-клиент (где его можно скачать описано выше в этом HOWTO), открыть файл скрипта и изменить путь к папке плагинов Garry&#8217;s Mod (обычно достаточно вместо LOGIN вписать свой настоящий логин Steam) и путь к консольному клиенту svn (если Вы его изменяли во время установки).</li>
</ol>
<h2>Автоматическая установка плагинов:</h2>
<ol>
<li>Скачиваем и устанавливаем консольный svn-клиент отсюда: <a href="http://www.easycoding.org/files/CollabNetSubversion-client-1.6.5-2.win32.exe">http://www.easycoding.org/files/CollabNetSubversion-client-1.6.5-2.win32.exe</a>, либо с официального сайта (требуется пройти обязательную бесплатную регистрацию): <a href="http://www.collab.net/downloads/subversion/" target="_blank">http://www.collab.net/downloads/subversion/</a> (<span style="color: #0000ff;">CollabNet Subversion Command-Line Client v1.6.5 (for Windows)</span>). Во время установки настоятельно не рекомендуется изменять путь установки программы.</li>
<li><a href="http://www.easycoding.org/files/gmod_install_update_scripts.zip">Скачиваем набор скриптов</a> для установки и обновления набора плагинов.</li>
<li>Открываем файл <span style="color: #0000ff;">svn_fetch.cmd</span> и файл <span style="color: #0000ff;">svn_update.cmd</span> в любом текстовом редакторе и в строке &#8220;<span style="color: #0000ff;">set GMODADDONS=</span>&#8221; вместо &#8220;<span style="color: #0000ff;">LOGIN</span>&#8221; пишем свой настоящий логин Steam. Пример правильной строки: &#8220;<span style="color: #0000ff;">set GMODADDONS=%PROGRAMFILES%\Steam\steamapps\vasya_pupkin\garrysmod\garrysmod\addons</span>&#8220;. Значение переменной <span style="color: #0000ff;">SVNDIR</span> нужно менять только если Вы во время установки изменили папку назначения консольного клиента svn. <span style="color: #ff0000;">Внимание! Проверьте правильность пути к установленному Steam. Если Вы устанавливали Steam в папку по умолчанию (<strong>%SYSTEMDRIVE%\Program Files\Steam</strong>), то Вам достаточно заменить <strong>LOGIN</strong> на свой настоящий логин в строке GMODADDONS, а если в любую другую папку &#8211; замените &#8220;<strong>%PROGRAMFILES%\Steam\</strong>&#8221; на путь к папке установленного стима, а также укажите свой настоящий логин вместо <strong>LOGIN</strong>.</span></li>
<li>Зайдите в папку &#8220;<span style="color: #0000ff;">C:\Program Files\Steam\steamapps\{LOGIN}\garrysmod\garrysmod\addons</span>&#8220;, где <span style="color: #0000ff;">{LOGIN}</span> &#8211; Ваш логин в Steam, а <span style="color: #0000ff;">C:\Program Files\Steam</span> &#8211; путь к установленному Steam и удалите оттуда имеющиеся плагины (в идеале &#8211; удалите всё, что там есть), т.к. старые версии будут конфликтовать с новыми, скачанными из svn:
<ol>
<li>Wire (WireMod);</li>
<li>Wire Model Pack;</li>
<li>Advanced Duplicator;</li>
<li>Wire Extras;</li>
<li>PHX3 (PHX Model Pack);</li>
<li>StarGate:
<ol>
<li>catdaemon_stargate;</li>
<li>gmdm_resources;</li>
<li>stargate;</li>
<li>stargate_resources;</li>
</ol>
</li>
<li>ULX;</li>
<li>U-Lib;</li>
<li>U-Restrict;</li>
</ol>
</li>
<li>Двойным щелчком запускайте файл <span style="color: #0000ff;">svn_fetch.cmd </span>и дождитесь окончания загрузки (окно с прогрессом скачивания не закрывайте; по окончании процесса скачивания оно закроется автоматически).</li>
<li>Установка плагинов окончена. Для их обновления запустите файл <span style="color: #0000ff;">svn_update.cmd</span> и дождитесь окончания обновления. Все плагины будут обновлены до новейших версий автоматически. По окончании обновления окно закроется автоматически.</li>
</ol>
<p>Рекомендуется обновлять плагины (запускать файл <span style="color: #0000ff;">svn_update.cmd</span> не реже двух раз в неделю).</p>
<h3 style="text-align: center;"><a href="http://www.easycoding.org/files/gmod_install_update_scripts.zip">Скачать набор скриптов для автоматической установки/обновления плагинов для Garry&#8217;s Mod</a>.</h3>
]]></content:encoded>
			<wfw:commentRss>http://www.easycoding.org/2009/08/25/ustanovka-plaginov-dlya-garrys-mod-iz-svn.html/feed</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Настройка шифрования GPG в Psi</title>
		<link>http://www.easycoding.org/2009/04/02/nastrojka-shifrovaniya-gpg-v-psi.html</link>
		<comments>http://www.easycoding.org/2009/04/02/nastrojka-shifrovaniya-gpg-v-psi.html#comments</comments>
		<pubDate>Thu, 02 Apr 2009 01:00:20 +0000</pubDate>
		<dc:creator>V1TSK</dc:creator>
				<category><![CDATA[HOWTO]]></category>
		<category><![CDATA[Psi]]></category>
		<category><![CDATA[шифрование]]></category>

		<guid isPermaLink="false">http://www.easycoding.org/?p=99</guid>
		<description><![CDATA[Введение.
В Jabber-клиенте Psi предусмотрена возможность настройки шифрования GnuPG для всех сообщений между клиентами собеседников. Это рекомендуется сделать всем, кто пользуется Psi и передаёт (или получает) конфиденциальную информацию по протоколу XMPP (Jabber), т.к. администраторы Jabber-серверов могут настроить запись логов всех сообщений, отправляемых или получаемых пользователями. После включения шифрования, в логи сервера ничего не запишется, т.к. шифрование [...]]]></description>
			<content:encoded><![CDATA[<h2>Введение.</h2>
<p>В Jabber-клиенте Psi предусмотрена возможность настройки шифрования GnuPG для всех сообщений между клиентами собеседников. Это рекомендуется сделать всем, кто пользуется Psi и передаёт (или получает) конфиденциальную информацию по протоколу XMPP (Jabber), т.к. администраторы Jabber-серверов могут настроить запись логов всех сообщений, отправляемых или получаемых пользователями. После включения шифрования, в логи сервера ничего не запишется, т.к. шифрование осуществляется по типу клиент (открытый ключ для отправки) &#8211; клиент (закрытый ключ для получения). Шифрование GnuPG является полностью свободным и может использоваться на любых компьютерах.</p>
<h2>Настройка шифрования в оригинальной версии Psi.</h2>
<p>Оригинальная версия &#8211; это версия, которую можно скачать с <a href="http://www.psi-im.org/" target="_blank">официального сайта программы</a>. Последней стабильной версией, на момент написания статьи, являлась 0.12.</p>
<ol>
<li>Заходим на официальный сайт Psi и скачиваем дистрибутив программы для свой операционной системы (поддерживаются Windows, Linux и Mas OS).</li>
<li>Если у Вас ОС Microsoft Windows любой версии, то нужно скачать и установить систему шифрования и управления ключами GnuPG &#8211; <span style="color: #0000ff;">GPG4Win</span> с <a href="http://www.gpg4win.org/download.html" target="_blank">официального сайта</a>. Скачивайте <span style="color: #0000ff;">Light</span> версию 1.1.4 (это последняя стабильная версия на момент написания статьи) или новее. P.S. Если у Вас Linux, то скачивать ничего не нужно, т.к. свободная реализация GPG уже имеется в Вашем дистибутиве.</li>
<li>Сначала устанавливаем <span style="color: #0000ff;">GPG4Win</span>, запустив скачанный файл вида <span style="color: #0000ff;">gpg4win-light-1.1.4.exe</span> на исполнение. <span style="color: #ff0000;">Внимание! Установить GPG4Win необходимо строго в папку по умолчанию</span>: <span style="color: #0000ff;">C:\Program Files\GNU\GnuPG</span>, где <span style="color: #0000ff;">C:\</span> &#8211; системный диск, на котором установлена ОС Windows.</li>
<li>Настраиваем GPG4Win:
<ol>
<li>Нажимаем &#8220;<span style="color: #0000ff;">Пуск</span>&#8221; &#8211; &#8220;<span style="color: #0000ff;">(Все) Программы</span>&#8221; &#8211; &#8220;<span style="color: #0000ff;">GnuPG For Windows</span>&#8221; &#8211; &#8220;<span style="color: #0000ff;">GPA</span>&#8220;.</li>
<li>В открывшемся окне, предлагающем сгенерировать новую ключевую пару, нажимаем &#8220;<span style="color: #0000ff;">Generate key now</span>&#8220;. Запустится мастер, который сделает несколько шагов:
<ol>
<li>В поле &#8220;<span style="color: #0000ff;">Your name</span>&#8221; вводите своё имя латинскими буквами (можно ник) и жмите &#8220;<span style="color: #0000ff;">Forward</span>&#8220;.</li>
<li>В &#8220;<span style="color: #0000ff;">Your Email Address</span>&#8221; вводите свой JID (Jabber ID вида <span style="color: #0000ff;">имя@jabber-сервер</span>, например, имя@jabber.ru, имя@jabber.org и т.п.).</li>
<li>В &#8220;<span style="color: #0000ff;">Passphrase</span>&#8221; и &#8220;<span style="color: #0000ff;">Repeat Passphrase</span>&#8221; нужно придумать и ввести собственный пароль. Пароль будет спрашиваться каджый раз при подключении к Jabber-серверу.</li>
<li>Делаем (&#8220;<span style="color: #0000ff;">Create Backup copy</span>&#8220;) или отказываемся делать (&#8220;<span style="color: #0000ff;">Do it later</span>&#8220;) резервную копию ключа шифрования GPG. Лучше сделать копию ключей и поместить на сменный носитель.</li>
<li>Жмём &#8220;<span style="color: #0000ff;">Apply</span>&#8221; и ждём примерно 1-2 минуты (зависит от мощности центрального процессора и сложности пароля) до окончания генерации ключевой пары. По окончании, если Вы выбрали создание резервной копии, то можете её сохранить на сменном носителе.</li>
</ol>
</li>
<li>После успешного создания новой ключевой пары, в окне &#8220;<span style="color: #0000ff;">GNU Privacy Assistant</span>&#8220;, Вы увидите свой ключ. Теперь нужно получить его открытый ключ чтобы в дальнейшем передать собеседникам в Psi. Выделите его щелчком левой кнопки мыши и нажмите на панели инструментов кнопку &#8220;<span style="color: #0000ff;">Export</span>&#8221; и сохраните ключ с любым именем, но с расширением <span style="color: #0000ff;">asc</span>.</li>
<li>Передайте свой открытый ключ, сохранённый на этапе 3, собеседникам, с которыми Вы хотите общаться по защищённому каналу в Psi любым способом (через электронную почту, jabber, icq и т.д.).</li>
<li>Импортируйте ключ собеседника, который сгенерировал его таким же способом (пункты 4.1 &#8211; 4.3) кнопкой &#8220;<span style="color: #0000ff;">Import</span>&#8221; и указанием файла с открытым ключом собеседника.</li>
<li>Если ключ собеседника также появился в списке, жмите &#8220;<span style="color: #0000ff;">File</span>&#8221; &#8211; &#8220;<span style="color: #0000ff;">Quit</span>&#8221; для выхода из оболочки.</li>
</ol>
</li>
<li>Устанавливаем и запускаем программу Psi, скачанную на 1 шаге (если она ещё не установлена), подключаем уже имеющуюся учётную запись для того JID, для которого мы создали ключевую пару.</li>
<li>Открываем настройки аккаунта через <span style="color: #0000ff;">меню Пси</span> (находится внизу окна с эмблемой программы) &#8211; &#8220;<span style="color: #0000ff;">Аккаунты</span>&#8221; &#8211; <span style="color: #0000ff;">выбираем имя</span> своего аккаунта и жмём кнопку &#8220;<span style="color: #0000ff;">Изменить</span>&#8221; (эти же настройки откроются автоматически после выбора опции &#8220;<span style="color: #0000ff;">Использовать имеющуюся учётную запись</span>&#8221; во время первого запуска), переходим на страницу &#8220;<span style="color: #0000ff;">Подробности</span>&#8221; и жмём кнопку &#8220;<span style="color: #0000ff;">Выбрать ключ&#8230;</span>&#8220;. Выбираем из списка свой закрытый ключ и жмём <span style="color: #0000ff;">OK</span>. Если будет запрошен пароль для этого ключа, то вводим. Теперь для этой учётной записи ключ шифрования задан.</li>
<li>Подключаемся к Jabber-серверу и вводим пароль на свой закрытый ключ GnuPG (пароль будет спрашиваться при каждом подключении).</li>
<li>Выбираем в своём ростере (списке контактов) собеседника, с которым нужно настроить защищённый канал, жмём по нему правой кнопкой мыши и выбираем &#8220;<span style="color: #0000ff;">Присвоить ключ OpenPGP</span>&#8220;. Если появится предупреждение, то жмём на &#8220;<span style="color: #0000ff;">Выбрать ключ вручную</span>&#8221; (обычно предупреждений быть не должно). Выбираем из списка открытый ключ собеседника, который был импортирован на этапе 4.5 данного HOWTO и жмём &#8220;<span style="color: #0000ff;">OK</span>&#8220;.</li>
<li>Открываем окно беседы с этим собеседником и жмём кнопку с замком &#8220;Переключить шифрование&#8221; (находится возле кнопки для вставки смайликов в сообщение) и отправляем любое сообщение собеседнику. После этого в беседе появится сообщение &#8220;Шифрование включено&#8221;. Теперь вся беседа с этим человеком зашифрована и никто её не сможет расшифровать и прочитать. <span style="color: #ff0000;">Внимание! После каждого перезапуска клиента Psi кнопку &#8220;Переключить шифрование&#8221; нужно нажимать повторно, т.к. она почему-то отключается.</span></li>
</ol>
<h2>Настройка шифрования в Psi Portable.</h2>
<p>Psi Portable &#8211; это особая сборка программы Psi для запуска со сменных накопителей. Все файлы программы, ключи шифрования, настройки и журнал сообщений хранятся на сменном носителе. Подробнее об этой версии можно <a href="http://www.easycoding.org/2009/03/13/delaem-sobstvennuyu-sborku-psi-portable.html">прочитать здесь</a>.</p>
<ol>
<li>Выполняем шаги 2 &#8211; 4 (с подпунктами) из &#8220;Настройка шифрования в оригинальной Psi&#8221;.</li>
<li>В Windows 2000/XP/2003 заходим в папку <span style="color: #0000ff;">C:\Documents and Settings\{ИМЯ}\Application Data\gnupg</span>, где <span style="color: #0000ff;">{ИМЯ}</span> &#8211; это имя учётной записи пользователя компьютера, а <span style="color: #0000ff;">C:\</span> &#8211; диск, на котором установлена ОС Windows и копируем всё её содержимое в <span style="color: #0000ff;">PsiData\gpg\</span> Portable-версии.</li>
<li>В Windows Vista и Windows 7 нажимаем &#8220;<span style="color: #0000ff;">Пуск</span>&#8221; &#8211; &#8220;<span style="color: #0000ff;">Выполнить</span>&#8221; и вводим &#8220;<span style="color: #0000ff;">%APPDATA%\gnupg</span>&#8221; (без кавычек). Копируем всё содержимое в <span style="color: #0000ff;">PsiData\gpg\</span> Portable-версии.</li>
<li>Выполняем шаги 6 &#8211; 9 из &#8220;Настройка шифрования в оригинальной Psi&#8221;.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.easycoding.org/2009/04/02/nastrojka-shifrovaniya-gpg-v-psi.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Делаем собственную сборку Psi Portable</title>
		<link>http://www.easycoding.org/2009/03/13/delaem-sobstvennuyu-sborku-psi-portable.html</link>
		<comments>http://www.easycoding.org/2009/03/13/delaem-sobstvennuyu-sborku-psi-portable.html#comments</comments>
		<pubDate>Fri, 13 Mar 2009 15:47:44 +0000</pubDate>
		<dc:creator>V1TSK</dc:creator>
				<category><![CDATA[HOWTO]]></category>
		<category><![CDATA[Portable]]></category>
		<category><![CDATA[Psi]]></category>

		<guid isPermaLink="false">http://www.easycoding.org/?p=82</guid>
		<description><![CDATA[Вступление.
Jabber-клиент Psi является, на мой взгляд, лучшим Jabber-клиентом из всех существующих в настоящее время, однако у него нет официальной Portable-сборки, которая бы могла запускаться с флешек, USB-HDD, iPod и других внешних устройств. В этом HOWTO я подробно опишу как сделать такую сборку самостоятельно, затрачивая на эти цели минимум времени. Отличия нашей сборки Psi Portable от [...]]]></description>
			<content:encoded><![CDATA[<h2>Вступление.</h2>
<p>Jabber-клиент Psi является, на мой взгляд, лучшим Jabber-клиентом из всех существующих в настоящее время, однако у него нет официальной Portable-сборки, которая бы могла запускаться с флешек, USB-HDD, iPod и других внешних устройств. В этом HOWTO я подробно опишу как сделать такую сборку самостоятельно, затрачивая на эти цели минимум времени. Отличия нашей сборки Psi Portable от оригинальной Psi:</p>
<ol>
<li>Не требуется установка. Программа работает на любом компьютере. Все личные данные, настройки и история хранятся на сменном устройстве.</li>
<li>Добавлено шифрование GnuPG (GPG) для всех сообщений в Portable-версии. Все ключи шифрования и необходимые библиотеки хранятся на сменном устройстве вместе с Psi Portable.</li>
<li>Добавлена поддержка русской орфографии в Portable-исполнении. Все словари (для русского и английского языков) хранятся на сменном устройстве.</li>
</ol>
<h2>Создание.</h2>
<ol>
<li>Заходим на сайт <a href="http://www.psi-im.org/" target="_blank">http://www.psi-im.org/</a> и скачиваем последнюю версию программы (на момент написания этого HOWTO последней являлась версия 0.12).</li>
<li>Качаем <a title="Скачать заготовку..." href="http://www.easycoding.org/files/PsiPortable_SelfBuild.7z">заготовку для создания собственной сборки</a> (размер около 10 МБ из-за включения в состав полного словаря русского языка), включающую в себя:
<ol>
<li>GnuPG (GPG) последней версии;</li>
<li>официальные русскоязычные языковые пакеты для Psi, а также для QT4;</li>
<li>русские словари для встроенной системы проверки орфографии (aspell) последней версии;</li>
<li>командный сценарий для запуска Portable-версии программы.</li>
</ol>
</li>
<li>Распаковываем скачанную заготовку в нужную папку на сменном устройстве, например в <span style="color: #0000ff;">ДИСК:\PsiPortable\</span>.</li>
<li>Устанавливаем скачанный на этапе 1 дистрибутив Psi, затем копируем из папки <span style="color: #0000ff;">C:\Program Files\Psi</span> (если программа была установлена в эту папку) всё содержимое в папку <span style="color: #0000ff;">App</span> нашей сборки (файл <span style="color: #0000ff;">uninstall.exe</span> и файлы с расширением <span style="color: #0000ff;">*.url</span> лучше не копировать (в нашей сборке они не нужны и будут только занимать место на диске)). Сразу после копирования удаляем программу Psi через Панель управления &#8211; Установка и удаление программ.</li>
<li>Запускаем файл <span style="color: #0000ff;">psi_launch.cmd</span> из состава сборки и начинаем использовать Psi Portable. Вся конфигурация хранится в каталоге <span style="color: #0000ff;">PsiData</span> и будет создана при первом запуске. В каталоге <span style="color: #0000ff;">PsiData\gpg\</span> хранятся открытые и закрытые ключи для системы шифрования GPG, а также их настройки.</li>
</ol>
<h2>Полезные советы и предупреждения.</h2>
<ol>
<li>Запускайте Psi Portable только файлом <span style="color: #0000ff;">psi_launch.cmd</span>, т.к. этот файл задаёт нужные программе переменные. <span style="color: #ff0000;">Запуск в обход этого файла приведёт к ошибкам и невозможности загрузки настоек, ростера, а также журнала сообщений.</span></li>
<li>Если у Вас установлена Windows 9x (95/98/ME), то файл <span style="color: #0000ff;">psi_launch.cmd</span> нужно переименовать в <span style="color: #0000ff;">psi_launch.bat</span> для правильной работы.</li>
<li>Если Вы уже использовали Psi ранее, то просто скопируйте содержимое папки <span style="color: #0000ff;">C:\Documents and Settings\USERNAME\PsiData</span> (в Windows 9x находится обычно в папке установки Psi, например в C:\Program Files\Psi) в папку <span style="color: #0000ff;">PsiData</span> нашей сборки, где <span style="color: #0000ff;">USERNAME</span> &#8211; логин Вашей учётной записи Windows 2000/XP/2003. Psi Portable во время этих действий не должен быть запущен.</li>
<li>Если Вы использовали GPG под любой платформой, то скопируйте свои открытые/закрытые ключи в папку <span style="color: #0000ff;">PsiData\gpg\</span>.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.easycoding.org/2009/03/13/delaem-sobstvennuyu-sborku-psi-portable.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Установка и настройка слушающего сервера TF2</title>
		<link>http://www.easycoding.org/2009/03/08/ustanovka-i-nastrojka-slushayushhego-servera-tf2.html</link>
		<comments>http://www.easycoding.org/2009/03/08/ustanovka-i-nastrojka-slushayushhego-servera-tf2.html#comments</comments>
		<pubDate>Sun, 08 Mar 2009 18:40:31 +0000</pubDate>
		<dc:creator>V1TSK</dc:creator>
				<category><![CDATA[HOWTO]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[Team Fortress 2]]></category>
		<category><![CDATA[TF2]]></category>
		<category><![CDATA[слушающий сервер]]></category>

		<guid isPermaLink="false">http://www.easycoding.org/?p=77</guid>
		<description><![CDATA[Вступление.
Сегодня решил написать подробную статью об установке и настройке слушающего сервера игры Team Fortress 2. Итак, чем же отличается слушающий сервер игры от выделенного (Team Fortress 2 Dedicated Server):

Слушающий сервер не требует особой настройки и установки модификаций.
Слушающий сервер позволяет одновременно хостить личный сервер и играть в игру. Выделенный сервер не позволяет играть на этом же [...]]]></description>
			<content:encoded><![CDATA[<h2>Вступление.</h2>
<p>Сегодня решил написать подробную статью об установке и настройке слушающего сервера игры Team Fortress 2. Итак, чем же отличается слушающий сервер игры от выделенного (Team Fortress 2 Dedicated Server):</p>
<ol>
<li>Слушающий сервер не требует особой настройки и установки модификаций.</li>
<li>Слушающий сервер позволяет одновременно хостить личный сервер и играть в игру. Выделенный сервер не позволяет играть на этом же компьютере (если всё-таки запустить игру и подключиться к такому серверу, у всех появятся серьёзные лаги, т.к. создаётся дисбаланс между сервером и клиентов при обращении к CPU (процессору)).</li>
<li>Слушающий сервер &#8211; это практически тот же Dedicated Server, но имеющий следующие недостатки (хотя достоинств больше):
<ol>
<li>Администратором является только тот, кто создал сервер. Управление осуществляется через консоль управления сервером (консоль игры, вызывается клавишей &#8220;тильда&#8221;; нужно включить консоль управления в настройках клавиатуры игры).</li>
<li>Если администратор (создатель) отключится от сервера, то все клиенты, подключившиеся к нему, будут кикнуты автоматически. Сервер будет остановлен.</li>
<li>Включена принудительная проверка учётных записей Steam, т.е. с пираток на такой сервер  зайти не удастся.</li>
<li>На слушающий сервер нельзя установить SourceMod и другие админ-плагины.</li>
</ol>
</li>
<li>Слушающий сервер запускается прямо из главного меню игры (там же указывается максимальное число игроков).</li>
<li>Все настройки такого сервера хранятся в файле <span style="color: #0000ff;">listenserver.cfg</span>.</li>
</ol>
<h2>Техническая часть.</h2>
<ol>
<li>Чтобы к Вам могли подключаться клиенты, Вы должны иметь &#8220;белый&#8221; IP-адрес, т.е. видимый из Интернета. Создание сервера с &#8220;серым&#8221; IP, либо с жёстким NAT&#8217;ом провайдера не имеет смысла, т.к. подключиться к такому серверу никто не сможет.</li>
<li>Сервер запускается на порту <span style="color: #0000ff;">27015</span>, поэтому если у Вас ADSL, вы должны пробросить этот порт по протоколу <span style="color: #0000ff;">UDP</span> в настройках своего роутера (модема).</li>
<li>На сервере главное &#8211; скорость отдачи от Вас клиентам, а также мощность процессора Вашего компьютера. На ADSL максимальная отдача может составлять около 780 Кбит/с &#8211; 1 МБит/с (на ADSL с модуляцией AnnexM (такая разновидность встречается крайне редко) &#8211; 3 Мбит/с). Если у Вас тариф на 256 КБит/с, то к Вам могут подключиться 6 клиентов. Если 512 &#8211; 10-12 клиентов, если 1 Мбит и более (ADSL) &#8211; 18 клиентов, кабель без NAT &#8211; 23 клиента (максимум для слушающего сервера). В соотвествие с этими параметрами Вы должны настроить значение переменной &#8220;<span style="color: #0000ff;">Максимальное число игроков</span>&#8221; во время создания сервера. Если Ваш канал или процессор не будут выдерживать такое количество подключившихся игроков, у всех появятся лаги.</li>
</ol>
<h2>Настройка и подготовка к запуску.</h2>
<ol>
<li>Устанавливаем Steam и игру Team Fortress 2 (если они ещё не установлены).</li>
<li>Запускаем игру, ждём полной загрузки и выходим из неё (это нужно только если выполнялся шаг 1 для создания файлов базовой конфигурации).</li>
<li>Открываем &#8220;Мой компьютер&#8221; и переходим в папку &#8220;<span style="color: #0000ff;">C:\Program Files\Steam\SteamApps\{ВАШ_ЛОГИН}\team fortress 2\tf\cfg</span>&#8220;, где <span style="color: #0000ff;">{ВАШ_ЛОГИН}</span> &#8211; логин входа в Steam, а C:\Program Files\Steam\ &#8211; путь куда установлен Steam. Если Steam установлен в другую папку или диск, то его нужно откорректировать. В этой папке лежат файлы настроек игры TF2, в том числе и слушающего сервера.</li>
<li>Качаем и распаковываем <a href="http://www.easycoding.org/files/easycoding_servercfg.zip">архив с файлами конфигурации</a> в эту папку с заменой существующих файлов. Архив обновляется после выхода серьёзных изменений в игре.</li>
<li>Открываем распакованный файл <span style="color: #0000ff;">listenserver.cfg</span> в любом текстовом редакторе (например, в Блокноте Windows) и делаем нужные настройки (меняем имя сервера, настройки и т.п.). В файле я всё подробно описал какая переменная чем управляет, что включает/выключает, поэтому на этом я останавливаться не буду здесь. <span style="color: #ff0000;">Внимание! Первым делом задайте пароли вместо !!PASSWORD1!! и !!PASSWORD2!!, иначе Ваш сервер могут взломать.</span></li>
<li>Открываем файл <span style="color: #0000ff;">config_arena.cfg</span> в том же текстовом редакторе и меняем имя сервера для режима Арена, а также максимальное число пользователей режима Арена.</li>
<li>Запускаем игру Team Fortress 2, выбираем в главном меню пункт &#8220;<span style="color: #0000ff;">Создать сервер</span>&#8220;. В окрывшемся окне выбираем любую установленную карту, а затем переходим на страницу &#8220;<span style="color: #0000ff;">Игра</span>&#8221; и устанавливаем &#8220;<span style="color: #0000ff;">Максимальное число игроков</span>&#8221; (должно быть целым числом от 2 до 24). Остальные параметры не будут играть никакого значения, т.к. игнорируются файлом конфигурации. <span style="color: #ff0000;">Внимание! Не устанавливайте тут пароль, иначе к Вам никто не сможет подключиться.</span> Пароль можно установить уже после запуска игры и подключения первых игроков командой в консоли <span style="color: #0000ff;">sv_password &#8220;your_pass&#8221;</span>, где вместо <span style="color: #0000ff;">your_pass</span> должна идти комбинация латинских букв и цифр. Этот пароль будет запрашиваться у всех, кто захочет подключиться к серверу.</li>
<li>После успешного запуска сервера и Вашего подключения к нему, открываем консоль разработки (вызывается клавишей &#8220;тильда&#8221;) и сразу меняем карту на любую из установленных (лучше на текущую, т.к. это ускорит перезагрузку сервера) командой <span style="color: #0000ff;">changelevel имя_карты</span> (например, changelevel cp_dustbowl). Это действие применит настройки файла listenserver.cfg. Без этого шага к Вам никто не сможет подключиться (на клиентах будет выдаваться сообщение <span style="color: #ff6600;">LAN servers are restricted to local clients</span>). <span style="color: #ff0000;">Этот шаг нужно повторять всегда после запуска слушающего сервера!</span></li>
<li>Даём свой внешний IP-адрес всем, кто должен к Вам подключиться и они смогут это сделать, набрав у себя в консоли TF2 команду <span style="color: #0000ff;">connect IP_вашего_сервера:27015</span> (например, connect 126.65.110.99:27015). Свой внешний адрес можно узнать тут: <a title="Узнать IP-адрес" href="http://www.2ip.ru" target="_blank">http://www.2ip.ru</a> (он определится в строке &#8220;<span style="color: #0000ff;">Ваш IP-адрес</span>&#8220;).</li>
<li>Если к Вашему серверу кто-нибудь подключился, значит он успешно установлен и настроен. Чтобы отключить сервер, достаточно войти в меню игры TF2 и выбрать пункт &#8220;<span style="color: #0000ff;">Отключиться</span>&#8220;. После этого сервер кикнет всех, кто на нём играл и закончит свою работу.</li>
</ol>
<h2>Переменные, которые можно задавать прямо во время игры.</h2>
<ul>
<li><span style="color: #0000ff;">sv_alltalk 1</span> &#8211; включение (1) или отключение (0) общего голосового чата.</li>
<li><span style="color: #0000ff;">tf_weapon_criticals 1</span> &#8211; включение (1) или отключение (0) критов.</li>
<li><span style="color: #0000ff;">mp_allowspectators 1</span> &#8211; включение (1) или выключение (0) зрителей.</li>
<li><span style="color: #0000ff;">sv_password &#8220;your_pass&#8221;</span> &#8211; задание пароля, где вместо your_pass должен идти пароль. Кавычки обязательны. Пароль будет запрошен у всех, кто захочет подключиться к Вашему серверу.</li>
<li><span style="color: #0000ff;">sv_password &#8220;&#8221;</span> &#8211; убирает пароль с сервера. К серверу может подключиться любой желающий.</li>
<li><span style="color: #0000ff;">mp_friendlyfire 1</span> &#8211; включает (1) или отключает (0) огонь по своим.</li>
<li><span style="color: #0000ff;">sv_gravity 800</span> &#8211; управляет гравитацией на сервере (800 &#8211; стандартное значение), может быть числом от 0 до 10000. Чем меньше значение, тем меньше гравитация.</li>
</ul>
<p><span style="color: #ff0000;">Внимание! При смене карты все переменные, заданные во время игры, будут автоматически заменены значениями из файла конфигурации сервера!</span></p>
<p>Итак, Ваш сервер установлен и правильно настроен. Если у Вас возникнут вопросы по статье, то <a title="Оставить комментарий..." href="http://www.easycoding.org/2009/03/08/ustanovka-i-nastrojka-slushayushhego-servera-tf2.html#respond">оставляйте комментарии</a> к этому сообщению. Я отвечу на все вопросы. Для того, чтобы оставить свой комментарий, регистрация не требуется.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.easycoding.org/2009/03/08/ustanovka-i-nastrojka-slushayushhego-servera-tf2.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
