Журнал «Компьютерра» №40 от 01 ноября 2005 года, стр. 25

Изменение игрового мира

Для изменения mmorpg-вселенной (количество получаемого опыта, падающих из монстров вещей, количество падающих денег - одним словом, «рейты», а также различные ограничения и модели) нужно манипулировать и серверной, и клиентской частью.

Для примера возьмем популярную «бесплатную» Ragnarok Online. У нее больше всего разработчиков, бесплатных серверов и сторонних программ. В клиенте можно найти пару exe-файлов (первый заведует автоматическим обновлением и кое-какими мелочами, второй отвечает за сам движок игры), пару файлов типа .grf (это архивы, содержащие текстуры, модели, спрайты, карты, звуки, палитры), папочку с музыкой и папочку с настройками. В принципе такой архитектуры придерживаются все разработчики игр. Хотя встречаются игры с одним .exe-файлом и одним архивом (например, лучшая, по мнению посетителей портала mmorpg.com, игра Guild Wars).

Как же изменять мир? В серверной части - путем редактирования файлов настройки, исходного кода эмулятора (разумеется, с последующей компиляцией) и базы данных (однако не всегда в ней находятся какие-либо настройки или параметры, отвечающие за работу эмулятора). Для редактирования файлов настройки на клиентской стороне особых знаний не требуется, ну разве что знание английского языка. Для внесения изменений в исходный код нужно владеть ассемблером и C/Java. Для редактирования БД понадобятся MySQL- или MSSQL-серверы. Можно легально скачать с сайта Microsoft триал-версию MSSQL, которая работает аж 365 (!) дней, причем некоторые товарищи утверждают, что по истечении пробного времени сервер продолжает пахать как ни в чем не бывало. Кроме того, нам потребуются программки типа grf-extractor (коих написано великое множество). С их помощью можно добавлять новые карты, новые спрайты, да вообще все, что угодно. Пожалуй, самое сложное - ввод новых эффектов, но я с подобным трюком не сталкивался. Однако добавление файлов через grf-extractor подходит лишь при начале работы сервера, ведь удаленно редактировать клиенты вы не сможете, да и как это делать, если у вас, допустим, зарегистрировалась хотя бы тысяча человек? Для таких случаев созданы программы автоматического обновления клиентов, позволяющие проверять появление обновлений и загружать их в клиента, непосредственно в файлы-архивы.

Кража официального сервера

Допустим, вы не горите желанием писать свой эмулятор, не хотите использовать чужой, а украденного официального сервера в Сети нет, тогда остается лишь одно - украсть его самому. Правда, ни мне, ни моим знакомым (хотя среди них много хакеров) не известны способы кражи сервера из Сети. Согласно «легенде», сервер LinaAge2 был утащен «во время перезагрузки» одного из выделенных серверов. Говорят, в это время он был перемещен на доступный из Интернета хост, поэтому его и смогли умыкнуть. По мнению Ramsey, единственный способ украсть сервер - скопировать его на носитель: иными словами, нужно иметь знакомого в команде, обслуживающей сервер, или в команде разработчиков. Есть, однако, закрытый для подавляющего большинства российских (да и прочих) пользователей китайский сектор Интернета. «Закрытый» он не потому, что туда нет доступа, просто с китайским у нас пока не так гладко, как с английским. В Поднебесной официальные серверы появляются как грибы после дождя. Там сложилось mmorpg-emu-сообщество, готовое поделиться со «своими» всем, что есть. Практически для любой китайской (и не только) mmorpg можно найти официальный украденный сервер. Именно в Китае впервые появился официальный сервер с закрытого бета-тестирования очередного корейского mmorpg-шедевра Rising Force Online (RF Online).

