Наша попытка сделать бесплатный и бездонатный сервер БК World of Warcraft, и что из этого вышло

Мне хотелось бы рассказать о том, как мы с небольшой командой друзей попытались открыть собственный сервер WoW на версии БК. Пытались сделать мы это только для игроков, за все существование сервера мы не взяли ни с одного игрока ни копейки, и делали сервер также и для самих себя. Именно такой, на каком нам бы самим хотелось играть.

Наша попытка сделать бесплатный и бездонатный сервер БК World of Warcraft, и что из этого вышло

Так как сервер наш уже закрыт, тут я пишу чтобы рассказать что по итогу у нас получилось и как мы к этому пришли. Ну и думаю людям будет интересно узнать об отношении игроков к бесплатным серверам, об отношении команды поддержки и программистов к своей работе, об отношении других серверов к своим “конкурентам”.

Единственное, я не буду писать название других серверов или стримеров/каналов. Чтобы не делать им рекламы.

Наша попытка сделать бесплатный и бездонатный сервер БК World of Warcraft, и что из этого вышло

Создание команды и начало работы.

Изначально команда состояла из нескольких друзей, которые которые знали друг друга в реальной жизни, или виртуальной. Пару человек долгое время знали друг друга по совместной игре в вов, начиная с БК на пиратках и оффе, заканчивая Легионом на оффе. Оказалось что мы из одного города - Минск. Играли на городских пиратках, знаем многих игроков. В один момент мы поняли, что нам стало неинтересно играть на оффе, не потому что считаем будто офф умер, скорее просто стало скучно. Поэтому в переписках мы дошли до того, что хотелось бы вернуться в БК. Стали искать пиратки, и не нашли ни одну, на которой бы смогли осесть. Вообще БК было три штуки работающих. Но одна их них была на бешеных рейтах, что по-нашему мнению вообще убивает вов. Вторая - какая-то поделка из смеси Лича и БК, идея конечно хорошая, но это не вов. Больше походит на игру по мотиву вова. И третья вроде приличная, но без русской локализации. И как оказалось позже - на всех пиратках присутствовал лютый донат. Тогда мы поговорили с друзьями, обсудили все - и решили открыть свой собственный сервер, именно такой, каким мы хотели бы его видеть.

1. Сделать русскую локализацию на все что сможем.

2. Сделать сервер без доната.

3. Сделать именно чистый сервер и починить на нем все что только сможем.

Эти три кита и легли в основу нашей идеи. По составу команды на то время было так: У нас присутствовало несколько человек, работающих в такой фирме, как SK Hynix. Чем она занимается вы можете сами поискать в интернете. На первое время три человека было оттуда. Так же был человек, работающий в сфере сайты/базы данных. И человек, работающий с людьми, который стал лицом и голосом команды.

Ни у одного из нас не было опыта работы с серверами вообще, но все хотели его получить.Конечно мы сразу знали что проекты тяжело делаются с нуля, и договорились что любой из нас может в любой момент прекратить работу, т.к. все мы делали на добровольных началах, без зарплаты, в личное время. Придумали название команды и будущего реалма. Создали описание проекта, тест-план для будущей верификации, разделили участки работы. После этого решили встретиться в реале и познакомиться тем, кто еще не знал друг друга. Встретились, назначили даты ежемесячных митингов, решили кто будет управлять задачами и проектом в целом (что-то подобное проект-менеджеру, но естественно без реальной власти, т.к. тут не крутятся деньги). Также договорились что решения по развитию будем принимать через голосование. По затратам содержание сервера не дорогостоящее, тем более что нас было 5 человек. У некоторых сходить выпить пива требует больше вложений чем нам на аренду хостинга. Так что проблем в содержании не было. Работа стартовала в апреле 2018 года.

Наша попытка сделать бесплатный и бездонатный сервер БК World of Warcraft, и что из этого вышло

Донат.

Только подумайте, как сильно люди уважали сами себя и свое личное время, что после продажи одного сета одному человеку они ушли с сервера вообще. Не стали даже обсуждать что-то, требовать удалить сет, а просто ушли.