За воровство сервера вас могут привлечь по статье 272 УК РФ (неправомерный доступ к охраняемой законом компьютерной информации). Наказание, если орудовал один человек, - штраф в размере до двухсот тысяч рублей или в размере заработной платы или иного дохода осужденного за период до восемнадцати месяцев, либо исправительные работы на срок от шести месяцев до одного года, либо лишение свободы на срок до двух лет; если несколько человек - штраф в размере от ста тысяч до трехсот тысяч рублей или в размере заработной платы или иного дохода осужденного за период от одного года до двух лет, либо исправительные работы на срок от одного года до двух лет, либо арест на срок от трех до шести месяцев, либо лишение свободы на срок до пяти лет. Со статьей все более или менее ясно, однако привлечь за содержание частного сервера трудно. Статья 146 УК РФ (нарушение авторских и смежных прав) предусматривает наказание в виде штрафа в размере до двухсот тысяч рублей или в размере заработной платы или иного дохода осужденного за период до восемнадцати месяцев, либо обязательные работы на срок от ста восьмидесяти до двухсот сорока часов, либо арест на срок от трех до шести месяцев. Но она сформулирована невнятно; в ней сказано, что наказание следует при «присвоении авторства (плагиат), если это деяние причинило крупный ущерб автору или иному правообладателю». Допустим, доказать потерю прибыли можно, но как доказать воровство? Достаточно, скажем, убрать с сайта сервера клиент (если он не распространяется открыто, как, например, клиент World of Warcraft), а также, на всякий случай, все логотипы и названия игры в их зарегистрированном виде - и наказывать уже будет не за что. Ведь использование эмулятора не означает воровства интеллектуальной собственности, поскольку он пишется с нуля, а доказать использование краденого официального сервера не представляется возможным. Таким образом, несовершенство российских законов в ИТ-сфере практически развязывает администраторам руки. Иллюстрацией к этому можно считать недавнее признание сайта mp3search.com легальным.

Но, как известно, «за бугром» все по-другому. Общество мгновенно отреагировало созданием множества форумов, где обсуждаются эмуляторы, руководства по его настройке и прочие атрибуты. Blizzard, в свою очередь, повела с этими форумами войну.

Администраторам ресурсов рассылалось письмо с подробной информацией о тех правах и законах, которые они нарушают. Хотя кое-кого все равно привлекли к ответственности. Некоторые добрые люди до сих пор выплачивают «близзам» штрафы от $10 тысяч до $40 тысяч. Под давлением компании был закрыт один из самых крупных форумов Интернета - Blizzhackers, за то, что на нем содержались гайды и ссылки для эмуляторов WAD, а также ссылки на клиент и патчи (на самом деле он переехал на другой адрес, удалив все упоминания о WoW). В России «близзы» давили на один из первых частных серверов для WoW, организованный администраторами сети Enforce (тогда он имел около 20 тысяч зарегистрированных аккаунтов); те, правда, конфликтовать не стали и быстренько свернули деятельность сервера.

Затраты на аппаратную часть

Теперь немного о стартовом капитале. Для начала рассмотрим не покупку сервера, а его аренду на площадке провайдера. Итак, допустим, нам потребуется самый производительный арендуемый сервер (подойдет для LineAge 2 и World of Warcraft, а также для любых популярных проектов). Стоимость аренды в месяц - $199, установка - $60, подключение к Сети - еще полсотни. Оплата производится сразу за два месяца. Получается больше пятисот долларов единовременно лишь за сервер. Далее порядка $20 за домен в зоне .ru. Если вы не хотите нагружать арендованный сервер своим сайтом, то потребуется мало-мальски приличный хостинг, это еще $30. Получается $559 сразу плюс $230 каждый следующий месяц, и это не считая того, что всем, кто у вас работает, нужно платить. Цены абсолютно приемлемые, но если проект не начнет окупаться в первые два-три месяца, вы потеряете солидную сумму.

Теперь вариант с покупкой сервера и размещением на площадке провайдера. Более или менее мощный сервер стоит примерно 90 тысяч рублей. Сюда входят два процессора Xeon 2800 МГц, 1 Mбайт кэша, 800-МГц шина, два винчестера по 36,7 Гбайт Ultra320 SCSI-Wide, два модуля памяти Kingston DDR 1 Гбайт ECC; добавление каждого гигабайта оперативки обойдется еще в 5 тысяч рублей (а ее потребуется ой как много). Преимущество такого выбора - возможность поставить на кон все, что угодно. Покупка собственного сервера - смелый шаг, поскольку, купив его, вы сразу потратите больше $3000, а это больше года аренды сервера, причем от аренды вы можете отказаться в любой момент (например, если проект оказался неудачным), а сервер уже не продать. Как правило, покупать собственный сервер имеет смысл после года успешной работы на арендованной «машине».