По поводу доната есть отдельный разговор. Именно наличие доната на всех пиратках и послужил толчком к тому, чтобы открыть собственный сервер. Поясню - мы активно играли на пиратках в те времена, когда они были больше похожи на мелкие эмуляторы, демо-версии официального сервера (2004-2008 года с перерывами на офф). Там не работало практически ничего, были раз в 15 минут краши, очень мало игроков - от 5 до 50. Но никогда никто даже не пытался ввести донат. Мы даже не могли представить себе как можно на приватном сервере что-то задонатить. Был один случай в 2008 году, когда на сервере с онлайном под 80 человек админ подарил другу (или продал?) сет т5. При том что на сервере только одна гильдия поставила на освоение т4 и 2 куска т5. В итоге весь сервер целиком, в полном составе написал админу на форуме какой-то там текст, подписался в комментах и ушел на другой сервер.

Только подумайте, как сильно люди уважали сами себя и свое личное время, что после продажи одного сета одному человеку они ушли с сервера вообще. Не стали даже обсуждать что-то, требовать удалить сет, а просто ушли. Поэтому для нас немыслимо играть где-то, где можно купить что-нибудь. Мы конечно понимаем что сервер требует денег и времени для содержания, но это должно быть на добровольных началах, а не продажа шмота. Ведь продажа убивает весь смысл играть. Зачем что-то фармить и осваивать, если можно за пару копеек купить? Наличие сета всегда в БК определяло позицию игрока в игровом мире. Все игроки знали, что такая-то гильдия может одеть своих членов в т4, или в т5. А покупка?

Наша попытка сделать бесплатный и бездонатный сервер БК World of Warcraft, и что из этого вышло

Начало работы над проектом.

Первое что требовалось для работы - это ядро. Выбор ядра определял за собой выбор платформы сайта и баз данных. Покупку сборок мы отмели на первом же собрании, т.к. сборки невозможно править, и на сборках открыто 95% серверов мира. Было решено сделать что-то уникальное со своими фиксами. Поэтому за основу мы решили взять открытые исходники для ядер вов-серверов, и на их основе разрабатывать свое собственное ядро. Исходники распространяются бесплатно, любой человек может взять их и работать над ними. Проблема была в том, что никто из нас не разбирался в ядрах серверов. Поэтому пришлось обучаться. Первые месяцы у того человека (а это я), который взял на себя ответственность за ядро уходило от 8 до 10 часов в день на работу над ядром. Один баг мог правиться неделями, какие части ядра за что отвечает никто не знал. После подсчетов оказалось, что на ядро уходит времени в неделю больше чем вообще на основную работу. Но и другие люди не сидели без дела. Настраивали веб-сервера на будущем хостинге, работали с античитами всех видов, искали бесплатные версии сайта/форума/личного кабинета, запустили группу Вконтакте. За ядро взялся я. Через несколько месяцев работы над ним, само ядро вылилось в отдельный проект. Т.к. собственные наработки и фиксы сделали его несовместимым с исходниками открытых ядер. Мы были морально готовы к этому, хотя было немного страшно остаться без возможности взять готовые фиксы из репозиториев открытых ядер. С другой стороны у нас стали появляться такие рабочие вещи, которых не было на пиратках запущенных на открытых ядрах, они были лишь у тех, кто делает ядра сам. Первая такая разработка стала квест на набеги кентавров в Барренсах где происходит сражение с лидером кентавров, а после победы над ним появляется флаг. Игроки достаточно быстро выяснили, что этот квест сломан. Квесты с нуля никто из нас еще не писал. А это был не просто квест, это был целый скрипт. Который должен был стартовать, не должен был зависать. Который должен был уметь завершаться, проваливаться или перезапускаться. Ничего этого мы делать не умели. Огромное количество времени (по сравнения со временем на такие же разработки через пару месяцев) ушло на разработку такого скрипта. Несколько недель, за которые я научился делать все описанное выше. Шло ЗБТ, и этот скрипт стал первым написанным и отработавшим.

Наша попытка сделать бесплатный и бездонатный сервер БК World of Warcraft, и что из этого вышло

Закрытое Тестирование.

Потом они открыли сервер под другим именем, почему-то не додумались сменить IP адреса, на втором сервере они опять ввели донат, собрали его с нескольких десятков людей и снова закрылись. Потом настало время третьего сервера

Вообще ЗБТ было интересным временем. В первый же день нас стали атаковать ДОС атакой люди с другого сервера. После общения с ними оказалось что они хотят открыть свой собственный сервер и сделать там настолько сумасшедший донат, что у нас отвисли челюсти. Имея купленную сборку и 10-15 человек онлайна они уже ввели донат вообще на все что есть в игре прямо со старта. Чтобы не править сломанные квесты и скрипты, они сделали огромные рейты. Чтобы не править боссов и рейды, они ослабили их, но при этом если игроки убивали босса, они отбирали у них лут и всеми силами заставляли покупать вещи и их магазине.

Почему они посчитали наш сервер конкурентом мне неизвестно, хоть мы и говорили что у нас совсем другая стратегия развития и игроки играющие у нас все равно к ним не пойдут, они продолжали тупо делать ДОС атаки, и даже как-то заказали ДДОС. С другой стороны такие атаки помогли нам разобраться в системах защиты, проверить защиту ядра, что-то дописать. Защитить операционную систему, переделать связку веб-серверов и выбрать хостинг с защитой канала от ДДОС. Так что в этом были и плюсы. Забегая вперед расскажу что владельцы этого сервера продолжали мешать нам несколько месяцев, и на вопросы почему они не пытаются влезть в работу открытых серверов где играют тысячи людей, они просто отмалчивались. Когда мы вышли на их адреса вплоть до города-улицы-оператора связи и номером домов, оказалось что это 18-20 летние студенты-вчерашние школьники, и вообще вов им был не интересен. Лишь деньги. Хоть один из наших ГМов был из того же города, мы решили просто не обращать на них внимания. Через пару месяцев они закрыли свой сервер, донат конечно не вернули, а вопросы в своей группе ВК просто удаляли и банили людей кто честно описал все что о них думают. Потом они открыли сервер под другим именем, почему-то не додумались сменить IP адреса, на втором сервере они опять ввели донат, собрали его с нескольких десятков людей и снова закрылись. Потом настало время третьего сервера, что там происходит сейчас я уже не интересовался.

Наша попытка сделать бесплатный и бездонатный сервер БК World of Warcraft, и что из этого вышло

Команда поддержки.

Начиная с ЗБТ мы встали перед фактом, что сами не можем проверять рабочие и нерабочие вещи сервера. Вплоть до того, что даже не можем тестировать собственные исправления. Нам понадобились люди, которые будут этим заниматься. Тут мы решили привлечь к этому ГМов сервера и стали их набирать. Конечно мы ничего не могли людям предложить, т.к. сами не планировали зарабатывать деньги на проекте. Поэтому искали таких же увлеченных вов людей, как и мы сами. Один из них начиная с ЗБТ стал помогать нам во всех сферах проекта, куда мог дотянуться. Друг друга мы уже знали давно, играли вместе несколько лет. Через несколько месяцев он стал руководителем всей команды ГМов и оставался им до закрытия. Чтобы искать баги и заниматься их правками мы решили как можно быстрей открыть ОБТ, чтобы игроки могли репортить баги, а ГМы проверять фиксы. Так мы и сделали. А по опыту разработки таких серверов другими командами мы уже знали, что нужно будет около двух-трех лет постоянной работы над ядром и базами, иначе сервер будет очень сырой. Игроки же, не понимая что мы вообще делаем, постоянно бомбили нам сообщениями о том что нет онлайна, и играть тут они не хотят. Но работа двигалась.

Локализация.

Два человека из нашей команды стали работать над локализацией начиная с открытия ОБТ. Первое что мы пытались сделать, это найти готовую локализацию. Но оказалось что её не существует в природе. Были локализации Лича, но не БК. И БК сервера просто ставили локализацию Лича на свои базы. Однако оказалось, что между 3.3.5 и 2.4.3 были отличия. Близзард поменяли квесты, поменялись диалоги, появились новые персонажи. А локализация из Лича все портила. Нашей ошибкой стало то, что мы попытались поставить такую локализация сразу же на наше ядро. Результат - часть неверного перевода оставалась еще долго, мы до конца работы сервера искали ошибки и исправляли их. Но и локализация Лича оказалась неполной. Несколько сотен квестов к примеру было не переведено вообще. За переводы сели люди, знающий английский язык довольно неплохо, ведь по работе мы бываем в командировках в той же Калифорнии. К сожалению, неверная локализация Лича уже легла на базы, и мы не могли отследить ошибочные места своими силами. Это уже делали игроки в процессе игры на сервере. Но все остальное мы перевели за несколько месяцев. Сейчас в нашей базе есть переведенные квесты, которые до сих пор не переведены на русский язык на wowhead. Разработка локализаци стала одной из вещей, которые нас отличали от других серверов. Нигде в мире вы не найдете сервер с полным переводом баз данных БК. Может быть кто-то еще будет переводить свои базы, однако тут мы стали первыми. Кстати, владельцы нескольких серверов уже писали нам и задавали вопросы, где мы взяли локализацию Никто не хотел верить что мы сделали её сами, все считали что мы её где-то скачали и нажатием одной кнопки поставили на базы. Однако для качества надо работать. Нельзя получить все нажатием кнопки.

Наша попытка сделать бесплатный и бездонатный сервер БК World of Warcraft, и что из этого вышло

Открытое Тестирование.

На старте ОБТ мы уже имели некоторые наработки. Во-первых завершали на то время локализацию. Во-вторых у нас уже был рабочий сайт, веб-сервера и настроенный хостинг. В-третьих была команда ГМов, которая помогала нам в разработке. Всеми силами со стартом ОБТ я взялся за работу над ядром. Тут случился первый случай выхода людей из команды. Т.к. к октябрю лишь один человек серьезно работал над ядром, не было смысла другим проходить тот же путь. Зачем новому человеку тратить неделю на разбор работы чего-то, если я уже умею это делать и могу исправить поломку за полчаса? Незачем. Поэтому один из инженеров ушел, ему стало скучно. Интересной работы для него не было, по второму кругу разбирать ядро не хотелось. Так же ушел человек, занимающийся сайтом.

Все что он мог сделать он на то время сделал, а в программировании ядра не мог разобраться из-за отсутствия навыков (над сайтом работал мой брат, хоть он и ушел из команды, но продолжал по моей просьбе помогать править некоторые баги и фичи сайта). Нас стало меньше. Однако несколько людей к нам присоединились. К примеру один человек сделал нам форум, поднял на нем все темы, помог администрировать его. И все он делал в свое личное время, зная заранее что не получит денег за работу. Он даже поставил форум на отдельный хостинг совершенно бесплатно. Еще несколько человек помогали нам удаленно работать над какими-то задачами, которые требовали опыта и времени. А у них этот опыт был, им было интересно. Один из них был из Германии, второй из Австралии. Это была работа над искусственным интеллектом мобов. А также работа над срабатываниями встроенного в ядро античита. За все это им огромное спасибо, хотя конечно они этого не услышат.

Наша попытка сделать бесплатный и бездонатный сервер БК World of Warcraft, и что из этого вышло

ИИ.

Искусственный интеллект мобов я дорабатывал совместно с более опытными людьми. Вкратце расскажу как они работают. У каждого моба есть определенный режим, в котором моб функционирует. Как только он вступает в бой, он переходит в этот режим. Таких режима у нас было три - обычный режим, называем его "мили", режим "охотника" и режим "кастера". В обычном режиме мобы работали у нас всегда. В таком режиме они кастут свои спеллы и абилки в игроков. Выполняют шаблон общего поведения. Такие мобы есть везде, на любом сервере. Однако нам помогли реализовать режим кастера. В этом режиме мобы хоть и могут подбегать к игроку, однако они будут стараться при возможности атаковать игрока издалека рдд абилками. Таких мобов было на сервере довольно много. Вишенку этих мобов мы реализовали чуть позже: они могли не просто атаковать игрока издалека, но так же и разрывать дистанцию. Т.е. если моб в таком режиме законтролит игрока, к примеру приморозит его в земле, то он убежит и станет атаковать игрока опять издалека. Такой режим сделал игру намного интереснее. Мобы теперь больше походили на игроков. Конечно туповатых игроков, но все же. Гораздо позже был введен режим охотника. В таком режиме моб никогда не будет подбегать к игроку сам, если может атаковать его издалека. Это его основное отличие от мобов-кастеров. Такие же мобы есть и на оффе, очень часто они бесят аое-фармеров, т.к. не сходятся в общую группу и не попадают под аое. Их у нас было не много на сервере, однако на каче они обязательно встречались (и иногда репортились игроками как баги). Единственная возможность для мили класса войти в мили дистанцию с таким мобом - это спрятаться за текстуру карты, тогда вы попадете в ЛОС и моб сам подбежит к вам. Просто сбить ему каст, как мобу-кастеру, недостаточно. Ну либо бегите к нему сами и убивайте.

Конец 2018 года.

В период до Нового Года, люди включались в нашу команду, и покидали её через какое-то время. Из начального состава нас оставалось трое. Где-то за несколько месяцев до Нового Года к нам присоединился человек с огромным опытом работы над ядрами, как оказалось он был один из основных разработчиков команды, которая разрабатывала открытые исходники ядер. Я не знаю зачем ему было с нами работать, однако он помог. Он учил меня, тоже бесплатно и в свое личное время, часто ночами по дискорду, с часу до четырех утра. Объяснял как и что работает. Подарил свою разработку античита, которым мы заменили наш первый античит. Так же помог встроить в ядро Варден, которого не было в нашем ядре вообще. Хоть варден и не был готов к запуску, но он теперь у нас был. Он работал в системой движения мобов и довел ее практически до совершенства, теперь к примеру мобы перестали в страхе бегать через стены, теперь маги перестали проваливаться блинками под землю, теперь воины перестали постоянно проваливаться рывками под землю. Конечно мелкие баги остались, но большой процент неверной работы пофиксился. После Нового Года этот человек ушел, однако он очень сильно нам помог. За что ему так же огромное спасибо, может быть он даже его услышит.

2019 год.

К этому времени еще один из людей, кто с нами начинал работать ушел. Ему также стало скучно, по ядру он уже не мог угнаться за мной, а другой работы лично для него не стало. Тут мы столкнулись с одной проблемой. Из-за постоянного обновления ядра и его доработок, какие-то вещи стали снова ломаться, и их приходилось переделывать по второму и третьему кругу. Я пришел к выводу, что дальше так работать невозможно. Пора заморозить текущую версию ядра хоть на какое-то время, иначе мы так и будем бегать как белки в колесе. Поэтому я сделал еще одно массовое обновление ядра и объявил core-freeze. Заморозку ядра от новых доработок. Теперь мы смогли заняться какими-то вещами, которые бы поправили наборы типовых багов, либо добавили рабочие фичи на работающее ядро. К сожалению как позже мы узнали, один серьезный баг был пропущен. Причем баг такого уровня, который очень тяжело воспроизвести. И он не крашил ядро, а приводил к его зависанию. Из-за чего ядро не перезапускалось, краш-логов не было, и ошибка не отслеживалась. Но об этом чуть позже. После заморозки ядра мы сделали акцент на комфортной игре людей на ядре.

Первое что мы сделали, это доработали варден. Теперь он умел отслеживать читы и выдавать баны за них.

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

Третье - система "Пригласи друга". По сути эта система повторяет подобную от Близзарда времени БК. Тот кто подключается к ней, имеет x3 опыт, возможность призвать друга и себе раз в час и поделиться уровнями. Так мы смогли решить проблему ускорения прокачки игроков, но при этом не поднимать рейты и не вводить продажу апов за донат. Четвертое. Работа с аурами и стаками от них. Было много ошибок, в результате которых игроки могли стакать на себе к примеру несколько одинаковых баффов. Так же могли делать и мобы.

Наша попытка сделать бесплатный и бездонатный сервер БК World of Warcraft, и что из этого вышло

Игровые ивенты.

Тогда мы провели исследования и обнаружили, что нет серверов где бы он работал как положено. Возможно за исключением одного-двух. На тех серверах где он якобы работал - он был ослаблен настолько, что игроки могли даже выйти из игры после его запуска, а через 10 минут зайти и он не был провален. Объекты не требовалось перезапускать, демонов практически не было, а так где были, один были ослаблены так, что убивались одним-двумя игроками

Показательный пример разработки игрового ивента стал ивент, позволяющий получить чернокнижнику коня на 100% к скорости. Для тех кто не знает что там происходит: Вы приходите в подземелье. Группой в 5 человек. Ваш чернокнижник запускает ивент. Появляется демон, который расставляет по кругу Колокол, Колесо и Свечу. И начинается ритуал вызова демонического коня. В центре круга чернокнижник должен поддерживать ритуал в активном состоянии, а группа должна оборонять его. Ведь появляется множество порталов из которых на игроков постоянно нападают демоны. Вокруг круга загораются одна за одной руны. И как только все руны зажгутся - откроется портал. Во время работы ивента чернокнижник должен поддерживать активными Колокол, Колесо и Свечу. Если объект гаснет - он должен его перезапустить. Если гаснут все три, то ивент провален и его нужно делать заново. После того как появляется портал - из него выходит демонический конь, которого группе нужно победить. Во время боя с конем, так же к нему на помощь выходит и хозяин коня - крупный демон. После победы чернокнижник порабощает дух коня и получает в награду ездовое животное. Ивент с точки зрения разработки довольно сложный. И занял около недели работы с тем уровнем навыков и опыта, который был у меня на момент его разработки. Плюс ко всему с большим трудом удалось добыть информацию о работе ивента во времена БК. Ведь позже его ослабили, уменьшили число демонов из порталов. Однако после разработки игроки все как один стали писать что ивент не проходим, и на других серверах он работает. Тогда мы провели исследования и обнаружили, что нет серверов где бы он работал как положено. Возможно за исключением одного-двух. На тех серверах где он якобы работал - он был ослаблен настолько, что игроки могли даже выйти из игры после его запуска, а через 10 минут зайти и он не был провален. Объекты не требовалось перезапускать, демонов практически не было, а так где были, один были ослаблены так, что убивались одним-двумя игроками. ГМам даже пришлось собрать группу в 5 человек, специально одеться в слабую экипировку и пройти этот ивент самим, с записью прохождения на видео. Только так они могли доказать что он не сложный, и пройти его можно не одеваясь в рейдах.

Наша попытка сделать бесплатный и бездонатный сервер БК World of Warcraft, и что из этого вышло

Собственные ивенты.

Т.к. у меня появилось свободное время, и не стало требоваться постоянно переделывать ядро и фиксить по кругу одни и те же вещи, я смог уделить время ивентам. Один из них - это рейдовый босс, рассчитанный на десять человек. Игроки смогли его победить, но им пришлось собрать 15 человек для победы. Разработка такого босса - это интересный опыт. Спустя 9 месяцев постоянной работы над ядром, опыта стало достаточно для попытки. Бой с боссом был реализован в виде мини-ивента: появляется арена для боя и нпц, через диалог с которым рейд может бросить боссу вызов. Когда вызов брошен, выполняется небольшой скрипт, но типу того как вызывался Король-Лич в своем боя. Нпц подходит к боссу, кричит ему фразы, босс активируется. Дальше начинается бой. У босса несколько фаз, и это фазы разного типа. К примеру на последней фазе босс находится в оборонительной стойке и не получает урона от игроков, а нпц старается пробить его броню. В это время босс стакает на себе баффы ярости, с каждым стаком он становится все сильнее и увеличивается в размерах. Так же он призывает мелких аддов на помощь и иногда даем им баффы ярости. В определенное время нпц пробивает броню босса и игроки могут нанести ему урон. Все это сопровождается фразами и эмоциями. Если игроки за несколько таких попыток не успеют добить босса и он соберет 10 стаков баффа ярости - то он снимает оборонительную стойки и убивает рейд. Это все лишь одна фаза. После победы над боссом помогающий игрокам нпц говорит финальные фразы, эмоции и завершает ивент. По сути такие же ивенты Близзард обычно делает для финальных боссов рейдов. Такой небольшой ивент сейчас занимает где-то 12-14 чистых часов разработки. Потом тестирование и доработка. Чтобы не уйти от Близлайк темы, мы решили не делать эти ивенты постоянными. Они лишь запускались по расписания, либо ГМом.

Релиз.

До релиза мы хотели сделать еще 2-3 ивента. У нас даже есть заготовки идей. Однако всплыл тот самый баг, который был пропущен на заморозке ядра. Из-за чего весь релиз был под угрозой. Тут мы попали в свою же ловушку. Объявив о релизе мы не могли перенести дату или отказаться от него, но с этим багом мы не могли сделать релиз. Даже краш не так страшен как зависание, ведь краш легко отследить и пофиксить. А тут мы даже не видим что ядро зависло, и не можем даже его перезапустить. Нам помогла случайность, один из игроков заметил что ядро зависает при его определенных действиях. Мы несколько дней искали причину и научились вызывать зависание ядра со 100% вероятностью. Смогли определить место и найти решение проблемы. Игрока указавшего нам на проблему наградили маунтом. 17 мая мы сделали релиз. Для игроков это ничего не значило, ведь то небольшое количество игровых персонажей которое было на ОБТ мы не стали обнулять. Это была их награда за то, что помогали нам искать баги и тестировать фиксы.

Наша попытка сделать бесплатный и бездонатный сервер БК World of Warcraft, и что из этого вышло

Чем все закончилось.

По итогу график полностью сорвали, из 16 роликов сделали всего 4. Такое сотрудничество, как сделали они, вообще в реальном мире не должно работать. Попробуйте согласиться где-нибудь на поставки продукции, взять деньги и отказаться работать.

После релиза игроки стали у нас регистрироваться и играть. Теперь онлайн был уже не 20 человек, а доходил в пике по 120 (различных людей, которые подключались ежедневно было около 500). Конечно этого недостаточно для такого сервера, однако я по себе знаю что и 50 человек нам хватало в 2007 году, если эти люди хотят играть.

Когда мы релизили сервер, мы заказали рекламу у различных владельцев каналов, посвященных wow. Это оказалось всего 5 каналов. Был разработан график, по которому должны были выходить ролики каждую неделю вплоть до сентября. Непрерывная реклама в течении почти четырех месяцев.

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

По итогу график полностью сорвали, из 16 роликов сделали всего 4. Такое сотрудничество, как сделали они, вообще в реальном мире не должно работать. Попробуйте согласиться где-нибудь на поставки продукции, взять деньги и отказаться работать. В лучшем случае просто подловят и надают по шее. Но в интернете все можно делать безнаказанно. Особенно весело смотрелся тот момент, что до сих пор, некоторые их этих “исполнителей” пишут нам: “А не хотите у меня еще что-нибудь заказать? А что не так, я не хотел делать вам ролики и не делал, а теперь готов и хочу. Первый же ролик сделал!”.

После такого релиза и кидалова рекламодателей, у людей в команде совсем пропало желание что-то дальше делать. В одиночку я тоже не хотел все тянуть на одном себе. Тогда у нас встал вопрос о его отключении. Мы собрались, обсудили. Решили что раз он оказался никому не нужен, то надо отключать и не тратить больше на это силы.

Наша попытка сделать бесплатный и бездонатный сервер БК World of Warcraft, и что из этого вышло

Отношение игроков к донату.

Пообщавшись с игроками на форуме, в группе, на дискорде и в привате, я сделал такой вывод: игрокам не нужен сервер без доната.

На протяжении всего срока работы, нам постоянно писали в личку и в группу игроки. Почти все из них пытались называть нас “донат-машиной”. Подтвердить свои слова они не могли, но даже и не пытались. На пояснения что мы уже три-пять-десять месяцев работаем безо всякого доната, нам отвечали что вот-вот он появится. А когда не появлялся - писали что уж через месяц точно будет.

Другая группа игроков разрывала ГМам личку с просьбами что-то им продать, нарисовать, подкрутить. Смешно смотрелись скрины одного и того же игрока, который в открытую пишет в общем чате, что не приемлет донат вообще ни в каком виде, и не уважает донатеров, а в приват ГМу пишет: “Да продай мне за 5к шмоточку”. Пообщавшись с игроками на форуме, в группе, на дискорде и в привате, я сделал такой вывод: игрокам не нужен сервер без доната. Все ваши (и наши) попытки что-то сделать для людей бесплатно никому не интересны. Слова и действия большинства игроков расходятся по всем пунктам. Скажем так - то за что не заплачены деньги чаще всего не ценится вообще.

Точно так же игроками не ценится бесплатная работа по поддержке, разработке и реализации чего угодно в игре. Вы можете поставить любую глючную сборку и продать на ней сет. И этот купленный сет на лагающем и крашащемся реалме игроками будет цениться больше, чем заработанный сплоченными действиями команды такой же сет на стабильно работающем сервере. Хотя во втором случае такой сет будет лишь у этой команды и их будет знать весь сервер поименно.

Также игроками принимается как само собой разумеющееся любая ваша доработка или любой ваш фикс.

Ввели базу знаний? А вы давно должны были её ввести, какого хрена не вводили, нам пофиг что у вас работа бесплатная - вы должны.

Ввели форум? Неужели. А он у вас хреновый, виснет, глючит. И вообще никому не нужен.

Не ввели форум? Какого хрена у вас его нет, как вы смеете позиционировать себя разработчиками если у вас уже третий месяц нет форума.

И т.д. и т.п.

Вообще после всего этого опыта я стал гораздо лояльнее относиться к донату. Хоть сам никогда на такой сервер не пойду играть, но все же понимаю разработчиков которые так кидают игроков. Как относятся к ним игроки, так относятся к игрокам и они. Для многих вообще считается нормально поднять сервер, нарубить за пару месяцев доната и отключиться его. Игроки сами поддерживают такую систему, и думаю они её достойны.

В противовес самому же себе хочу сказать что адекватные люди тоже присутствуют. Многие нам предлагали деньги, просто так. Были даже люди которые 50-100к предлагали просто перевести на кошелек как поддержку для развития. Но я побоялся брать такие деньги, ведь наша разработка уже превратилась бы не в хобби, а в коммерческий проект. Были люди, которые очень активно сдавали баги, которые сдавали читеров и всячески пытались поддержать проект по мере сил. Были люди которые тратили свое время чтобы искать по старым форумам записи о работе официального сервера времен БК, чтобы мы оттуда взяли информацию для разработки своих фиксов.

Ну и я бы не сказал что россияне или белорусы, украинцы как-то различаются в отношении к проекту. Хоть и существует стереотип что россияне хуже в этом смысле, готовы лгать, багоюзить, пытаются выкупить разбаны. Однако среди них мне встретилось очень много адекватных игроков. А вот к примеру среди белорусов встретились не совсем приятные люди. Хоть сам я и из Минска, но приходится это признавать. Скорее всего, увлеченные фанаты wow с большей вероятностью будут помогать в развитии. Или хотя бы не чмырить).

Наша попытка сделать бесплатный и бездонатный сервер БК World of Warcraft, и что из этого вышло

Подведение итогов.

Мы проработали 15 месяцев. С апреля 2018 до июня 2019 года.

По затратам у нас вышло

  • около 100000 рублей затрат на хостинг
  • около 30000 рублей мелких затрат (всякая платная мелочь для разработки, поднятие второго сервера как ПТР, белые IP, оплата сим-карт, разработка баннера, домен, мелкие куски дизайна и т.д.)
  • около 70000 рублей затрат на рекламу перед релизом (планировали отдать гораздо больше, но по сути рекламу сделать было негде, я описал выше как каналы отнеслись к плану и графику)
  • около 60000 рублей затрат на рекламу в процессе 14 месяцев до релиза (по чуть-чуть каждый месяц, чтобы просто упомянуть о том что такой сервер вообще существует).

Если разделить затраты на 5 человек и на 15 месяцев, то выйдет под 3500 в месяц с человека. Это я пишу чтобы не казалось что вышли какие-то сильно крупные суммы.

Результат нашей работы после полного отключения серверов остался лежать у меня на флешке. Включая локализацию, античиты, базы данных, сайт, базы знаний, исходники ядра, разработанные ивенты, скрипты квестов и боссов написанные мной лично.

Не думаю что это уже мне пригодится, но опыт был интересный.

Спасибо тем кто дочитал до конца. Мне хотелось просто описать свой опыт. Кому-то это может быть полезно.

4949 показов
28K28K открытий
167 комментариев

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

Ответить

Ответил случайно не там.

Спасибо. Тяжело именно начинать, особенно тяжко что спросить не у кого было. Еще куча проблем с вещами не связанными с ядром. Хост, порты, защита, веб-сервера, постоянные тупые атаки на нас (хотя кому мы мешали?).
Когда уже месяцев 6 поработаешь, то дальше многие фиксы делаешь на автомате. Единственное боялся лезть в незнакомые части ядра, чтобы не сломать его.
Так вышло, что сейчас не существует людей, которые бы знали ядро полностью и досконально. Тот же БК разрабатывался 10+ лет командой энтузиастов, люди приходили, уходили, что-то дописывали. Если лезешь в систему кастов, то готовься что фикс одного каста сломает все АОЕ, или фикс поиска точки движения под землей сломает движения всех мобов на земле. Я на такое попадался.
Поэтому даже в больших командах вся команда ждет пока сможет что-то пофиксить человек, кто разбирается в каком-то куске. Иногда по полгода ждут.

Ответить

игрокам не нужен сервер без доната.

Игрокам не нужен ПИРАТСКИЙ сервер без доната.

Ответить

Да, естественно вся речь в тексте идет только о пиратских серверах. И выводы делаются только по пиратским серверам. И сравниваются между собой только пиратские сервера. Как можно равнять пиратку с оффом?
На данный момент БК оффа нету, так что игроки физически не могут уйти на бездонатный БК офф. Но если он появится, думаю туда уйдут все кто БК любит.

Ответить

Убираем с официальных серверов все услуги за реал - слушаем многоголосый плач.

Ответить

Это очень полезный пост. Но с одним я не согласен - с тем что вы закрыли сервер.
Я не играю в ВоВ, но играл в lineage 2. И для линейки есть например серверы firebird или lacrafter на которых играют считанные десятки людей, но это продолжается годами уже. И их не планируют закрывать, потому что люди играют там. Именно без доната на честных условиях. Такие дела.

Ответить

Комментарий недоступен

Ответить